[jboss-jira] [JBoss JIRA] Commented: (EJBTHREE-983) @EJB injection fails, RuntimeException, IllegalArgumentException

jaikiran pai (JIRA) jira-events at lists.jboss.org
Wed Oct 13 02:21:40 EDT 2010


    [ https://jira.jboss.org/browse/EJBTHREE-983?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12556665#action_12556665 ] 

jaikiran pai commented on EJBTHREE-983:
---------------------------------------

Which version of JBoss AS are you using? There's no more development going on for community JBoss AS 4.x. If possible upgrade to JBoss AS5 or JBoss AS6 and see if that solves the issue.


> @EJB injection fails, RuntimeException, IllegalArgumentException
> ----------------------------------------------------------------
>
>                 Key: EJBTHREE-983
>                 URL: https://jira.jboss.org/browse/EJBTHREE-983
>             Project: EJB 3.0
>          Issue Type: Bug
>          Components: EJB3 Extensions
>    Affects Versions: EJB 3.0 RC9 - Patch 1, AS 4.2.0 GA
>         Environment: Debian Linux, Sun Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_12-b04)
>            Reporter: dpocock
>            Assignee: William DeCoste
>
> Similar to bug EJBTHREE-862.  However, setting `Isolated' to false in $JBOSS_HOME/server/XXX/deploy/ear-deployer.xml does not resolve the issue for me.
> Here is the scenario:
> There are two applications, app1.ear and app2.ear.
> app1.ear contains a stateless session bean, App1Bean, with local and remote interface
> app2.ear contains a stateless session bean, App2Bean, which has a field defined like so:
> @EJB(mappedName="app1/App1Bean/local")  // I've tried local and remote
> com.app1.ejb.session.App1 app1;
> app1.ear and app2.ear are loaded successfully by the application server.
> When App2Bean is activated, JBoss tries to perform the injections.  At this point, the RuntimeException (see stack below) occurs.
> App2Bean can successfully obtain a reference to app1 bean using the traditional JNDI lookup methods.  This is a workaround.
> When inspecting the stack, notice the presence of IllegalArgumentException, even though the interface matches.
> 16:22:12,155 ERROR [STDERR] java.lang.RuntimeException: Non matching type for inject of field: App1Bean app1 for type: $Proxy79 of jndiName env/App2Bean/app2
> intfs: , App1, org.jboss.ejb3.JBossProxy, javax.ejb.EJBObject
> 16:22:12,155 ERROR [STDERR] at org.jboss.injection.JndiFieldInjector.inject(JndiFieldInjector.java:135)
> 16:22:12,155 ERROR [STDERR] at org.jboss.injection.JndiFieldInjector.inject(JndiFieldInjector.java:104)
> 16:22:12,155 ERROR [STDERR] at org.jboss.injection.JndiFieldInjector.inject(JndiFieldInjector.java:61)
> 16:22:12,155 ERROR [STDERR] at org.jboss.ejb3.AbstractPool.create(AbstractPool.java:92)
> 16:22:12,155 ERROR [STDERR] at org.jboss.ejb3.ThreadlocalPool.get(ThreadlocalPool.java:48)
> 16:22:12,165 ERROR [STDERR] at org.jboss.ejb3.cache.simple.SimpleStatefulCache.create(SimpleStatefulCache.java:209)
> 16:22:12,165 ERROR [STDERR] at org.jboss.ejb3.stateful.StatefulContainer.dynamicInvoke(StatefulContainer.java:303)
> 16:22:12,165 ERROR [STDERR] at org.jboss.aop.Dispatcher.invoke(Dispatcher.java:106)
> 16:22:12,165 ERROR [STDERR] at org.jboss.aspects.remoting.AOPRemotingInvocationHandler.invoke(AOPRemotingInvocationHandler.java:82)
> 16:22:12,175 ERROR [STDERR] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:828)
> 16:22:12,175 ERROR [STDERR] at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:681)
> 16:22:12,175 ERROR [STDERR] at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:358)
> 16:22:12,175 ERROR [STDERR] at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:412)
> 16:22:12,175 ERROR [STDERR] at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:239)
> 16:22:12,185 ERROR [STDERR] Caused by: java.lang.IllegalArgumentException
> 16:22:12,185 ERROR [STDERR] at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63)
> 16:22:12,185 ERROR [STDERR] at java.lang.reflect.Field.set(Field.java:656)
> 16:22:12,185 ERROR [STDERR] at org.jboss.injection.JndiFieldInjector.inject(JndiFieldInjector.java:119)
> 16:22:12,185 ERROR [STDERR] ... 13 more 

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

        


More information about the jboss-jira mailing list