Two Laptop Bag*
The moose likes EJB Certification (SCBCD/OCPJBCD) and the fly likes DI, JNDI question Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Certification » EJB Certification (SCBCD/OCPJBCD)
Bookmark "DI, JNDI question" Watch "DI, JNDI question" New topic
Author

DI, JNDI question

Prasad Shindikar
Ranch Hand

Joined: Feb 18, 2007
Posts: 114
Imagine that you have a business interface by name 'Template'. Which of the following ways can be used by the Client Application to acquire a reference to the business interface (assuming that this interface is bound in the JNDI Context)?


Correct Answer: 4. I agree with 1 and 2.

In answer option 3, should'nt the context look up be something like
template = (Template)Context.lookup("java:comp/env/ejb/template");
Ralph Jaus
Ranch Hand

Joined: Apr 27, 2008
Posts: 342
I agree. But don't worry, it's unlikely that such mistakes occur in the exam (unless the oracle guys turn it upside down ).


SCJP 5 (98%) - SCBCD 5 (98%)
Tomas Klubal
Greenhorn

Joined: Aug 16, 2004
Posts: 20
Hm. If you change option 3. to use
template = (Template)Context.lookup("java:comp/env/ejb/template");
then options 1. and 2. are no longer correct unless you change them as well.

Option 1.

Option 2.
Siva Masilamani
Ranch Hand

Joined: Sep 19, 2008
Posts: 385
I think it depends on what kind of client you are using.

J2EE component clients or stand-alone client.

If you are using J2EE component clients(Servlet,EJBs,APPlication-client) then all of the above is true but if you are using stand-alone client,none of them is true.

You have to use traditional JNDI look up...

Correct me if i am wrong....


SCJP 6,SCWCD 5,SCBCD 5

Failure is not an option.
Tomas Klubal
Greenhorn

Joined: Aug 16, 2004
Posts: 20
The last option 3. is correct even for stand alone client. You can use no arg constructor for initial context if you supply jndi.properties and there is no need to narrow if what you retieve is a business interface.
Siva Masilamani
Ranch Hand

Joined: Sep 19, 2008
Posts: 385
Yes. You are correct.

Sorry i saw this line "java:comp/ejb/template" as "java:comp/env/ejb/template"

 
It is sorta covered in the JavaRanch Style Guide.
 
subject: DI, JNDI question