File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

how to use local & remote intefaces in ejb3

 
sanjay nitwal
Greenhorn
Posts: 15
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Posts: 126
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
You must also deploy the client, or use JNDI to remotely invoke the bean.
 
Jeanne Boyarsky
author & internet detective
Marshal
Posts: 33697
316
Eclipse IDE Java VI Editor
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
  •  
    sanjay nitwal
    Greenhorn
    Posts: 15
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    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
    Posts: 39
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    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
    Posts: 15
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    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
    Posts: 39
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    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
    Posts: 65
    • 0
    • Mark post as helpful
    • send pies
    • Quote
    • Report post to moderator
    [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
    • Post Reply
    • Bookmark Topic Watch Topic
    • New Topic