This week's book giveaways are in the Java EE and JavaScript forums.
We're giving away four copies each of The Java EE 7 Tutorial Volume 1 or Volume 2(winners choice) and jQuery UI in Action and have the authors on-line!
See this thread and this one for details.
The moose likes EJB and other Java EE Technologies and the fly likes how to use local & remote intefaces in ejb3 Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of The Java EE 7 Tutorial Volume 1 or Volume 2 this week in the Java EE forum
or jQuery UI in Action in the JavaScript forum!
JavaRanch » Java Forums » Java » EJB and other Java EE Technologies
Bookmark "how to use local & remote intefaces in ejb3" Watch "how to use local & remote intefaces in ejb3" New topic
Author

how to use local & remote intefaces in ejb3

sanjay nitwal
Greenhorn

Joined: Mar 19, 2010
Posts: 15
hi
i am not able to understand the concept of local & remote


--------------

---------------------------

----------client---------





this bean is deploying properly but when i am running the client it is giving exception


Exception in thread "main" java.lang.NullPointerException
at com.ericsson.testApp.main(testApp.java:18)




Nick Potter
Ranch Hand

Joined: May 07, 2008
Posts: 126
You must also deploy the client, or use JNDI to remotely invoke the bean.
Jeanne Boyarsky
internet detective
Marshal

Joined: May 26, 2003
Posts: 30356
    
150

Sanjay,
Welcome to JavaRanch! I've added [ code ] tags to make your post easier to read.

There are a few ways of calling an EJB:
  • from a servlet and auto-injecting
  • from another EJB and auto-injecting
  • from an application client - don't remember if injecting works here
  • looking up the JNDI name


  • [Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
    Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
    sanjay nitwal
    Greenhorn

    Joined: Mar 19, 2010
    Posts: 15
    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
    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
    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
    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
    [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.
     
    I agree. Here's the link: http://aspose.com/file-tools
     
    subject: how to use local & remote intefaces in ejb3