Nick Potter wrote:You must also deploy the client, or use JNDI to remotely invoke the bean.
hi
i know remotly accessing ejb
my question is how can i access it localy ? because it is giving nullpointer exception
Jonh Smith
Ranch Hand
Joined: Mar 18, 2010
Posts: 39
posted
0
As already pointed out,
A) if you're calling the ejb from a stand-alone client outside the jee container, then there are two things wrong with your approach:
- the ejb needs to be remote
- you cannot use resource injection ("@EJB"). you have to use jndi lookup instead.
B) If on the other hand you're using your jee server application client container to run the client you may use injection but the ejb still needs to be remote (check this link : http://docs.sun.com/app/docs/doc/820-4336/beakv?a=view)
To access an ejb locally, the client app needs to be part of the same deployed application, whether it is a servlet, an ejb or simply a pojo.
Even inside the container, injection only works inside ejbs(3.0) and servlets (since 2.5, if I'm not mistaken), not POJOs. For the later, you do have to use jndi lookup.
You may use the "java:comp/env/<BeanName>" jndi name if you're in case B and do define a reference to the ejb in your app-client dd. This is necessary for the container to create a reference to the ejb in that jndi tree.
If you're in case A, you have to use the global jndi name to lookup your ejb, which you can get by checking your container's jndi browser.
sanjay nitwal
Greenhorn
Joined: Mar 19, 2010
Posts: 15
posted
0
hi
I am calling the ejb from client inside the same jee container
My application is working fine using jndi lookup but problem is how to use the (@EJB) dependency injection.
:confused:
Jonh Smith
Ranch Hand
Joined: Mar 18, 2010
Posts: 39
posted
0
Besides what others and i have already told you, i can only suggest further that you confirm that you're using an ejb 3.0 container and not a 2.1 one. I do suggest you read the link i provided you and the jee tutorial about ejbs .
Dejan Mratinkovic
Ranch Hand
Joined: Nov 20, 2008
Posts: 65
posted
0
[quote]I am calling the ejb from client inside the same jee container[/quote]
Your sample code does not look like you do it. I looks like it is standalone program outside of jee container.