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

Reply via email to