On 2003.03.18 14:58 Rod Macpherson wrote: > David, > > We lookup EJBs using the local or global JNDI name specified in the DD > and consequently bypass the need for ejb-ref elements. What is the > downside of this strategy? We use the fully qualified class name on our > stateless session beans and entity beans so we have a self-documenting > naming convention. Is this simple and effective strategy masking some > underlying evil? I have been warned about doing this but nobody has come > up with a valid argument except to regurgitate a paragraph from here or > there saying that a given component should declare the other components > it uses using an ejb-ref. Perhaps in a distributed enterprise where the > same class gets used is deployed with various permissions and such. I > would appreciate some clarification on this.
That is basically the only problem I see with fixed hardcoded jndi names, it removes the ability to switch between several deployed configurations of the same ejb class without modifying source code. I haven't run into any really compelling use cases where being able to do this is a big help. You could use it to keep track semi-automatically of dependency relationships I suppose. david jencks > > Thanks! > > -----Original Message----- > From: David Jencks [mailto:[EMAIL PROTECTED] > Sent: Monday, March 17, 2003 10:19 PM > To: [EMAIL PROTECTED] > Subject: Re: [JBoss-user] Error: my patience Not Bound > > > One thing I find helpful is to study the results of the jndiview mbean > list operation. It shows everything bound, including in each comp/env > private context. > > http://localhost:8080/jmx-console > > find and click on the jndi-view mbean > > click list button > > david jencks > > On 2003.03.17 23:19 Nathaniel Rahav wrote: > > > > Dear JBoss users, > > > > I have been literally tearing my hair out (whatever there is left) > > for a few days trying to understand > > why I'm getting this error. I have 3 Entity beans in my app, all > written > > using XDoclet1.2b2 and deployed on JBoss3.0.4-tomcat . > > I am using a Session bean to lookup these 3 beans. 2 of them are > > retrieved > > fine, but the third bean, CreditCard, gives me a Not Bound exception > when > > > > I try to look it up via the local VM: > > > > CreditCardLocalHome cachedLocalHome = > > (rpmaster.server.data.beans.CreditCardLocalHome) > > initialContext.lookup("java:comp/env/ejb/CreditCard"); > > > > I have checked word for word the code between this bean and my other > > beans (Person and Address, not very complicated beans) . There is no > > difference > > > > AT ALL other than the names of the beans and different CMP fields. > > There > > is no difference in the generated source or DD's. Therefore I believe > it > > is not an XDoclet issue. > > > > Could this be something with JBoss ? I know that the CreditCard bean > > is > > the one that gets deployed first (I see the message in the log "INFO > > [EjbModule] Deploying CreditCard" ) > > > > Here is my XDoclet source from CreditCardBean.java > > > > /*** > > * @ejb:bean > > * name="CreditCard" > > * type="CMP" > > * view-type="local" > > * > local-jndi-name="local/rpmaster.server.data.beans.CreditCard" > > * primkey-field="creditCardUId" > > * schema="CreditCard" > > * cmp-version="${ejb.cmp.version}" > > ... > > > > which generates the following declaration in > > CreditCardLocalHome.java: > > > > > > public static final String COMP_NAME="java:comp/env/ejb/CreditCard"; > > public static final String > > JNDI_NAME="local/rpmaster.server.data.beans.CreditCard"; > > > > > > > > **** > > and it also gives me the following ejb-jar.xml entry: > > > > ... > > <entity > > > <description><![CDATA[The CreditCardBean represents a > > creditCard]]></description> > > > > <ejb-name>CreditCard</ejb-name> > > > > > > > <local-home>rpmaster.server.data.beans.CreditCardLocalHome</local-home> > > <local>rpmaster.server.data.beans.CreditCardLocal</local> > > ... > > **** > > > > > > and in my jboss.xml I have the following: > > > > <entity> > > <ejb-name>CreditCard</ejb-name> > > > > <local-jndi-name>local/rpmaster.server.data.beans.CreditCard</local-jn > > di-name> > > > > </entity> > > > > ***** > > and here is the stack trace from aforementioned lookup: > > > > 21:40:04,234 INFO [PersonManagementSessionSession] FAILURE :: > > CreditCard not bound 21:40:04,238 ERROR [STDERR] > > javax.naming.NameNotFoundException:CreditCard > > not bound > > 21:40:04,247 ERROR [STDERR] at > org.jnp.server.NamingServer.getBinding(NamingServer.java:495) > > 21:40:04,251 ERROR [STDERR] at > org.jnp.server.NamingServer.getBinding(NamingServer.java:503) > > 21:40:04,255 ERROR [STDERR] at > org.jnp.server.NamingServer.getObject(NamingServer.java:509) > > 21:40:04,259 ERROR [STDERR] at > org.jnp.server.NamingServer.lookup(NamingServer.java:282) > > 21:40:04,280 ERROR [STDERR] at > org.jnp.server.NamingServer.lookup(NamingServer.java:256) > > 21:40:04,280 ERROR [STDERR] at > org.jnp.server.NamingServer.lookup(NamingServer.java:256) > > 21:40:04,280 ERROR [STDERR] at > org.jnp.interfaces.NamingContext.lookup(NamingContext.java:464) > > 21:40:04,281 ERROR [STDERR] at > org.jnp.interfaces.NamingContext.lookup(NamingContext.java:592) > > 21:40:04,281 ERROR [STDERR] at > org.jnp.interfaces.NamingContext.lookup(NamingContext.java:443) > > 21:40:04,281 ERROR [STDERR] at > javax.naming.InitialContext.lookup(InitialContext.java:347) > > 21:40:04,281 ERROR [STDERR] at > rpmaster.server.session.PersonManagementSessionEJB.updatePerson(Unknown > > > > Source) > > > > Anybody have any ideas why this is happening ? > > > > How can I request from my Context a list of what it has registered so > > that I can see if my CreditCard is in there, maybe under a different > > name ? I know that InitialContext has a lookup method but I cant > > figure out what > > > > String to pass it to get me the list of my java objects. > > > > Any help is truly appreciated. > > > > TIA > > > > Nathaniel > > > > > > > > > > ------------------------------------------------------- > > This SF.net email is sponsored by:Crypto Challenge is now open! > > Get cracking and register here for some mind boggling fun and > > the chance of winning an Apple iPod: > > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > > _______________________________________________ > > JBoss-user mailing list > > [EMAIL PROTECTED] > > https://lists.sourceforge.net/lists/listinfo/jboss-user > > > > > > > ------------------------------------------------------- > This SF.net email is sponsored by:Crypto Challenge is now open! > Get cracking and register here for some mind boggling fun and > the chance of winning an Apple iPod: > http://ads.sourceforge.net/cgi-bin/redirect.pl?thaw0031en > _______________________________________________ > JBoss-user mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-user > > > ------------------------------------------------------- > This SF.net email is sponsored by: Does your code think in ink? > You could win a Tablet PC. Get a free Tablet PC hat just for playing. > What are you waiting for? > http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en > _______________________________________________ > JBoss-user mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/jboss-user > > ------------------------------------------------------- This SF.net email is sponsored by: Does your code think in ink? You could win a Tablet PC. Get a free Tablet PC hat just for playing. What are you waiting for? http://ads.sourceforge.net/cgi-bin/redirect.pl?micr5043en _______________________________________________ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
