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

Marek Schmidt (JIRA) jira-events at lists.jboss.org
Thu Mar 14 08:34:42 EDT 2013

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

Marek Schmidt commented on JBSEAM-5079:

A possible workaround should be to specify the jndi-names in components.xml

<component class="com.acme.foo.MySLSB" jndi-name="java:app/MyEjb1/MySLSB"/>

or use the @JndiName("java:app/MyEjb1/MySLSB") annotation on the MySLSB.
> 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