Isolated EJB2 Access from a Client - Jboss 4.3 EAP
limacon Jun 18, 2013 1:48 AMHi..
I have a task to Isolate Class libraries between 2 Enterprise Application A.ear and B.ear. B EJB requires to Access A's Remote EJB, but it is throwing exception. But calling A's client to call A's ejb does not have a problem.What am I missing? The failure is very very odd because it is saying ClassNotfound for an object in B while B is accessing EJB in A. The class is in B's lib directory. Stacktrace below:
2013-06-18 13:22:51,644 ERROR [com.cassis.reqmgr.jobmgr.ExecuteJob_Bean] executeAsyncJob(): Exception: java.rmi.MarshalException: MarshalException; nested exception is:
org.jboss.invocation.JBossLazyUnmarshallingException: getArguments failed
2013-06-18 13:22:51,645 ERROR [STDERR] java.lang.Exception: java.rmi.MarshalException: MarshalException; nested exception is:
org.jboss.invocation.JBossLazyUnmarshallingException: getArguments failed
2013-06-18 13:22:51,645 ERROR [STDERR] at com.cassis.reqmgr.jobmgr.ExecuteJob_Bean.performIPU(ExecuteJob_Bean.java:209)
2013-06-18 13:22:51,645 ERROR [STDERR] at com.cassis.reqmgr.jobmgr.ExecuteJob_Bean.executeAsyncJob(ExecuteJob_Bean.java:95)
2013-06-18 13:22:51,645 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
2013-06-18 13:22:51,645 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
2013-06-18 13:22:51,645 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2013-06-18 13:22:51,645 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
2013-06-18 13:22:51,645 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.ejb3.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:57)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.ejb3.timer.TimerTxRegistrationInterceptor.invoke(TimerTxRegistrationInterceptor.java:38)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.ejb3.timer.TimerTxRegistrationInterceptor.invoke(TimerTxRegistrationInterceptor.java:29)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.aspects.tx.TxPolicy.invokeInNoTx(TxPolicy.java:66)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.aspects.tx.TxInterceptor$NotSupported.invoke(TxInterceptor.java:112)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,646 ERROR [STDERR] at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:94)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:70)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.ejb3.tx.NullInterceptor.invoke(NullInterceptor.java:42)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:77)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:139)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:46)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.ejb3.interceptor.EJB3TCCLInterceptor.invoke(EJB3TCCLInterceptor.java:86)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:217)
2013-06-18 13:22:51,647 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:187)
2013-06-18 13:22:51,648 ERROR [STDERR] at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:81)
2013-06-18 13:22:51,648 ERROR [STDERR] at $Proxy586.executeAsyncJob(Unknown Source)
2013-06-18 13:22:51,648 ERROR [STDERR] at com.cassis.reqmgr.jobmgr.ExecuteJobInvoker.invokeExecuteAsyncJob(ExecuteJobInvoker.java:74)
2013-06-18 13:22:51,648 ERROR [STDERR] at com.cassis.reqmgr.jobmgr.ExecuteJobInvoker.run(ExecuteJobInvoker.java:63)
2013-06-18 13:22:51,648 ERROR [STDERR] at java.lang.Thread.run(Thread.java:662)
2013-06-18 13:22:51,648 ERROR [STDERR] Caused by: java.rmi.MarshalException: MarshalException; nested exception is:
org.jboss.invocation.JBossLazyUnmarshallingException: getArguments failed
2013-06-18 13:22:51,648 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:1010)
2013-06-18 13:22:51,648 ERROR [STDERR] at sun.reflect.GeneratedMethodAccessor137.invoke(Unknown Source)
2013-06-18 13:22:51,648 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
2013-06-18 13:22:51,648 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:597)
2013-06-18 13:22:51,648 ERROR [STDERR] at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
2013-06-18 13:22:51,648 ERROR [STDERR] at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
2013-06-18 13:22:51,648 ERROR [STDERR] at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
2013-06-18 13:22:51,648 ERROR [STDERR] at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
2013-06-18 13:22:51,649 ERROR [STDERR] at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
2013-06-18 13:22:51,649 ERROR [STDERR] at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
2013-06-18 13:22:51,649 ERROR [STDERR] at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
2013-06-18 13:22:51,649 ERROR [STDERR] at org.jboss.invocation.InvokerInterceptor.invokeLocalMarshalled(InvokerInterceptor.java:295)
2013-06-18 13:22:51,649 ERROR [STDERR] at org.jboss.invocation.MarshallingInvokerInterceptor.invoke(MarshallingInvokerInterceptor.java:61)
2013-06-18 13:22:51,649 ERROR [STDERR] at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
2013-06-18 13:22:51,649 ERROR [STDERR] at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
2013-06-18 13:22:51,649 ERROR [STDERR] at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
2013-06-18 13:22:51,649 ERROR [STDERR] at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
2013-06-18 13:22:51,649 ERROR [STDERR] at $Proxy588.execute(Unknown Source)
2013-06-18 13:22:51,649 ERROR [STDERR] at com.cassis.reqmgr.jobmgr.ExecuteJob_Bean.performIPU(ExecuteJob_Bean.java:199)
2013-06-18 13:22:51,649 ERROR [STDERR] ... 43 more
2013-06-18 13:22:51,649 ERROR [STDERR] Caused by: org.jboss.invocation.JBossLazyUnmarshallingException: getArguments failed
2013-06-18 13:22:51,650 ERROR [STDERR] at org.jboss.invocation.MarshalledInvocation.getArguments(MarshalledInvocation.java:513)
2013-06-18 13:22:51,650 ERROR [STDERR] at org.jboss.ejb.Container.invoke(Container.java:924)
2013-06-18 13:22:51,650 ERROR [STDERR] ... 61 more
2013-06-18 13:22:51,650 ERROR [STDERR] Caused by: java.lang.ClassNotFoundException: No ClassLoaders found for: com.cassis.reqmgr.bo.basic.ProgramUnitType
2013-06-18 13:22:51,650 ERROR [STDERR] at org.jboss.mx.loading.LoadMgr3.beginLoadTask(LoadMgr3.java:306)
2013-06-18 13:22:51,650 ERROR [STDERR] at org.jboss.mx.loading.RepositoryClassLoader.loadClassImpl(RepositoryClassLoader.java:534)
2013-06-18 13:22:51,650 ERROR [STDERR] at org.jboss.mx.loading.RepositoryClassLoader.loadClass(RepositoryClassLoader.java:428)
2013-06-18 13:22:51,650 ERROR [STDERR] at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
2013-06-18 13:22:51,650 ERROR [STDERR] at java.lang.Class.forName0(Native Method)
2013-06-18 13:22:51,650 ERROR [STDERR] at java.lang.Class.forName(Class.java:247)
2013-06-18 13:22:51,650 ERROR [STDERR] at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:603)
2013-06-18 13:22:51,650 ERROR [STDERR] at org.jboss.invocation.MarshalledValueInputStream.resolveClass(MarshalledValueInputStream.java:109)
2013-06-18 13:22:51,650 ERROR [STDERR] at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1574)
2013-06-18 13:22:51,650 ERROR [STDERR] at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1495)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1731)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1946)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1870)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1752)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1328)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readArray(ObjectInputStream.java:1666)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1322)
2013-06-18 13:22:51,651 ERROR [STDERR] at java.io.ObjectInputStream.readObject(ObjectInputStream.java:350)
2013-06-18 13:22:51,652 ERROR [STDERR] at org.jboss.invocation.MarshalledValue.get(MarshalledValue.java:91)
2013-06-18 13:22:51,652 ERROR [STDERR] at org.jboss.invocation.MarshalledInvocation.getArguments(MarshalledInvocation.java:509)
2013-06-18 13:22:51,652 ERROR [STDERR] ... 62 more
I only saw a few having the same problem but no concrete solution. Any help will be very much appreciated.
A's jboss-app.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-app PUBLIC
"-//JBoss//DTD J2EE Application 1.4//EN"
"http://www.jboss.org/j2ee/dtd/jboss-app_4_0.dtd">
<jboss-app>
<loader-repository>A:archive=A.ear</loader-repository>
</jboss-app>
A's jboss-classloading xml
<?xml version="1.0" encoding="UTF-8"?>
<classloading xmlns="urn:jboss:classloading:1.0"
parent-first="false"
domain="A.ear"
top-level-classloader="true"
parent-domain="DefaultDomain"
export-all="ALL"
import-all="true">
</classloading>
A's ejb jboss.xml
<loader-repository>A:archive=A.ear</loader-repository>
<classloading xmlns="urn:jboss:classloading:1.0"
parent-first="false"
domain="A_Ejb.jar"
top-level-classloader="true"
parent-domain="A.ear"
export-all="NON_EMPTY"
import-all="true">
</classloading>
B's jboss-app xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE jboss-app PUBLIC
"-//JBoss//DTD J2EE Application 1.4//EN"
"http://www.jboss.org/j2ee/dtd/jboss-app_4_0.dtd">
<jboss-app>
<loader-repository>B:archive=B.ear<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
</loader-repository>
</jboss-app>
B's jboss-classloading xml
<?xml version="1.0" encoding="UTF-8"?>
<classloading xmlns="urn:jboss:classloading:1.0"
domain="B.ear"
top-level-classloader="true"
export-all="ALL"
import-all="true">
</classloading>
B's ejb jboss xml
<loader-repository>RequestManager:archive=TSM.ear<loader-repository-config>java2ParentDelegation=false</loader-repository-config>
B's ejb jboss classloading xml
<?xml version="1.0" encoding="UTF-8"?>
<classloading xmlns="urn:jboss:classloading:1.0"
parent-first="false"
domain="B_ejb.jar"
top-level-classloader="true"
parent-domain="B.ear"
export-all="NON_EMPTY"
import-all="true">
</classloading>
Any help will be very much appreaciated.
Thanks and regards,
Rodel