Hi,
in our JEE App (JEE5) we got several Session Beans (Stateless). Some SBs need others.
Every SB got a @Stateless (name=...) Annotation.
Every SB uses JNDI Lookup to get References to the others SBs.
Therefore a @EJB Annotation is placed for the SB Class to indicate the need for other
SBs.
Example SB1 needs to access methods of SB2.
@Stateless (name="SB1")
@EJB( name = "SB2", beanInterface = SB2.class)
class SB1
{
...
JNDIlookup("java:comp/env/SB2") ;
@Stateless (name="SB2")
class SB2
{
...
Everything works fine here. No problem.
Now SB1 needs to call a method from itself, but not via simple method call but also via a
JNDI-lookup-up instance, to be able to have a different transactiontype
Question #1 is: does SB1 need a @EJB Annotation to itself?
If Answer is yes there is the second question:
Question #2: How is the @EJB Ref specified.
I tried:
@Stateless (name="SB1")
@EJB( name = "SB1", beanInterface = SB1.class)
class SB1
{
...
JNDIlookup("java:comp/env/SB1") ;
Already in the deployment phase JBoss complains (Name SB1 => CMManagement):
DEPLOYMENTS MISSING DEPENDENCIES:
Deployment
"jboss.j2ee:ear=EJB30Reference.ear,jar=sb.jar,name=CMManagement,service=EJB3" is
missing the following dependencies:
Dependency "<UNKNOWN
jboss.j2ee:ear=EJB30Reference.ear,jar=sb.jar,name=CMManagement,service=EJB3>"
(should be in state "Described", but is actually in state "** UNRESOLVED
Demands 'jndi:EJB30Refer
ence/CMManagement/remote-de.heitec.ejb3.cm.model.sb.CMManagement' **")
Deployment
"jboss.j2ee:ear=EJB30Reference.ear,jar=sb.jar,name=CMManagement,service=EJB3_endpoint"
is missing the following dependencies:
Dependency
"jboss.j2ee:ear=EJB30Reference.ear,jar=sb.jar,name=CMManagement,service=EJB3"
(should be in state "Configured", but is actually in state
"PreInstall")
DEPLOYMENTS IN ERROR:
Deployment "<UNKNOWN
jboss.j2ee:ear=EJB30Reference.ear,jar=sb.jar,name=CMManagement,service=EJB3>" is
in error due to the following reason(s): ** UNRESOLVED Demands
'jndi:EJB30Reference/CMManagement
/remote-de.heitec.ejb3.cm.model.sb.CMManagement' **
If i introduce mappedName in the @Stateless and the @EJB everything works, but i do not
want to use mappedName if not really necessary.
Any Ideas what the "correct" way is for a SB to reference itself?
Greetings,
Volker
View the original post :
http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4233488#...
Reply to the post :
http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&a...