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

Karoly Torok (JIRA) jira-events at lists.jboss.org
Mon Mar 18 03:14:07 EDT 2013


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

Karoly Torok commented on JBSEAM-5079:
--------------------------------------

Indeed, you are right about that workaround. And i was already aware of it.

Although i dont think this can be a possible solution/scalable when we have to inject several SLSB from different modules.
However @JndiName would be a possible workaround but i dont want to reveal the full JNDI namespace for all SLSB, moreover i have to reveal the implementation (e.g.: not the business interface) of SLSB in the @JndiName. 
                
> 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