Scoped Ear / EJB Access
mmccormi Jun 28, 2004 7:31 PMI have read through all the suggestions that I could find regarding scoped EARs but am still having an issue as I migrate to scoped ears. I would appreciate your advice.
I have a deployment with 5 EARs. This gives you an idea of the setup.
Security.ear
META-INF/MANIFEST.MF
Security-ejb.jar
Common.jar
META-INF/jboss-app.xml
META-INF/application.xml
Core.ear
META-INF/MANIFEST.MF
Core-ejb.jar
Common.jar
Security-client.jar
META-INF/jboss-app.xml
META-INF/application.xml
App.ear
META-INF/MANIFEST.MF
Common.jar
Core-client.jar
Security-client.jar
WebApp.war
META-INF/jboss-app.xml
META-INF/application.xml
Each jboss-app.xml specifies a classloader and I can see invidual ones being created as I would expect via the JBoss console.
Problem:
I receive the following error when I try to lookup an ejb. The deployment descriptors work for a non-scoped deployment, but as I have moved to scoped ears I receive this error.
javax.ejb.EJBException: Invalid invocation, check your deployment packaging, method=public blah, blah, blah
at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invokeHome(StatelessSessionContainer.java:632)
at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invokeHome(CachedConnectionInterceptor.java:205)
at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invokeHome(StatelessSessionInstanceInterceptor.java:51)
at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:88)
at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:267)
at org.jboss.ejb.plugins.TxInterceptorCMT.invokeHome(TxInterceptorCMT.java:98)
at org.jboss.ejb.plugins.SecurityInterceptor.invokeHome(SecurityInterceptor.java:92)
at org.jboss.ejb.plugins.LogInterceptor.invokeHome(LogInterceptor.java:120)
at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invokeHome(ProxyFactoryFinderInterceptor.java:93)
at org.jboss.ejb.StatelessSessionContainer.internalInvokeHome(StatelessSessionContainer.java:319)
at org.jboss.ejb.Container.invoke(Container.java:720)
The exception is thrown when the home.create() is invoked. I have checked its type and it is cast correctly. It just dies on the create.
In my deployment the *-client.jars contain the homes, remotes, vos, exceptions. The *-ejb.jars contain everything for that systems, ie homes, remotes, EJB, vos, exceptions, defined MANIFEST.MF.
This deployment only contains stateless session beans, no entity.
I tried the using <!-- EAR deployer, remove if you are not using Web layers -->
<!-- Isolate all ears in their own classloader space -->
true
<!-- Enforce call by value to all remote interfaces -->
true
for the conf/jboss-service.xml, but was unable to get the server to restart.
Any ideas?