How a stateful session ejb  invoke an entity ejb

i have write a stateful session ejb and an entity ejb
i want to invoke the method of the entity ejb in the session ejb.
Do they should in the save package,and archive to a jar package?
Thanks:)

the choice is yours
It not necessary that they shoule be in the same package
Work both ways
You make a call to it in the same way as you call it from a client
i.e. to say that an EJB can invoke another in the same way as a client invoke it...make the home object et.al
Regards
Sanjay

Similar Messages

  • Web Service-Client for stateful session EJB container

    Do you know, how to write a Web Service-Client to connect a stateful session EJB container?
    A stateful session EJB container ist created with Web Logic 8.1.
    Message was edited by n.t.c at Dec 14, 2004 6:09 AM

    Pedja thanks for reply.
    I still dont understand what is wrong with my example.
    The first peace of the code i wrote (getting the reference to the remote interface object) works pretty well, and even more it is produced automatically by JDeveloper, so why we cant get a reference to the local interface object the same way?
    Certanly we should use the local interface for getting access to the resource functioning under the same local jvm and i think it doesnt metter wich app server we really use wls or oas or others
    Thanks. Alex.

  • Stateful session ejb life

    Hello,
    If I have a stateful session ejb used in a web application, what determines how long that ejb will stay alive or remain available? Specifically, if a user has a session and that user accesses the ejb, then there is a period of inactivity, yet the session remains open, does the ejb hang around? What controls this? I'm using WebSphere 6 as my application server.
    Thanks,
    -jeff

    There are 4 situations to consider....
    1) If client calls remove(), then stateful session bean is killed.
    2) If the resources are going low on the computer then the container can decide to passivate the bean.
    3) If there is a time out for the stateful session bean then
    3.1) If bean is in in ready state then the container can take a decision to kill the bean ...
    3.2) If the bean is in passivated state then also the container can kill the bean but this time with out calling ejbRemove().
    4) If the bean throws a system unchehecked exception then also it kills the bean.
    Message was edited by:
    Waves
    Message was edited by:
    Waves

  • Failover for a stateful session EJB on a two node cluster results in java.io.StreamCorrupedException

              Stateful session EJB is deployed on cluster members A and B. Client calls a method
              on the bean and the request is routed to server A, then A is shut down. The client's
              next method invocation is routed to server B where the bean's state has been replicated.
              Server A re-joins the cluster and B is shut down, the request routed to A results
              in the following:
              java.rmi.NoSuchObjectException: Activation failed with: java.io.StreamCorruptedException:
              InputStream does not contain a serialized object
              at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:849)
              at java.io.ObjectInputStream.<init>(ObjectInputStream.java:168)
              at weblogic.common.internal.ReplacerObjectInputStream.<init>(ReplacerObjectInputStream.java:33)
              at weblogic.common.internal.ReplacerObjectInputStream.<init>(ReplacerObjectInputStream.java:43)
              at weblogic.common.internal.ReplacerObjectInputStream.<init>(ReplacerObjectInputStream.java:54)
              at weblogic.ejb20.swap.PassivationUtils.read(PassivationUtils.java:50)
              at weblogic.ejb20.swap.ReplicatedMemorySwap.read(ReplicatedMemorySwap.java:111)
              at weblogic.ejb20.manager.StatefulSessionManager.getBean(StatefulSessionManager.java:178)
              at weblogic.ejb20.manager.StatefulSessionManager.preInvoke(StatefulSessionManager.java:236)
              at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:113)
              at weblogic.ejb20.internal.StatefulEJBObject.preInvoke(StatefulEJBObject.java:148)
              at com.access360.enrole.apps.ejb.organization.SearchManagerBeanEOImpl.findAllPeople(SearchManagerBeanEOImpl.java:644)
              at com.access360.enrole.webclient.organization.person.PeopleList.getPeople(PeopleList.java:148)
              at com.access360.enrole.webclient.organization.person.PeopleListServlet.constructPeopleListXML(PeopleListServlet.java:284)
              at com.access360.enrole.webclient.organization.person.PeopleListServlet.service(PeopleListServlet.java:238)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
              at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:275)
              at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:183)
              at com.access360.enrole.webclient.organization.person.SubmitPersonAddServlet.forwardToPeopleList(SubmitPersonAddServlet.java:134)
              at com.access360.enrole.webclient.organization.person.SubmitPersonAddServlet.service(SubmitPersonAddServlet.java:114)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
              at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1265)
              at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1631)
              at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
              at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              We are certain that the EJB's entire object graph is Serializable. Any comments on
              this failover scenario?
              Alex Rodriguez
              Software Engineer, Access360
              [email protected]
              

              Rajesh,
              Thanks for the reply. We are running WL 6.0 SP2 with RP3. We cannot reproduce it
              consistently. In your reply you mention "... and EJB handles". Does that refer to
              another patch?
              As for the code, we will run tests with a scaled down version of the stateful bean
              and a simple client servlet. I will post the code asap. The high level call sequence
              is: servlet service() -> lookup ejb home -> get cluster aware stub from home -> put
              bean handle in http session -> call bean method -> server A goes down -> next call
              to the bean -> get handle from replicated http session -> get bean from handle ->
              request is routed to server B. java.io.StreamCorruptedException is thrown, sometimes,
              when server A re-joins the cluster and a request is routed to it (i.e. server B is
              shut-down). One thing I did not mention is that the bean is deployed on server A,
              and server A is also the Admin server. We are considering not using the Admin server
              to deploy the bean, however, but will add another Managed server.
              Will contact support about CR073917: can it be applied to WL 6.0 SP3 with RP3?
              Regards,
              Alex J. Rodriguez
              Rajesh Mirchandani <[email protected]> wrote:
              >
              >Alex,
              >
              >Are you able to consitently reproduce this? Could you post your code here?
              >
              >What version of the Server with Service pack are you using?
              >
              >If you are using WLS 6.1SP2 and EJB handles contact support and get a patch
              >for CR073917.
              >
              >
              >"Alex J. Rodriguez" wrote:
              >
              >> Stateful session EJB is deployed on cluster members A and B. Client calls
              >a method
              >> on the bean and the request is routed to server A, then A is shut down.
              >The client's
              >> next method invocation is routed to server B where the bean's state has
              >been replicated.
              >> Server A re-joins the cluster and B is shut down, the request routed to
              >A results
              >> in the following:
              >>
              >> java.rmi.NoSuchObjectException: Activation failed with: java.io.StreamCorruptedException:
              >> InputStream does not contain a serialized object
              >> at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:849)
              >> at java.io.ObjectInputStream.<init>(ObjectInputStream.java:168)
              >> at weblogic.common.internal.ReplacerObjectInputStream.<init>(ReplacerObjectInputStream.java:33)
              >> at weblogic.common.internal.ReplacerObjectInputStream.<init>(ReplacerObjectInputStream.java:43)
              >> at weblogic.common.internal.ReplacerObjectInputStream.<init>(ReplacerObjectInputStream.java:54)
              >> at weblogic.ejb20.swap.PassivationUtils.read(PassivationUtils.java:50)
              >> at weblogic.ejb20.swap.ReplicatedMemorySwap.read(ReplicatedMemorySwap.java:111)
              >> at weblogic.ejb20.manager.StatefulSessionManager.getBean(StatefulSessionManager.java:178)
              >> at weblogic.ejb20.manager.StatefulSessionManager.preInvoke(StatefulSessionManager.java:236)
              >> at weblogic.ejb20.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:113)
              >> at weblogic.ejb20.internal.StatefulEJBObject.preInvoke(StatefulEJBObject.java:148)
              >> at com.access360.enrole.apps.ejb.organization.SearchManagerBeanEOImpl.findAllPeople(SearchManagerBeanEOImpl.java:644)
              >> at com.access360.enrole.webclient.organization.person.PeopleList.getPeople(PeopleList.java:148)
              >> at com.access360.enrole.webclient.organization.person.PeopleListServlet.constructPeopleListXML(PeopleListServlet.java:284)
              >> at com.access360.enrole.webclient.organization.person.PeopleListServlet.service(PeopleListServlet.java:238)
              >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              >> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
              >> at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:275)
              >> at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:183)
              >> at com.access360.enrole.webclient.organization.person.SubmitPersonAddServlet.forwardToPeopleList(SubmitPersonAddServlet.java:134)
              >> at com.access360.enrole.webclient.organization.person.SubmitPersonAddServlet.service(SubmitPersonAddServlet.java:114)
              >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
              >> at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:213)
              >> at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:1265)
              >> at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:1631)
              >> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
              >> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
              >>
              >> We are certain that the EJB's entire object graph is Serializable. Any
              >comments on
              >> this failover scenario?
              >>
              >> Alex Rodriguez
              >> Software Engineer, Access360
              >> [email protected]
              >
              

  • OC4J, Stateful Session EJB, & Session Timeout

    In my J2EE applications, I have a user authentication layer whereby when the user is authenticated against our LDAP repository after logging in, a Stateful Session EJB keeps that conversational state with the client at all times until the user logs out whereby the session is invalidated. This way I keep track of the user's authentication at all times throughout the whole session and for every operation performed (JSPs etc) by the user during the session. All this works fine through my implementation of the Session Facade and Business Delegate patterns.
    However, if OC4J times out the Session (set to one hour in the <session-config> <session-timeout> parameter of the web.xml), the user cannot re-login and proceed. The user has to close the whole browser and re-start a new browser, then login and proceed.
    This is causing us a few problems with the users who are complaining about having to do so. Is there an easy way around this problem?
    Regards
    Daniel

    Can you try in a different browser and see whether you can duplicate this ?
    Is this a problem with browser - cache ?
    regards
    debu

  • How to call session EJB from EP service in EP 7.0?

    Hi,
    I am trying to invoke stateless session EJB from my portal service. Both the service and EJB are deployed on the same server which is EP 7.0.
    I found [this|http://help.sap.com/saphelp_nw70/helpdata/EN/42/9ddcc9bb211d72e10000000a1553f6/frameset.htm] in SAP help and tried to implement it (added PrivateSharingReference to portalapp.xml and implemented the code), but everytime I try to lookup the session bean and cast it using P4ObjectBroker.narrow() method, I get java.lang.ClassCastException. The object found in JNDI and my portal service have different classloaders, so I suppose this is the problem, but I don't know how to handle it...
    Can anyone please help me?
    Regards,
    Tomas

    Hi Satya ,
              please go though following blog for used DC concept.
    Componentization of Webdynpro Application in CE7.1
    In netweaver 7.1 interface controler is abstract and component controller is implementing interface controller so the context data and methods have to be implemented by component controller

  • How to run Session ejb client program?

    Hi
    I am using weblogic server8.1 . I was running an ejb session client program it throws exception like below. Can any one tell me how to run a client in weblogic server. give the syntax for running ejb client.
    D:\Weblogicserver\user_projects\domains\mydomain\applications\MyEJB\stateful>jav
    a -cp .;c:\j2ee\j2ee.jar;c:\weblogic\classes;D:\Weblogicserver\weblogic81\server
    \lib\weblogic.jar PortfolioClient
    Exception in thread "main" java.lang.NoClassDefFoundError: PortfolioClient (wron
    g name: stateful/PortfolioClient)
    at java.lang.ClassLoader.defineClass0(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12
    3)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:251)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:55)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:194)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:187)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
    bye

    If stateful is the package for the client application, you should be executing from
    D:\Weblogicserver\user_projects\domains\mydomain\applications\MyEJB
    on the command line. The command should look like -
    java -classpath <whatever should be here> stateful.MyClient

  • Session ejb 3.0 stateful and same instance

    Hello,
    I'm using OC4J 10.1.3.3 and EJB 3.0/JSP
    In a jsp I do two different lookup for a STATEFUL
    session ejb 3.0, and I want two different instances
    of the ejb, instead I get the same one...
    Please help. Thanks.

    Hi,
    The code for stateful is perfectly fine and working in a normal way. The way you are trying to implement the stateful session bean in your application is wrong.
    think of binding the stateful session bean with HttpSession object.
    So that you will get a unique stateful session bean object.

  • Stateful session local ejb problem

    Hi,
    I'm having problems with a stateful session ejb, which i am accessing using the local interface from a servlet. I get the local object and insert it in the session and retrieve it from the session in the following requests to this servlet.
    My questions are:
    Should local interfaces be used from servlets?, in the servlet descriptor you can use the <ejb-local-ref> to do this and it works.
    And if they can be used from servlets, what do i save in the session to preserve the ejb between requests?.
    Thanks
    Juan

    Hi,
    I'm having problems with a stateful session ejb, which i am accessing using the local interface from a servlet. I get the local object and insert it in the session and retrieve it from the session in the following requests to this servlet.
    My questions are:
    Should local interfaces be used from servlets?, in the servlet descriptor you can use the <ejb-local-ref> to do this and it works.
    And if they can be used from servlets, what do i save in the session to preserve the ejb between requests?.
    Thanks
    Juan

  • Session EJB as a Topic subscriber

    Hi ,
    is it possible to create a topic subscriber inside a session ejb( both stateless and stateful ) with an asynchronous message listener ?
    Regards,
    Sajith

    A<WSI-17> WLS6.1 does not support Stateful Session beans as web services. Maintaining
    client state is a complex problem for web services that does not have a proper solution
    in the J2EE framework (stateful session and HTTP sessions are inappropriate). WLS
    7.0 does provide a web service capability for storing client data using an entity
    bean.
    "Elie Dagher" <[email protected]> wrote:
    >
    Q:WSI17-Does weblogic support Stateful session Ejb as a Web service?

  • Cluster and Session EJB replication

              I have a dedicated Weblogic 5.1 box running with SP 6 serving up JSP and Servlets.
              The Servlets do look ups for session EJBs, which are hosted on a separate box behind
              a firewall. My question is:
              If I implement clustering of the JSP/Servlet Weblogic Instance so that I have four machines in a cluster,
              does Weblogic 5.1 or 6.0 replicate the handle to the session EJB's stub only so that in case server 1 crashes,
              Server 2 will be able to retrieve a handle to the session EJBs?
              Thanks,
              Paul Richardson
              

    If the handle is in the HttpSession, then the handle will be replicated. If
              the EJB server fails over in WL 5.1, the stateful session EJBs will be lost.
              WL 6.0 supports statefull session EJB replication for failover, but I
              suggest that you not use it unless you have a specific architectural reason
              to.
              Cameron Purdy
              Tangosol, Inc.
              http://www.tangosol.com
              +1.617.623.5782
              WebLogic Consulting Available
              "Paul Richardson" <[email protected]> wrote in message
              news:[email protected]..
              >
              > I have a dedicated Weblogic 5.1 box running with SP 6 serving up JSP and
              Servlets.
              > The Servlets do look ups for session EJBs, which are hosted on a separate
              box behind
              > a firewall. My question is:
              >
              > If I implement clustering of the JSP/Servlet Weblogic Instance so that I
              have four machines in a cluster,
              > does Weblogic 5.1 or 6.0 replicate the handle to the session EJB's stub
              only so that in case server 1 crashes,
              > Server 2 will be able to retrieve a handle to the session EJBs?
              >
              >
              > Thanks,
              > Paul Richardson
              

  • Error retriving session EJB with getEJBObject() from handle

    the Code i use is
    CREATE:
    Handle handle = user.getHandle();
    session.setAttribute("user",handle);
    GET:
    Handle handle = (Handle)session.getAttribute("user");
    UserEJB user = (UserEJB)handle.getEJBObject();
    // the abowe row gets the error.
    Error:
    java.lang.ClassCastException: org.omg.stub.javax.ejb._EJBObject_Stub
    ive read several topics that say that this should work but it doesnt??
    The bean is a Stateful Session EJB.
    Ive tried to recompile both client and server serveral times, to prevent te stubs from beeing different. But no result.
    Help please !!!!!!

    try like this..
    Create--
    session.setAttribute("searchremote",tsremote.getHandle());
    and get it like this....
    Handle handle = (Handle)session.getAttribute("searchremote");
    tsremote = (TradesSearchRemote)handle.getEJBObject();
                   if (tsremote == null)
                        tsremote = getBeanReference();
                        session.setAttribute("searchremote",tsremote.getHandle());
    I am doing like this and it is working fine....

  • How create  EJB 2.1 Stateful Session Bean in a EJB 3.0 Session Bean

    Hi All,
    We have been developing on EJB 2.1. We are now adding a module on EJB 3.0.
    How can we "create" a stateful session bean with create method signature similar to create(String id)?
    We have tried
    // this is the remote interface
    @EJB AddressBean abean;
    But not working
    Any help will be appreciated.

    There is no explicit create() call for EJB 3.0 session beans. It doesn't really matter though
    since you can accomplish the same thing by defining your own business method to act
    as an initializer for whatever state you'd like. E.g.
    @Remote
    public interface FooInterface {
    public void initialize(String id);
    // ... other business methods
    @EJB FooInterface fooRef;
    fooRef.initialize("foo");
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • How to intantiate Stateful session bean in EJB 3 ?

    In EJB 2.x, to instantiate a Stateful Session bean the process was:
    1. Lookup Home object
    2. call create(args) method on Home, that in turn would call corresponding ejbCreate(args) on the bean implementation.
    Now, in EJB 3, there is no concept of Home interaface, How can I instantiate a stateful session bean with some initialization parameters.
    Thanks

    Just the spec. NetBeans should only be providing the ability to add an ejbCreate method if the bean exposes a Local or Remote 2.x view.
    Each lookup or injection of a stateful session bean results in a new bean instance. As long as you call your methods to populate the additional
    state right after first acquiring the stateful session bean reference it will work.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • How does a session bean find entity beans in EJB 3.0

    Hi,
    I am new to J2EE. I have difficulties finding out how a session bean locates the entity-manager for a group of entity beans. I understand that the entitymanager in the session bean is injected using the PersistenceContext annotation, but I dont see how it locates the intended EntityManager (which could be on another server).
    I realize this is probably trivial, but can any of you guys tell me what I am missing?
    Best Regards
    Thomas

    Hi Thomas,
    Good question. Each @PersistenceContext annotation is associated with a single Persistence Unit. A Persistence Unit is defined either at the module level or at the .ear level. Each persistence unit has a name associated with it. The unitName() attribute is used to map @PersistenceContext to the associated PersistenceUnit. Since the most common case is that an application will only define one persistence unit, the spec requires that if the unitName() is not specified, it will automatically map to that single persistence unit.
    --ken                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Maybe you are looking for

  • How to tell if you have correct USB 2.0 driver?

    Hi, I seem to be having a problem with my front panel usb wich are plug in JUSB3.  When i connect a external case in these front panel i get message that a have a high speed device plug in a low speed hub.  My D-bracket is install in JUSB2.  If i plu

  • Duplicated text in TO, CC,  BCC lines (very weird...)

    I'm using Mail 3.1 on 10.5.1 and it was fine for weeks, but now... not so much. I'm not even sure what to look for to solve my own problem, so I'm hoping to get some help. So here's what happens when I type anything into any of these fields. Let's sa

  • Problems mounting a Camera as USB device [RESOLVED]

    Usually, when I plug in my Canon PowerShot Pro 1 to my Archlinux laptop, I get an icon appearing on my desktop.  I just double click on this icon and Nautilus opens up showing the individual photos. However, I've recently invoked pacman -Syu and now

  • Error in File

    Hi everyone, The following code create an execution time error and I can not find the solution for this. If you help me, I will be happy. import java.io.*; class Files {      // properties      static int first = 0;      // constructor      public Fi

  • Discoverer 4.1.33 report fails Item dependency not found in EUL for 1 user

    I support Discoverer 4.1.33 installed on number of Windows XP sp3 PCs. Oracle database on Server is 10g. We have a number of Discoverer programs/reports that have been running for years. A particular program sales order report works fine for several