geronimo-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "mahu2425" <mahu2...@lycos.de>
Subject Access bean from another - JNDI name
Date Tue, 16 May 2006 09:51:39 GMT
Hi there,

I'm trying to access an entity bean from a stateless session bean and I'm running into a "javax.naming.NameNotFoundException"
while executing the followin statement:

ctx.lookup("java:/comp/env/ejb/MyBean");

ctx is an InitialContext without parameters. Both EJBs are running on the same server and
and are in the same archive.

My ejb-jar.xml contains the following code (I will leave out tags like cmp-fields in this
posting, btw: the session bean serves additionally as a web service):

<session>
	<display-name>Demo</display-name>
	<ejb-name>Demo</ejb-name>
	<home>com.test.DemoHome</home>
	<remote>com.test.Demo</remote>
	<service-endpoint>com.test.DemoSEI</service-endpoint>
	<ejb-class>com.test.DemoBean</ejb-class>
	<session-type>Stateless</session-type>
	<transaction-type>Container</transaction-type>
	<ejb-ref>
		<ejb-ref-name>MyEntity</ejb-ref-name>
		<ejb-ref-type>Entity</ejb-ref-type>
		<home>com.all.MyEntityHome</home>
		<remote>com.all.MyEntity</remote>
		<ejb-link>MyEntity</ejb-link>
	</ejb-ref>
</session>

<entity>
	<description>Test entity bean</description>
	<ejb-name>MyEntity</ejb-name>
	<home>com.all.MyEntityHome</home>
	<remote>com.all.MyEntity</remote>
	<ejb-class>com.all.MyEntityBean</ejb-class>
	<persistence-type>Container</persistence-type>
	<prim-key-class>java.lang.String</prim-key-class>
	<reentrant>false</reentrant>
	<cmp-version>2.x</cmp-version>
	<abstract-schema-name>MyEntity</abstract-schema-name>
</entity>



My openejb-jar.xml contains the following code (I'll leave out things like cmp-mappings in
this posting)

<enterprise-beans>
	<session>
		<ejb-name>Demo</ejb-name>
		<jndi-name>Demo</jndi-name>
	</session>
	<entity>
		<ejb-name>MyEntity</ejb-name>
		<jndi-name>MyEntity</jndi-name>
	</entity>
</enterprise-beans>


As I said before, a lookup is not possible. 

During several tries I changed the <jndi-name> for the entity bean in openejb-jar.xml
 to <jndi-name>ejb/MyEntity</jndi-name> 

and the <ejb-ref-name> in ejb-jar-xml to
<ejb-ref-name>ejb/MyEntity</ejb-ref-name>


And magic: the lookup works. Unfortuanally I can not understand why. Is a leading "ejb/" required
for jndi name? I don't think so, because I could not find anything similar in any tutorial.
But what is the difference or what are the underlying rules?

Greets,

Markus

Schnell und einfach ohne Anschlusswechsel zur Lycos DSL Flatrate wechseln und 3 Monate kostenlos
ab effektiven 5,21 EUR pro Monat im ersten Jahr surfen.
http://www.lycos.de/startseite/online/dsl/index.html?prod=DSL&trackingID=email_footertxt
Mime
  • Unnamed multipart/mixed (inline, None, 0 bytes)
View raw message