[seam-issues] [JBoss JIRA] (JBSEAM-5079) Ejb bean injection between multiple Ejb module

Marek Novotny (JIRA) jira-events at lists.jboss.org
Mon Mar 18 04:12:42 EDT 2013


    [ https://issues.jboss.org/browse/JBSEAM-5079?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12761502#comment-12761502 ] 

Marek Novotny commented on JBSEAM-5079:
---------------------------------------

Karoly, it is not a bug. you specify the JNDI path to EJBs in Seam Component configuration. So it is not a "prediction". The way how Java EE 6 changed portable JNDI syntax is the difference. Look at http://docs.oracle.com/cd/E19798-01/821-1841/girgn/index.html. 

In case of EAR deployment, application and module is mandatory in JNDI syntax. if you expect that Seam looks for proper module in EAR then it is a new feature from Seam point of view in Seam-EJB integration. 
                
> Ejb bean injection between multiple Ejb module
> ----------------------------------------------
>
>                 Key: JBSEAM-5079
>                 URL: https://issues.jboss.org/browse/JBSEAM-5079
>             Project: Seam 2
>          Issue Type: Bug
>          Components: EJB3
>    Affects Versions: 2.3.0.Final
>         Environment: JBoss 7.1.1
> Seam 2.3
>            Reporter: Karoly Torok
>            Priority: Minor
>              Labels: injection, seam, slsb
>
> I'm trying to inject SLSB-s between multiple EJB module/project. These SLSBs are also Seam components (therefore they have both @Name and @Stateless annotation + @Local).
> The problem is that each time i want to inject a Bean from another project/module, Seam predicts that the component is under the module from where i inject.
> Consider the following:
>  * MyEar.ear
>  ** MyEjb1.jar
>  *** MySLSB.class
>  ** MyEjb2.jar
>  *** MySeamComponent.class
>  ** MyWar.war
> Here i want to inject the MySLSB from the MySeamComponent. However they both belong to separate modules. Behind the curtain Seam predicts that the MySLSB is under the MyEjb2 module. Altough its not.
> Exception:
> {quote}
> Caused by: javax.naming.NameNotFoundException: MyEjb2/MySLSB -- service jboss.naming.context.java.app.MyEar.MyEjb2.MySLSB
> 	at org.jboss.as.naming.ServiceBasedNamingStore.lookup(ServiceBasedNamingStore.java:97)
> 	at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:178)
> 	at org.jboss.as.naming.InitialContext.lookup(InitialContext.java:123)
> 	at org.jboss.as.naming.NamingContext.lookup(NamingContext.java:214)
> 	at javax.naming.InitialContext.lookup(InitialContext.java:392) [rt.jar:1.6.0_21]
> 	at org.jboss.seam.Component.instantiateSessionBean(Component.java:1407) [jboss-seam.jar:2.3.0.Final]
> 	at org.jboss.seam.Component.instantiate(Component.java:1370) [jboss-seam.jar:2.3.0.Final]
> 	at org.jboss.seam.Component.newInstance(Component.java:2186) [jboss-seam.jar:2.3.0.Final]
> {quote}
> I'm aware of that from JBoss v7 each beans are binded to a separate namespaces if they are belong to separate modules. Altough im not sure this is the default behaviour if the modules are not isolated (ear-subdeployments-isolated = false).
> Any suggestion is warmly welcome.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the seam-issues mailing list