[jboss-remoting-issues] [JBoss JIRA] Commented: (JBREM-1000) CLONE [JBREM-962] - Remote classloading does not work with Isolated EARs

Ron Sigal (JIRA) jira-events at lists.jboss.org
Sat Aug 9 04:23:49 EDT 2008


    [ https://jira.jboss.org/jira/browse/JBREM-1000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12424315#action_12424315 ] 

Ron Sigal commented on JBREM-1000:
----------------------------------

See new forum thread: http://www.jboss.com/index.html?module=bb&op=viewtopic&t=138067.

Backed out changes from branch 2.2, replacing use of classloader repositories with classloaders.  It's now possible to declaratively inject classloaders with the microcontainer.  In particular, a list of classloaders may be injected into org.jboss.remoting.transport.Connector in one of two ways:

  1) through Connector.setRemoteClassLoaders(List classLoaders)

  2) through the use of the org.jboss.remoting.Remoting.REMOTE_CLASS_LOADERS key (actual value "remoteClassLoaders"), in either the configuration map or an injected org.jboss.remoting.ServerConfiguration.

Note that in the presence of a SecurityManager, both of these methods require the calling code to have RuntimePermission("setContextClassLoader").

Unit test: org.jboss.test.remoting.marshall.dynamic.remote.classloaders.InjectedClassloadersTestCase.

Waiting for hudson results.

> CLONE [JBREM-962] - Remote classloading does not work with Isolated EARs
> ------------------------------------------------------------------------
>
>                 Key: JBREM-1000
>                 URL: https://jira.jboss.org/jira/browse/JBREM-1000
>             Project: JBoss Remoting
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: 2.4.0.GA (Pinto)
>         Environment: EAP4.3
>            Reporter: Magesh Kumar B
>            Assignee: Ron Sigal
>             Fix For: 2.4.0.SP1
>
>
> When user has enabled isolation in a ear file containing an EJB3 jar file, the implementation classes are not serialized and a ClassNotFoundException is thrown. I have attached a sample called HelloEJB3.zip that contains all files needed for deploying this test case. Using EAP4.3 do "ant deploy" and then do "ant test".
> When the jboss-app.xml is removed the application client works fine. This fails in the isolated mode with the below exception:
> Caused by: java.lang.ClassNotFoundException: org.jboss.ejb3.user.UserImpl
>     at org.jboss.remoting.serialization.ClassLoaderUtility.loadClass(ClassLoaderUtility.java:82)
>     at org.jboss.remoting.loading.RemotingClassLoader.loadClass(RemotingClassLoader.java:76)
>     at java.lang.ClassLoader.loadClassInternal(Unknown Source)
>     at java.lang.Class.forName0(Native Method)
>     at java.lang.Class.forName(Unknown Source)
>     at org.jboss.remoting.loading.ObjectInputStreamWithClassLoader.resolveClass(ObjectInputStreamWithClassLoader.java:174)
>     at java.io.ObjectInputStream.readNonProxyDesc(Unknown Source)
>     at java.io.ObjectInputStream.readClassDesc(Unknown Source)
>     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>     at java.io.ObjectInputStream.readObject0(Unknown Source)
>     at java.io.ObjectInputStream.readObject(Unknown Source)
>     at org.jboss.aop.joinpoint.InvocationResponse.readExternal(InvocationResponse.java:122)
>     at java.io.ObjectInputStream.readExternalData(Unknown Source)
>     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>     at java.io.ObjectInputStream.readObject0(Unknown Source)
>     at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
>     at java.io.ObjectInputStream.readSerialData(Unknown Source)
>     at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
>     at java.io.ObjectInputStream.readObject0(Unknown Source)
>     at java.io.ObjectInputStream.readObject(Unknown Source)
>     at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObjectVersion2_2(JavaSerializationManager.java:239)
>     at org.jboss.remoting.serialization.impl.java.JavaSerializationManager.receiveObject(JavaSerializationManager.java:133)
>     at org.jboss.remoting.marshal.serializable.SerializableUnMarshaller.read(SerializableUnMarshaller.java:120)
>     at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.versionedRead(MicroSocketClientInvoker.java:919)
>     at org.jboss.remoting.transport.socket.MicroSocketClientInvoker.transport(MicroSocketClientInvoker.java:613)
>     at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:122)
>     at org.jboss.remoting.Client.invoke(Client.java:1634)
>     at org.jboss.remoting.Client.invoke(Client.java:548)
>     at org.jboss.aspects.remoting.InvokeRemoteInterceptor.invoke(InvokeRemoteInterceptor.java:62)
>     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>     at org.jboss.aspects.tx.ClientTxPropagationInterceptor.invoke(ClientTxPropagationInterceptor.java:61)
>     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>     at org.jboss.aspects.security.SecurityClientInterceptor.invoke(SecurityClientInterceptor.java:53)
>     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>     at org.jboss.ejb3.remoting.IsLocalInterceptor.invoke(IsLocalInterceptor.java:74)
>     at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
>     at org.jboss.ejb3.stateless.StatelessRemoteProxy.invoke(StatelessRemoteProxy.java:107) 

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-remoting-issues mailing list