[jbossseam-issues] [JBoss JIRA] Commented: (JBSEAM-3034) EJB Session Bean Injection using @In Glassfish server

Shane Blake (JIRA) jira-events at lists.jboss.org
Sun Jun 15 23:19:33 EDT 2008


    [ http://jira.jboss.com/jira/browse/JBSEAM-3034?page=comments#action_12417221 ] 
            
Shane Blake commented on JBSEAM-3034:
-------------------------------------

Follow-up.

I have got this to work for WebSphere 6.1 and I see no reason why it couldnt with Glassfish.

For WebSphere I had to add an ejb-local-ref to the ejb.jar Deployment Descriptor for those beans that had @In injections.

What this does is add the java:comp/env Context to your EJB container (in a similar way to how the same contexts are added to the Web Container when you configure references within the Web Deployment Descriptor.)

As long as the reference NAMES are the same in both containers then the lookup and "injection" can work correctly.

> EJB Session Bean Injection using @In Glassfish server 
> ------------------------------------------------------
>
>                 Key: JBSEAM-3034
>                 URL: http://jira.jboss.com/jira/browse/JBSEAM-3034
>             Project: Seam
>          Issue Type: Bug
>          Components: Platform interoperability
>    Affects Versions: 2.0.1.GA
>         Environment: Glassfish Application Server V2ur2
>            Reporter: Senthilkumar Muthusamy
>             Fix For: 2.1.0.BETA1
>
>
> I have 2 stateless ejbs, from MasterBean and SlaveBean, i am trying inject SlaveBeanusing @In annotation. I got below exception 
> Caused by: org.jboss.seam.InstantiationException: Could not instantiate Seam component: slave
> 	at org.jboss.seam.Component.newInstance(Component.java:1970)
> 	at org.jboss.seam.Component.getInstance(Component.java:1873)
> 	at org.jboss.seam.Component.getInstance(Component.java:1840)
> 	at org.jboss.seam.Component.getInstanceInAllNamespaces(Component.java:2182)
> 	at org.jboss.seam.Component.getValueToInject(Component.java:2134)
> 	at org.jboss.seam.Component.injectAttributes(Component.java:1598)
> 	at org.jboss.seam.Component.inject(Component.java:1416)
> 	at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:45)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke(EntityManagerProxyInterceptor.java:26)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInvoke(HibernateSessionProxyInterceptor.java:27)
> 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
> 	at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:118)
> 	at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:50)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at com.sun.ejb.containers.interceptors.AroundInvokeInterceptor.intercept(InterceptorManager.java:579)
> 	at com.sun.ejb.containers.interceptors.AroundInvokeChainImpl.invokeNext(InterceptorManager.java:483)
> 	at com.sun.ejb.containers.interceptors.InterceptorManager.intercept(InterceptorManager.java:205)
> 	at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3978)
> 	at com.sun.ejb.containers.EJBLocalObjectInvocationHandler.invoke(EJBLocalObjectInvocationHandler.java:197)
> 	... 53 more
> Caused by: javax.naming.NameNotFoundException: No object bound to name java:comp/env/evolve/SlaveBean/local
> 	at com.sun.enterprise.naming.NamingManagerImpl.lookup(NamingManagerImpl.java:834)
> 	at com.sun.enterprise.naming.java.javaURLContext.lookup(javaURLContext.java:173)
> 	at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:396)
> 	at javax.naming.InitialContext.lookup(InitialContext.java:392)
> 	at org.jboss.seam.Component.instantiateSessionBean(Component.java:1287)
> 	at org.jboss.seam.Component.instantiate(Component.java:1273)
> 	at org.jboss.seam.Component.newInstance(Component.java:1966)
> 	... 78 more
> Please look at the below link for more details and how to reproduce.
> http://www.seamframework.org/Community/AuthenticationUsingSeamRemoting
> http://www.seamframework.org/Community/EJBSLSBInjectionIssues

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

        



More information about the seam-issues mailing list