Help: weblogic.ejb.extensions.LockTimedOutException

Dear All:
          I got this exception in our EJB app:
          weblogic.ejb.extensions.LockTimedOutException. Please see attached error
          message below. It is not happening every time you call the bean. It is
          reproducable with patience.
          Have you had this kind of problem and more importantly, how to avoid it?
          Our env is: Wl51 with sp 10, jdk1.3.02, Sun Solaris Unix, a cluster contains
          2 wl instance
          Thanks.
          Wed Jun 19 14:26:53 EDT 2002:<I> <TX> Transaction (TxC (5488304, xid =
          1024502557372_6636, timeout = 300, txState = Marked Rollback, root = null)
          rolled back after 300 sec.
          [GC 99080K->85533K(130688K), 0.0227977 secs]
          Wed Jun 19 14:26:54 EDT 2002:<I> <EJB JAR deployment
          /webapp/dtshc/dts/nmc/ejb/nmcejb.jar> Transaction: '1024502557372_6636'
          rolled back due to EJB exception:
          weblogic.ejb.extensions.LockTimedOutException: Lock for
          primaryKey:com.mm.nmc.entity.ProducerOneYearPlanPK@1700fc timed out after
          300000 ms.
          at
          weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImpl.java:53)
          at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:146)
          at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:81)
          at weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:456)
          at
          weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObjec
          t.java:162)
          at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:476)
          at
          com.mm.nmc.entity.ProducerOneYearPlanEJBEOImpl.getData(ProducerOneYearPlanEJ
          BEOImpl.java:979)
          at
          com.mm.nmc.session.PersonalTacticalSessionEJB.getTacticalPlanGoals(PersonalT
          acticalSessionEJB.java:200)
          at
          com.mm.nmc.session.PersonalTacticalSessionEJB.getPersonalTacticalPlan(Person
          alTacticalSessionEJB.java:165)
          at
          com.mm.nmc.session.PersonalTacticalSessionEJB.getPersonalTacticalPlan(Person
          alTacticalSessionEJB.java:155)
          at
          com.mm.nmc.session.PersonalTacticalSessionEJBEOImpl.getPersonalTacticalPlan(
          PersonalTacticalSessionEJBEOImpl.java:340)
          at
          com.mm.nmc.session.PersonalTacticalSessionEJBEOImpl_WLSkel.invoke(PersonalTa
          cticalSessionEJBEOImpl_WLSkel.java:167)
          at
          weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAda
          pter.java:347)
          at
          weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandle
          r.java:86)
          at
          weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:1
          5)
          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
          Jiancai He
          http://www.hefamily.com
          

Thanks for your message:
          In our case, it is entity EJB. The problem only happens in clustered env,
          and only happens in one of the servers.
          Question: can wl51 use database to manage the concurrent access of entity
          EJBs?
          Thanks.
          Jiancai
          Jiancai He
          http://www.hefamily.com
          "ludovic le goff" <[email protected]> wrote in message
          news:[email protected]...
          > Hello,
          >
          > Basically, it means two (or more) different threads are trying to get an
          > exclusive lock on the same entity bean or stateful session bean at the
          same
          > time. One of the locks eventually times out and this exception is thrown.
          >
          > There are several things that could cause this, for instance:
          >
          > - Two threads trying to invoke a method on the same stateful session bean
          at
          > the same time. The EJB 1.1 spec states that the server must detect this
          > condition and throw a RemoteException to all subsequent callers.
          > LockTimedOutException is a sub-class of java.rmi.RemoteException.
          >
          > - Two threads are trying to access the same entity bean instance inside a
          > single server in the cluster, and the caller holding the lock does not
          > finish fast enough.
          >
          > You might want to check if you have declared the Remote and home interface
          > in your jsp/servlet as global variable. And since it's global, instance
          > getting overridden every time. That's why both the two request end up in
          > using the same EJBObject.
          >
          > You should changed your code and make the remote/home interface variable
          > declaration as local i.e. within the scope of a single request.
          > Then you should not see any problem. Both the threads will use different
          > EJBObjects and hence you should not see any exceptions.
          >
          > You need to code in such a way as to avoid deadlocks. For instance, if
          > more than one client accesses the EJBs in different order, a deadlock may
          > occur. This deadlock is detected and after a certain timeout (5 minutes by
          > default), the deadlock is removed and one of the clients gets a
          > LockTimedOutException. For example, if one request in your application has
          > entity Account 1 (by doing an ejbFindByPrimaryKey) and is then about to
          get
          > Customer 1, and if at the same time another request in another business
          > method has got Customer 1 and is waiting for Account 1, you'll get a
          > deadlock and a LockTimedOutException after 5 minutes. You could avoid
          this
          > by include the code in a synchronized block. You could also get a
          deadlock
          > if you're making a reentrant call, e.g., A calls B which calls back to A.
          >
          > If you haven't already seen this, here's a blurb from "Locking Model for
          > Entity EJBs" at
          >
          http://www.weblogic.com/docs51/classdocs/API_ejb/EJB_environment.html#108796
          > 7 that you might find interesting:
          >
          > The EJB 1.1 container in WebLogic Server Version 5.1 uses a pessimistic
          > locking mechanism for entity EJB instances. As clients enlist an EJB or
          EJB
          > method in a transaction, WebLogic Server places an exclusive lock on the
          EJB
          > instance or method for the duration of the transaction. Other clients
          > requesting the same EJB or method block until the current transaction
          > completes.
          >
          > This method of locking provides reliable access to EJB data, and avoids
          > unnecessary calls to ejbLoad() to refresh the EJB instance's persistent
          > fields. However, in certain circumstances pessimistic locking may not
          > provide the best model for concurrent access to the EJB's data. Once a
          > client has locked an EJB instance, other clients are blocked from the
          EJB's
          > data even if they intend only to read the persistent fields.
          >
          > In a Nutshell the first exception is a consequence of the second.
          >
          > Hope this helps,
          > Ludovic.
          > Developer Relations Engineer
          > BEA Customer Support
          > "newsgroups.bea.com" <[email protected]> a écrit dans le message news:
          > [email protected]...
          > > Dear All:
          > >
          > > I got this exception in our EJB app:
          > > weblogic.ejb.extensions.LockTimedOutException. Please see attached error
          > > message below. It is not happening every time you call the bean. It is
          > > reproducable with patience.
          > >
          > > Have you had this kind of problem and more importantly, how to avoid it?
          > >
          > > Our env is: Wl51 with sp 10, jdk1.3.02, Sun Solaris Unix, a cluster
          > contains
          > > 2 wl instance
          > >
          > > Thanks.
          > >
          > >
          > >
          > >
          > >
          > >
          > >
          > >
          > >
          > >
          > >
          > > Wed Jun 19 14:26:53 EDT 2002:<I> <TX> Transaction (TxC (5488304, xid =
          > > 1024502557372_6636, timeout = 300, txState = Marked Rollback, root =
          null)
          > > rolled back after 300 sec.
          > >
          > > [GC 99080K->85533K(130688K), 0.0227977 secs]
          > >
          > > Wed Jun 19 14:26:54 EDT 2002:<I> <EJB JAR deployment
          > > /webapp/dtshc/dts/nmc/ejb/nmcejb.jar> Transaction: '1024502557372_6636'
          > > rolled back due to EJB exception:
          > >
          > > weblogic.ejb.extensions.LockTimedOutException: Lock for
          > > primaryKey:com.mm.nmc.entity.ProducerOneYearPlanPK@1700fc timed out
          after
          > > 300000 ms.
          > >
          > > at
          > >
          weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImpl.java:53)
          > >
          > > at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:146)
          > >
          > > at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:81)
          > >
          > > at
          weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:456)
          > >
          > > at
          > >
          >
          weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObjec
          > > t.java:162)
          > >
          > > at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:476)
          > >
          > > at
          > >
          >
          com.mm.nmc.entity.ProducerOneYearPlanEJBEOImpl.getData(ProducerOneYearPlanEJ
          > > BEOImpl.java:979)
          > >
          > > at
          > >
          >
          com.mm.nmc.session.PersonalTacticalSessionEJB.getTacticalPlanGoals(PersonalT
          > > acticalSessionEJB.java:200)
          > >
          > > at
          > >
          >
          com.mm.nmc.session.PersonalTacticalSessionEJB.getPersonalTacticalPlan(Person
          > > alTacticalSessionEJB.java:165)
          > >
          > > at
          > >
          >
          com.mm.nmc.session.PersonalTacticalSessionEJB.getPersonalTacticalPlan(Person
          > > alTacticalSessionEJB.java:155)
          > >
          > > at
          > >
          >
          com.mm.nmc.session.PersonalTacticalSessionEJBEOImpl.getPersonalTacticalPlan(
          > > PersonalTacticalSessionEJBEOImpl.java:340)
          > >
          > > at
          > >
          >
          com.mm.nmc.session.PersonalTacticalSessionEJBEOImpl_WLSkel.invoke(PersonalTa
          > > cticalSessionEJBEOImpl_WLSkel.java:167)
          > >
          > > at
          > >
          >
          weblogic.rmi.extensions.BasicServerObjectAdapter.invoke(BasicServerObjectAda
          > > pter.java:347)
          > >
          > > at
          > >
          >
          weblogic.rmi.extensions.BasicRequestHandler.handleRequest(BasicRequestHandle
          > > r.java:86)
          > >
          > > at
          > >
          >
          weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest.java:1
          > > 5)
          > >
          > > at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:129)
          > >
          > >
          > >
          > >
          > >
          > >
          > > --
          > > Jiancai He
          > > http://www.hefamily.com
          > >
          > >
          >
          >
          

Similar Messages

  • Weblogic.ejb.extensions.LockTimedOutException

    Hi,
    I am running an application on wl4.5.1 and the app server seems to hang and average of about once a week and we have to restart it it seems really random. The only pattern we've noticed from looking at the log files is that just before we go down we get a lot of weblogic.ejb.extensions.LockTimedOutException ' s. There seems to be a deadlock for access to one of the entity beans and the requesting transactions timeout. Is it possible that the appserver hangs because of these exceptions getting thrown and all the appservers resouces get used up so it doesn't take any more requests? Does any one have any ideas/experience with this issue?
    Thanks for any help in advance,
    R..

    Hi Rukus,
    AFAIK 4.5.1 was EOL-ed quite some time ago, so it may be
    pretty hard to get support for this version.
    You may find a solution by searching newsgroups
    archive. I've done some preliminary work for you,
    hopefully it will help:
    http://makeashorterlink.com/?M29D32364
    Regards,
    Slava Imeshev
    "Rukus" <[email protected]> wrote in message
    news:3eaf0172$[email protected]..
    Hi,
    I am running an application on wl4.5.1 and the app server seems to hangand average of about once a week and we have to restart it it seems really
    random. The only pattern we've noticed from looking at the log files is
    that just before we go down we get a lot of
    weblogic.ejb.extensions.LockTimedOutException ' s. There seems to be a
    deadlock for access to one of the entity beans and the requesting
    transactions timeout. Is it possible that the appserver hangs because of
    these exceptions getting thrown and all the appservers resouces get used up
    so it doesn't take any more requests? Does any one have any
    ideas/experience with this issue?
    >
    Thanks for any help in advance,
    R..

  • Why throws the "weblogic.ejb.extensions.LockTimedOutException" `s exception?

    When a statusful session bean be called frequencely in weblogic 5.1, weblogic throws
    "weblogic.ejb.extensions.LockTimedOutException", why?
    please help me!!thanks!!

    Hmmm, this exception occurs when two or more threads are trying to get an
    exclusive lock on a session(not permitted) or entity bean(times out) at the
    same time. Is it possible that two threads are accessing your session bean
    at the same time?
    "xiaoniao" <[email protected]> wrote in message
    news:3d96cde6$[email protected]..
    >
    When a statusful session bean be called frequencely in weblogic 5.1,weblogic throws
    "weblogic.ejb.extensions.LockTimedOutException", why?
    please help me!!thanks!!

  • Weblogic.ejb.extensions.LockTimedOutException: Bean could not be locked, current owner: '1068220908390_17680', new owner: '1068220908390_17748', timeout: '300000' ms

    Hi All,
    Again, Since yesterday (11/11/2003) , I started getting the Bean Lock error as
    below (I am using weblogic 4.5.1) :
    Note: We are using Stateless beans.
    Tue Nov 11 14:15:11 CET 2003:<I> <EJB> Transaction: '1068220908390_17748' rolled
    back due to EJB exception:
    com.sgs.common.framework.exception.EPlatformSystemException: An unexpected error
    occurs when trying to perform your request (RemoteException).
    weblogic.ejb.extensions.LockTimedOutException: Bean could not be locked, current
    owner: '1068220908390_17680', new owner: '1068220908390_17748', timeout: '300000'
    ms
         at com.sgs.ecertificate.CertificateSessionBean.getCertificate(CertificateSessionBean.java:1866)
         at com.sgs.ecertificate.CertificateSessionBean.approveCertificate(CertificateSessionBean.java:2617)
         at com.sgs.ecertificate.CertificateSessionBeanEOImpl.approveCertificate(CertificateSessionBeanEOImpl.java:936)
         at com.sgs.ecertificate.CertificateSessionBeanEOImpl_ServiceStub.approveCertificate(CertificateSessionBeanEOImpl_ServiceStub.java:1761)
         at com.sgs.ecertificate.ProcessApproveCertificateServlet.processRequest(ProcessApproveCertificateServlet.java:219)
         at com.sgs.common.framework.servlet.EPlatformServlet.doPost(EPlatformServlet.java:189)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:99)
         at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:311)
         at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:257)
         at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:550)
         at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:284)
         at weblogic.t3.srvr.ExecuteThread.run(ExecuteThread.java:105)
    Tue Nov 11 14:15:11 CET 2003: ERR #-3# com.sgs.ecertificate.ProcessApproveCertificateServlet
    An unexpected error occurs when trying to perform your request (RemoteException).
    com.sgs.common.framework.exception.EPlatformSystemException: An unexpected error
    occurs when trying to perform your request (RemoteException).
    weblogic.ejb.extensions.LockTimedOutException: Bean could not be locked, current
    owner: '1068220908390_17680', new owner: '1068220908390_17748', timeout: '300000'
    ms
         at weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:310)
         at weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObject.java:128)
         at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:182)
         at com.sgs.ecertificate.entity.CertificateEntityBeanEOImpl.getData(CertificateEntityBeanEOImpl.java:4645)
         at com.sgs.ecertificate.CertificateSessionBean.getCertificate(CertificateSessionBean.java:1743)
         at com.sgs.ecertificate.CertificateSessionBean.approveCertificate(CertificateSessionBean.java:2617)
         at com.sgs.ecertificate.CertificateSessionBeanEOImpl.approveCertificate(CertificateSessionBeanEOImpl.java:936)
         at com.sgs.ecertificate.CertificateSessionBeanEOImpl_ServiceStub.approveCertificate(CertificateSessionBeanEOImpl_ServiceStub.java:1761)
         at com.sgs.ecertificate.ProcessApproveCertificateServlet.processRequest(ProcessApproveCertificateServlet.java:219)
         at com.sgs.common.framework.servlet.EPlatformServlet.doPost(EPlatformServlet.java:189)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:99)
         at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:311)
         at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:257)
         at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:550)
         at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:284)
         at weblogic.t3.srvr.ExecuteThread.run(ExecuteThread.java:105)
    Thanks a lot in advance.
    Regards,
    Nilesh.

    Hi All,
    Again, Since yesterday (11/11/2003) , I started getting the Bean Lock error as
    below (I am using weblogic 4.5.1) :
    Note: We are using Stateless beans.
    Tue Nov 11 14:15:11 CET 2003:<I> <EJB> Transaction: '1068220908390_17748' rolled
    back due to EJB exception:
    com.sgs.common.framework.exception.EPlatformSystemException: An unexpected error
    occurs when trying to perform your request (RemoteException).
    weblogic.ejb.extensions.LockTimedOutException: Bean could not be locked, current
    owner: '1068220908390_17680', new owner: '1068220908390_17748', timeout: '300000'
    ms
         at com.sgs.ecertificate.CertificateSessionBean.getCertificate(CertificateSessionBean.java:1866)
         at com.sgs.ecertificate.CertificateSessionBean.approveCertificate(CertificateSessionBean.java:2617)
         at com.sgs.ecertificate.CertificateSessionBeanEOImpl.approveCertificate(CertificateSessionBeanEOImpl.java:936)
         at com.sgs.ecertificate.CertificateSessionBeanEOImpl_ServiceStub.approveCertificate(CertificateSessionBeanEOImpl_ServiceStub.java:1761)
         at com.sgs.ecertificate.ProcessApproveCertificateServlet.processRequest(ProcessApproveCertificateServlet.java:219)
         at com.sgs.common.framework.servlet.EPlatformServlet.doPost(EPlatformServlet.java:189)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:99)
         at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:311)
         at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:257)
         at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:550)
         at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:284)
         at weblogic.t3.srvr.ExecuteThread.run(ExecuteThread.java:105)
    Tue Nov 11 14:15:11 CET 2003: ERR #-3# com.sgs.ecertificate.ProcessApproveCertificateServlet
    An unexpected error occurs when trying to perform your request (RemoteException).
    com.sgs.common.framework.exception.EPlatformSystemException: An unexpected error
    occurs when trying to perform your request (RemoteException).
    weblogic.ejb.extensions.LockTimedOutException: Bean could not be locked, current
    owner: '1068220908390_17680', new owner: '1068220908390_17748', timeout: '300000'
    ms
         at weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:310)
         at weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObject.java:128)
         at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:182)
         at com.sgs.ecertificate.entity.CertificateEntityBeanEOImpl.getData(CertificateEntityBeanEOImpl.java:4645)
         at com.sgs.ecertificate.CertificateSessionBean.getCertificate(CertificateSessionBean.java:1743)
         at com.sgs.ecertificate.CertificateSessionBean.approveCertificate(CertificateSessionBean.java:2617)
         at com.sgs.ecertificate.CertificateSessionBeanEOImpl.approveCertificate(CertificateSessionBeanEOImpl.java:936)
         at com.sgs.ecertificate.CertificateSessionBeanEOImpl_ServiceStub.approveCertificate(CertificateSessionBeanEOImpl_ServiceStub.java:1761)
         at com.sgs.ecertificate.ProcessApproveCertificateServlet.processRequest(ProcessApproveCertificateServlet.java:219)
         at com.sgs.common.framework.servlet.EPlatformServlet.doPost(EPlatformServlet.java:189)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:747)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:840)
         at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:99)
         at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:311)
         at weblogic.servlet.internal.ServletContextImpl.invokeServlet(ServletContextImpl.java:257)
         at weblogic.socket.MuxableSocketHTTP.invokeServlet(MuxableSocketHTTP.java:550)
         at weblogic.socket.MuxableSocketHTTP.execute(MuxableSocketHTTP.java:284)
         at weblogic.t3.srvr.ExecuteThread.run(ExecuteThread.java:105)
    Thanks a lot in advance.
    Regards,
    Nilesh.

  • Urgent please!weblogic.ejb.extensions.LockTimedOutException

              Hi,
              We are using weblogic 5.1 with service pack 9.We get the following errors.Any
              idea what can be done to prevent these error messages and by which factor this
              time out of '300000 ms' is determined.How to change it/optimize it?
              weblogic.ejb.extensions.LockTimedOutException: Lock for
              primaryKey:users timed out after 300000 ms.
              at
              weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImp
              l.java:53)
              at
              weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(Stat
              efulEJBObject.java:162)
              at
              com.beasys.commerce.axiom.contact.GroupImplEOImpl.getUniqueId(Gr
              oupImplEOImpl.java:1322)
              

    Yourt Tx timeout is lock timeout.
              The default is 5 mnts. YOu will see the following error/info
              when one thread might be holding a lock on primaryKey "users" and this
              second thread has to wait until the first thread releases the lock. You
              have to investigate why the first thread is holding lock for more than 5
              mnts. Otherwise you will have to increase the tx timeout
              Kumar
              Bharat Varma wrote:
              > Hi,
              >
              > We are using weblogic 5.1 with service pack 9.We get the following errors.Any
              > idea what can be done to prevent these error messages and by which factor this
              > time out of '300000 ms' is determined.How to change it/optimize it?
              >
              > weblogic.ejb.extensions.LockTimedOutException: Lock for
              > primaryKey:users timed out after 300000 ms.
              > at
              > weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImp
              > l.java:53)
              > at
              > weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(Stat
              > efulEJBObject.java:162)
              > at
              > com.beasys.commerce.axiom.contact.GroupImplEOImpl.getUniqueId(Gr
              > oupImplEOImpl.java:1322)
              >
              >
              

  • Weblogic.ejb.extensions.LockTimeOutException HELP!

    Hi,
    We're seeing weblogic.ejb.extensions.LockTimeOutException when we try
    to access some Entity Bean's data member. I'm wondering someone could
    help us?
    There is some background:
    WL server 5.1, SP10 (almost sure:)
    Running in Solaris w/ Oracle 8i
    The sequence of calls is:
    IWorkspaceRemote workspace = (IWorkspaceRemote)
    getEntityBean(EJBConstants.JNDI_NAME_WORKSPACE, new
    Long(workspaceID));
    WorkspaceDetailData wsData = workspace.getWorkspaceDetailData();
    ( the EJB home is cached in memory ***)
    Inside ejbLoad() we're using the Composite Entity EJB pattern (for
    lazy loading) and looks something like this:
    void ejbLoad() {
    m_baseData = loadBaseData();
    if (m_detailData != null) {
    m_detailData = loadDetailData();
    DetailData getWorkspaceDetailData() {
    if (m_detailData == null) {
    m_detailData = loadDetailData();
    THe stack trace I get is:
    weblogic.ejb.extensions.LockTimedOutException: Lock for
    primaryKey:21071 timed out after 60000 ms.
    at weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImpl.java:53)
    at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:146)
    at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:81)
    at weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:456)
    at weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObject.java:162)
    at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:476)
    at com.intralinks.wsadmin.entity.WorkspaceBeanEOImpl.getWorkspaceDetailData(WorkspaceBeanEOImpl.java:155)
    at com.intralinks.util.IntralinksServlet.setWorkspaceIDNoEventLogging(Unknown
    Source)
    at com.intralinks.util.IntralinksServlet.setWorkspaceID(Unknown
    Source)
    at com.intralinks.servlets.html.workspaces.EnterWorkspaceServlet.process(Unknown
    Source)
    Any ideas?
    Thanks,
    - Roberto

    Hi Roberto,
    Check CP, data sources (if they are available in 5.1) etc for oracle instance
    parameters like servers, user ids, passwords, urls etc.
    S
    [email protected] (Roberto) wrote:
    Hi,
    We're seeing weblogic.ejb.extensions.LockTimeOutException when we try
    to access some Entity Bean's data member. I'm wondering someone could
    help us?
    There is some background:
    WL server 5.1, SP10 (almost sure:)
    Running in Solaris w/ Oracle 8i
    The sequence of calls is:
    IWorkspaceRemote workspace = (IWorkspaceRemote)
    getEntityBean(EJBConstants.JNDI_NAME_WORKSPACE, new
    Long(workspaceID));
    WorkspaceDetailData wsData = workspace.getWorkspaceDetailData();
    ( the EJB home is cached in memory ***)
    Inside ejbLoad() we're using the Composite Entity EJB pattern (for
    lazy loading) and looks something like this:
    void ejbLoad() {
    m_baseData = loadBaseData();
    if (m_detailData != null) {
    m_detailData = loadDetailData();
    DetailData getWorkspaceDetailData() {
    if (m_detailData == null) {
    m_detailData = loadDetailData();
    THe stack trace I get is:
    weblogic.ejb.extensions.LockTimedOutException: Lock for
    primaryKey:21071 timed out after 60000 ms.
    at weblogic.ejb.internal.LockManagerImpl.waitForLock(LockManagerImpl.java:53)
    at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:146)
    at weblogic.ejb.internal.LockManagerImpl.lock(LockManagerImpl.java:81)
    at weblogic.ejb.internal.StatefulEJBCache.bind(StatefulEJBCache.java:456)
    at weblogic.ejb.internal.StatefulEJBObject.getContextForInvoke(StatefulEJBObject.java:162)
    at weblogic.ejb.internal.BaseEJBObject.preInvoke(BaseEJBObject.java:476)
    at com.intralinks.wsadmin.entity.WorkspaceBeanEOImpl.getWorkspaceDetailData(WorkspaceBeanEOImpl.java:155)
    at com.intralinks.util.IntralinksServlet.setWorkspaceIDNoEventLogging(Unknown
    Source)
    at com.intralinks.util.IntralinksServlet.setWorkspaceID(Unknown
    Source)
    at com.intralinks.servlets.html.workspaces.EnterWorkspaceServlet.process(Unknown
    Source)
    Any ideas?
    Thanks,
    - Roberto

  • Weblogic-ejb-extensions.xml not producing desired effect

    weblogic-ejb-extensions.xml seems to have no effect on the output pstore
    location when deploying a stateful bean.
    i get the following errors...
    weblogic.ejb.common.DeploymentException: ; nested exception is:
    java.io.IOException: Could not make directory
    /usr/local/weblogic/pstore/stateful.Browse
    java.io.IOException: Could not make directory
    /usr/local/weblogic/pstore/stateful.Browse
    in the extensions xml i have the following:
    <persistence-store-descriptor>
    <persistence-store-file>
    <persistence-store-directory-root>
    /usr/local/weblogic/karson/pstore
    </persistence-store-directory-root>
    </persistence-store-file>
    </persistence-store-descriptor>
    as you can see from the above error the deployer is not using this
    information.
    any help is much appreciated.
    i also do not see a dtd for the weblogic-ejb-extensions.xml install, but i
    do for the more typical files such as weblogic-ejb-jar.xml . where is this
    dtd located?
    Karson

    weblogic-ejb-extensions.xml seems to have no effect on the output pstore
    location when deploying a stateful bean.
    i get the following errors...
    weblogic.ejb.common.DeploymentException: ; nested exception is:
    java.io.IOException: Could not make directory
    /usr/local/weblogic/pstore/stateful.Browse
    java.io.IOException: Could not make directory
    /usr/local/weblogic/pstore/stateful.Browse
    in the extensions xml i have the following:
    <persistence-store-descriptor>
    <persistence-store-file>
    <persistence-store-directory-root>
    /usr/local/weblogic/karson/pstore
    </persistence-store-directory-root>
    </persistence-store-file>
    </persistence-store-descriptor>
    as you can see from the above error the deployer is not using this
    information.
    any help is much appreciated.
    i also do not see a dtd for the weblogic-ejb-extensions.xml install, but i
    do for the more typical files such as weblogic-ejb-jar.xml . where is this
    dtd located?
    Karson

  • Weblogic  EJB Cache full exception

    For my application i am using weblogic 4.5.1, and while running the server i am getting
    an exception "weblogic.ejb.extensions.CacheFullException:".
    Though i have restarted the server still the problem persists, can you give suggestion
    how i can resolve this.
    [exception.doc]

    You'll get a CacheFullException if you exceed the max-beans-in-cache
    4.5.1 is pretty old right now, and I don't believe it's even supported anymore. I'd
    suggest upgrading if possible.
    -- Rob
    Vetriselvan wrote:
    For my application i am using weblogic 4.5.1, and while running the server i am getting
    an exception "weblogic.ejb.extensions.CacheFullException:".
    Though i have restarted the server still the problem persists, can you give suggestion
    how i can resolve this.
    Name: exception.doc
    exception.doc Type: Microsoft Word Document (application/msword)
    Encoding: base64

  • Weblogic.ejb20.locks.LockTimedOutException and pb with weblogic-ejb-jar.xml

    Hello All,
    I get a strange problem when I try to log in to the J2EE application based on EJBs:
    weblogic.ejb20.locks.LockTimedOutException
    I see that I can add an option to the weblogic-ejb-jar.xml file, and I hope that can help for my previous problem:
    <weblogic-enterprise-bean><stateful-session-descriptor>
    <allow-concurrent-calls>true</allow-concurrent-calls>
    </stateful-session-descriptor></weblogic-enterprise-bean>
    But I can not edit the weblogic-ejb-jar.xml file under JBuilder ! the file is probably read-only, but I do not know how to change the property. I can not find this file directly under JBuilder directories.
    So I have tried to open the module.jar that contained this file. I have checked: the file is not read-only. I have modified directly manually the weblogic-ejb-jar.xml file, but now I get this error in Jbuilder when I open the weblogic-ejb-jar.xml file:
    URL: Transformation requires a XSL StyleSheetThe Node does not have a style sheet associated with itEither add a style sheet using the Add stylesheets button on the toolbar or add a valid XSL Processing instruction to the document directly
    In conclusion, what should I do to be able to modify the weblogic-ejb-jar.xml file properly ??

    Ok in a way I have solved my problem (even if I am not completely satisfied by the way on how to proceed...). So thanks to message "JBuilder7.0 and Weblogic6.1" on EJB sun forum :
    http://forum.java.sun.com/thread.jsp?thread=285735&forum=13&message=1255488
    I have tried the following actions (mentionned in the other forum messages):
    - To preserve changes to weblogic*.xml, the safest way is to change the ejb-borland.xml.
    (I am not sure that I have applied this advice correctly, because I suppose that syntax is not similar in weblogic file or borland file).
    And you can MANUALLY update the weblogic file in your JAR archive.
    1. Open the EJB JAR file in Winzip and extract the weblogic-ejb-jar.xml file, so that a copy exists in your
    project directory.
    2. Open this file (in Notepad), add the WebLogic specific information, and then save the file.
    3. Now, when you are finished with the build cycle and are ready to deploy, you may open the EJB jar file
    and swap in the weblogic-ejb-jar.xml file."
    Good Luck.

  • Help: I'm sure it is a Bug in JNI calling WebLogic EJB

    Help me! I'm using jni to call weblogic EJB from a Com+ component,here is the code:
    // This is the main project file for VC++ application project
    // generated using an Application Wizard.
    #include "stdafx.h"
    #pragma unmanaged
    #include <windows.h>
    #include <jni.h>
    #include <process.h>
    #include <stdio.h>
    #define USER_CLASSPATH "C:\\myClasses;C:\\j2sdk1.4.0\\lib\\tools.jar;Z:\\wlserver6.1\\lib\\weblogic.jar;"
    /* where Prog.class is */
    JavaVM *jvm;
    * Function GetJNIEnv(void) returns the java environment pointer
    * in case we are executing on a thread other than the one the
    * jvm was created on.
    JNIEnv* GetJNIEnv(void){
         JNIEnv *env = NULL;
         jint nRet = jvm->GetEnv((void **)&env, JNI_VERSION_1_2);
         if(nRet == JNI_EDETACHED){
              jvm->AttachCurrentThread((void **)&env, NULL);
         return env;
    * Function DoJNDI(void *arg) uses the Java Invocation API to
    * execute the following Java code:
    * Hashtable prop = new Hashtable();
    * prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"
    * prop.put( Context.PROVIDER_URL, "t3://192.168.40.137:7001" );
    * ctxInitial = new InitialDirContext( prop );
    void DoJNDI(void *arg){
         jclass clsHash, clsInitDirCx;
         jmethodID mHashInit, mHashPut, mInitDirCxInit;
         jobject objHash, objInitDirCx;
         JNIEnv *env = GetJNIEnv(); // Get the environment if on a different thread
         clsHash = env->FindClass("java/util/Hashtable");
         mHashInit = env->GetMethodID(clsHash, "<init>", "()V");
         objHash = env->NewObject(clsHash, mHashInit);
         mHashPut = env->GetMethodID(clsHash, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
         jstring jstrICxFactoryPut = env->NewStringUTF("java.naming.factory.initial");
         jstring jstrICxFactoryVal = env->NewStringUTF("weblogic.jndi.WLInitialContextFactory");
         env->CallObjectMethod(objHash, mHashPut, jstrICxFactoryPut,jstrICxFactoryVal);
         jstring jstrProviderUrlPut = env->NewStringUTF("java.naming.provider.url");
         jstring jstrProviderUrlVal = env->NewStringUTF("t3://192.168.40.137:7001");
         env->CallObjectMethod(objHash, mHashPut, jstrProviderUrlPut,jstrProviderUrlVal);
         clsInitDirCx = env->FindClass("javax/naming/InitialContext");
         mInitDirCxInit = env->GetMethodID(clsInitDirCx, "<init>", "(Ljava/util/Hashtable;)V");
         objInitDirCx = env->NewObject(clsInitDirCx, mInitDirCxInit, objHash);
         if(objInitDirCx == NULL){
              printf("%s test FAILED:\n\n", (char*)arg);
         else{
              printf("%s test PASSED\n\n", (char*)arg);
         jvm->DetachCurrentThread();
    * Function main(void) creates a JVM, and calls DoJNDI twice:
    * Once as a regular function call, and once as a spun off thread.
    void main() {
    JavaVMInitArgs vm_args;
    JavaVMOption options[5];
         options[0].optionString = "-client";
    options[1].optionString =
    "-cp " USER_CLASSPATH;
    options[2].optionString =
    "-Djava.class.path=" USER_CLASSPATH;
         //options[3].optionString =
         //     "-Xbootclasspath:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;z:\\wlserver6.1\\lib\\weblogic.jar;";
         options[3].optionString =
              "-Xbootclasspath/a:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
         options[4].optionString =
              "-Xbootclasspath/p:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
    vm_args.version = 0x00010002;
    vm_args.options = options;
    vm_args.nOptions = 5;
    vm_args.ignoreUnrecognized = JNI_TRUE;
         JNIEnv *env;
         jint res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
         // *** Make the magic calls! (Both lines should do the same thing) ***
         DoJNDI((void*)"Function call");
         _beginthread(DoJNDI,0,(void *)"Thread call");
         /* wait for thread(s) to finish */
         Sleep(5000);
         jvm->DestroyJavaVM();
    But it always send me a Exception like below:
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory.
    Root exception is java.lang.ClassNotFoundException: weblogic/jndi/WLInitialContextFactory
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:207)
    at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    when I search this problem in java.sun.com,an article announce that it is a bug that
    JNDI not support multi-threads call,and it is fixed is JDK1.4 beta. The link is:
    http://developer.java.sun.com/developer/bugParade/bugs/4307751.html
    It seems that weblogic's JNDI is not support multi-thread call. what can i do?

    Try adding the following code before instantiating your initial context:
    Thread.currentThread().setContextClassLoader( ClassLoader.getSystemClassLoader()
    This fixed the problem for me.
    -Brian
    "Edward Lu" <[email protected]> wrote:
    >
    Help me! I'm using jni to call weblogic EJB from a Com+ component,here is
    the code:
    // This is the main project file for VC++ application project
    // generated using an Application Wizard.
    #include "stdafx.h"
    #pragma unmanaged
    #include <windows.h>
    #include <jni.h>
    #include <process.h>
    #include <stdio.h>
    #define USER_CLASSPATH "C:\\myClasses;C:\\j2sdk1.4.0\\lib\\tools.jar;Z:\\wlserver6.1\\lib\\weblogic.jar;"
    /* where Prog.class is */
    JavaVM *jvm;
    * Function GetJNIEnv(void) returns the java environment pointer
    * in case we are executing on a thread other than the one the
    * jvm was created on.
    JNIEnv* GetJNIEnv(void){
         JNIEnv *env = NULL;
         jint nRet = jvm->GetEnv((void **)&env, JNI_VERSION_1_2);
         if(nRet == JNI_EDETACHED){
              jvm->AttachCurrentThread((void **)&env, NULL);
         return env;
    * Function DoJNDI(void *arg) uses the Java Invocation API to
    * execute the following Java code:
    * Hashtable prop = new Hashtable();
    * prop.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"
    * prop.put( Context.PROVIDER_URL, "t3://192.168.40.137:7001" );
    * ctxInitial = new InitialDirContext( prop );
    void DoJNDI(void *arg){
         jclass clsHash, clsInitDirCx;
         jmethodID mHashInit, mHashPut, mInitDirCxInit;
         jobject objHash, objInitDirCx;
         JNIEnv *env = GetJNIEnv(); // Get the environment if on a different thread
         clsHash = env->FindClass("java/util/Hashtable");
         mHashInit = env->GetMethodID(clsHash, "<init>", "()V");
         objHash = env->NewObject(clsHash, mHashInit);
         mHashPut = env->GetMethodID(clsHash, "put", "(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;");
         jstring jstrICxFactoryPut = env->NewStringUTF("java.naming.factory.initial");
         jstring jstrICxFactoryVal = env->NewStringUTF("weblogic.jndi.WLInitialContextFactory");
         env->CallObjectMethod(objHash, mHashPut, jstrICxFactoryPut,jstrICxFactoryVal);
         jstring jstrProviderUrlPut = env->NewStringUTF("java.naming.provider.url");
         jstring jstrProviderUrlVal = env->NewStringUTF("t3://192.168.40.137:7001");
         env->CallObjectMethod(objHash, mHashPut, jstrProviderUrlPut,jstrProviderUrlVal);
         clsInitDirCx = env->FindClass("javax/naming/InitialContext");
         mInitDirCxInit = env->GetMethodID(clsInitDirCx, "<init>", "(Ljava/util/Hashtable;)V");
         objInitDirCx = env->NewObject(clsInitDirCx, mInitDirCxInit, objHash);
         if(objInitDirCx == NULL){
              printf("%s test FAILED:\n\n", (char*)arg);
         else{
              printf("%s test PASSED\n\n", (char*)arg);
         jvm->DetachCurrentThread();
    * Function main(void) creates a JVM, and calls DoJNDI twice:
    * Once as a regular function call, and once as a spun off thread.
    void main() {
    JavaVMInitArgs vm_args;
    JavaVMOption options[5];
         options[0].optionString = "-client";
    options[1].optionString =
    "-cp " USER_CLASSPATH;
    options[2].optionString =
    "-Djava.class.path=" USER_CLASSPATH;
         //options[3].optionString =
         //     "-Xbootclasspath:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;z:\\wlserver6.1\\lib\\weblogic.jar;";
         options[3].optionString =
              "-Xbootclasspath/a:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
         options[4].optionString =
              "-Xbootclasspath/p:c:\\j2sdk1.4.0\\lib\\tools.jar;z:\\wlserver6.1\\lib\\weblogic_sp.jar;";
    vm_args.version = 0x00010002;
    vm_args.options = options;
    vm_args.nOptions = 5;
    vm_args.ignoreUnrecognized = JNI_TRUE;
         JNIEnv *env;
         jint res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
         // *** Make the magic calls! (Both lines should do the same thing) ***
         DoJNDI((void*)"Function call");
         _beginthread(DoJNDI,0,(void *)"Thread call");
         /* wait for thread(s) to finish */
         Sleep(5000);
         jvm->DestroyJavaVM();
    But it always send me a Exception like below:
    javax.naming.NoInitialContextException: Cannot instantiate class: weblogic.jndi.WLInitialContextFactory.
    Root exception is java.lang.ClassNotFoundException: weblogic/jndi/WLInitialContextFactory
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:207)
    at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:42)
    at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:649)
    at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:243)
    at javax.naming.InitialContext.init(InitialContext.java:219)
    at javax.naming.InitialContext.<init>(InitialContext.java:195)
    when I search this problem in java.sun.com,an article announce that it is
    a bug that
    JNDI not support multi-threads call,and it is fixed is JDK1.4 beta. The
    link is:
    http://developer.java.sun.com/developer/bugParade/bugs/4307751.html
    It seems that weblogic's JNDI is not support multi-thread call. what can
    i do?

  • Deploy ejb on wls7.0 weblogic.ejb.jar.xml ! help

    Morning !
    i'm try to deploy a EJB on wls7.0
    my descriptor is like this and i don't really undestand what's go wrong.
    thanks you to help
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 7.0.0
    EJB//EN" "http://www.bea.com/servers/wls700/dtd/weblogic700-ejb-jar.dtd" >
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <entity>
    <ejb-name>Compte</ejb-name>
    <bean-home-name>Compte</bean-home-name>
    <resource-ref>
    <res-ref-name>jdbc/DataSource</res-ref-name>
    <jndi-name>DataSource</jndi-name>
    </resource-ref>
    <cmp-info>
    <database-map>
    <table>"Compte"</table>
    <column-map>
    <field-name>id</field-name>
    <column-name>"id"</column-name>
    </column-map>
    <column-map>
    <field-name>nomSte</field-name>
    <column-name>"nomSte"</column-name>
    </column-map>
    <column-map>
    <field-name>dateCreation</field-name>
    <column-name>"dateCreation"</column-name>
    </column-map>
    <column-map>
    <field-name>nbEmployes</field-name>
    <column-name>"nbEmployes"</column-name>
    </column-map>
    <column-map>
    <field-name>caSte</field-name>
    <column-name>"caSte"</column-name>
    </column-map>
    <column-map>
    <field-name>descSte</field-name>
    <column-name>"descSte"</column-name>
    </column-map>
    <column-map>
    <field-name>logo</field-name>
    <column-name>"logo"</column-name>
    </column-map>
    <column-map>
    <field-name>id_commercial</field-name>
    <column-name>"id_commercial"</column-name>
    </column-map>
    </database-map>
    <finder>
    <method-signature>findAll()</method-signature>
    <where-clause />
    <load-state>True</load-state>
    </finder>
    </cmp-info>
    </entity>
    <datasource-definitions>
    <datasource>
    <jndi-name>DataSource</jndi-name>
    <url>jdbc:odbc:dev_java</url>
    <username>sa</username>
    <password>lnx.sully</password>
    <driver-class-name>sun.jdbc.odbc.JdbcOdbcDriver</driver-class-name>
    </datasource>
    </datasource-definitions>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    the EXception is !
    Exception
    weblogic.management.ApplicationException: No deployment found at
    E:\bea70\weblogic700\server\bin\GRPEJB.jar.
    at
    weblogic.j2ee.J2EEApplicationContainerFactory.initializeDeployment(J2EEAppli
    cationContainerFactory.java:350)
    at
    weblogic.management.deploy.DeployerRuntime.unprotectedActivate(DeployerRunti
    me.java:350)
    at
    weblogic.management.deploy.DeployerRuntime.access$0(DeployerRuntime.java:282
    at
    weblogic.management.deploy.DeployerRuntime$1.run(DeployerRuntime.java:947)
    at
    weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
    r.java:721)
    at
    weblogic.management.deploy.DeployerRuntime.checkAndPerformDeployerActions(De
    ployerRuntime.java:941)
    at
    weblogic.management.deploy.DeployerRuntime.activate(DeployerRuntime.java:279
    at java.lang.reflect.Method.invoke(Native Method)
    at
    weblogic.management.internal.DynamicMBeanImpl.invokeLocally(DynamicMBeanImpl
    .java:717)
    at
    weblogic.management.internal.DynamicMBeanImpl.invoke(DynamicMBeanImpl.java:6
    99)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1555)
    at com.sun.management.jmx.MBeanServerImpl.invoke(MBeanServerImpl.java:1523)
    at
    weblogic.management.internal.RemoteMBeanServerImpl.invoke(RemoteMBeanServerI
    mpl.java:921)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:470)
    at weblogic.management.internal.MBeanProxy.invoke(MBeanProxy.java:198)
    at $Proxy48.activate(Unknown Source)
    at
    weblogic.management.console.actions.mbean.ConfigureAppWizardAction.commit(Co
    nfigureAppWizardAction.java:248)
    at
    weblogic.management.console.actions.mbean.ConfigureAppWizardAction.perform(C
    onfigureAppWizardAction.java:100)
    at
    weblogic.management.console.actions.internal.ActionServlet.doAction(ActionSe
    rvlet.java:171)
    at
    weblogic.management.console.actions.internal.ActionServlet.doPost(ActionServ
    let.java:85)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at
    weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(Servle
    tStubImpl.java:945)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :332)
    at
    weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java
    :242)
    at
    weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(W
    ebAppServletContext.java:5360)
    at
    weblogic.security.service.SecurityServiceManager.runAs(SecurityServiceManage
    r.java:721)
    at
    weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletCo
    ntext.java:3043)
    at
    weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java
    :2468)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:152)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:133)
    tahnks you !
    Unimon Thierry
    CGBI- CET-E-services
    69, Blvd Galliéni
    91 Issy les Mlx
    tele :01/55/95/54/22 Poste:5422
    Port :06/61/81/78/59
    Prof : mailto:[email protected]
    Pers : mailto:[email protected]

    oops! Pls ignore my previous mail. It was for a different problem.
    FOr the original problem of "couldn ot locate the bean with the ejb-name XZY in weblogic-ejb-jar.xml":
    This happens if you don't have the below files defined
    for a JAR/EAR file:
    weblogic-ejb-jar.xml and weblogic-cmp-rdbms-jar.xml (needed if you have any Datasource mapped)
    These two are basic files required for any JAR/EAR file.
    If you dont' have it already you can generate them using
    $WLS_HOME/bin/startWLBuilder.sh GUI tool bundled along
    with WLS (I used 8.1 SP4) to generate these files ! This tool is really helpful.
    - Mouli

  • Error parsing weblogic-ejb-jar. HELP please :(

    When I have added the transaction-descriptor into weblogic-ejb-jar.xml I start getting next error:
    [java] ERROR: Error parsing 'META-INF/weblogic-ejb-jar.xml' line 18: The content of element type "weblogic-enterprise-bean" must match "(ejb-name,caching-descriptor?,persistence-descriptor?,clustering-descriptor?,transaction-descriptor?,reference-descriptor?,enable-call-by-reference?,jndi-name?,transaction-isolation*)".
    The weblogic-ejb.jar.xml is the next:
    <?xml version="1.0"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 5.1.0 EJB//EN' 'http://www.bea.com/servers/wls510/dtd/weblogic-ejb-jar.dtd'>
    <weblogic-ejb-jar>
         <weblogic-enterprise-bean>
         <ejb-name>statelessSession</ejb-name>
         <caching-descriptor>
              <max-beans-in-free-pool>100</max-beans-in-free-pool>
              <idle-timeout-seconds>1200</idle-timeout-seconds>
         </caching-descriptor>
         <transaction-descriptor>
         <trans-timeout-seconds>50</trans-timeout-seconds>
         </transaction-descriptor>
         <jndi-name>statelessSession.EcasServicesHome</jndi-name>
         </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    Please tell me what did I do wrong and how to fix the problem.
    Thnx.
    VG.

    I suspect you are using a version of WebLogic higher than 5.1. Coz, your XML is invalid if I use the following DOCTYPE.
    <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
    You can try this
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
    <weblogic-ejb-jar>
    <weblogic-enterprise-bean>
    <ejb-name>statelessSession</ejb-name>
    <stateless-session-descriptor>
    <pool>
    <max-beans-in-free-pool>100</max-beans-in-free-pool>
    <initial-beans-in-free-pool>20</initial-beans-in-free-pool>
    </pool>
    </stateless-session-descriptor>
    <transaction-descriptor>
    <trans-timeout-seconds>50</trans-timeout-seconds>
    </transaction-descriptor>
    <jndi-name>statelessSession.EcasServicesHome</jndi-name>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    cheers !
    Dips

  • Failed to load weblogic-ejb-jar.xml

    Hi,
    I try to deploy an EJB on Weblogic 9.1, but the weblogic-ejb-jar seems to cause this exception :
    ======================================================
    [wlappc] <30 oct. 2006 12 h 13 CET> <Error> <J2EE> <BEA-160187> <weblogic.appc failed to compile your application. Recompile with the -verbose option for more details. Please see the error message(s) below.>
    [wlappc] com.bea.xml.XmlException: failed to load java type corresponding to e=weblogic-ejb-jar@http://www.bea.com/ns/weblogic/910
    [wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.getPojoBindingType(UnmarshalResult.java:325)
    [wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:292)
    [wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.determineTypeForGlobalElement(UnmarshalResult.java:302)
    [wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.determineRootType(UnmarshalResult.java:283)
    [wlappc] at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalDocument(UnmarshalResult.java:153)
    [wlappc] at com.bea.staxb.runtime.internal.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:65)
    [wlappc] at weblogic.descriptor.internal.MarshallerFactory$1.createDescriptor(MarshallerFactory.java:138)
    [wlappc] at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:271)
    [wlappc] at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:240)
    [wlappc] at weblogic.descriptor.DescriptorManager.createDescriptor(DescriptorManager.java:300)
    [wlappc] at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:344)
    [wlappc] at weblogic.application.descriptor.CachingDescriptorLoader.createDescriptor(CachingDescriptorLoader.java:188)
    [wlappc] at weblogic.application.descriptor.AbstractDescriptorLoader.createDescriptor(AbstractDescriptorLoader.java:328)
    [wlappc] at weblogic.application.descriptor.AbstractDescriptorLoader.getDescriptor(AbstractDescriptorLoader.java:237)
    [wlappc] at weblogic.application.descriptor.AbstractDescriptorLoader.getRootDescriptorBean(AbstractDescriptorLoader.java:217)
    [wlappc] at weblogic.ejb.spi.EjbJarDescriptor.parseWeblogicEjbJarBean(EjbJarDescriptor.java:171)
    [wlappc] at weblogic.ejb.container.dd.xml.DDUtils.processWLEjbJarXMLWithSchema(DDUtils.java:706)
    [wlappc] at weblogic.ejb.container.dd.xml.DDUtils.parseWLDD(DDUtils.java:535)
    [wlappc] at weblogic.ejb.container.dd.xml.DDUtils.createDescriptorFromJarFile(DDUtils.java:358)
    [wlappc] at weblogic.ejb.container.dd.xml.DDUtils.createReadOnlyDescriptorFromJarFile(DDUtils.java:141)
    [wlappc] at weblogic.ejb.container.ejbc.EJBCompiler.parseDescriptors(EJBCompiler.java:1345)
    [wlappc] at weblogic.ejb.container.ejbc.EJBCompiler.compileEJB(EJBCompiler.java:431)
    [wlappc] at weblogic.application.compiler.AppcUtils.compileEJB(AppcUtils.java:292)
    [wlappc] at weblogic.application.compiler.EJBCompiler.compile(EJBCompiler.java:95)
    [wlappc] at weblogic.application.compiler.flow.AppCompilerFlow.compileInput(AppCompilerFlow.java:113)
    [wlappc] at weblogic.application.compiler.flow.AppCompilerFlow.compile(AppCompilerFlow.java:43)
    [wlappc] at weblogic.application.compiler.FlowDriver$FlowStateChange.next(FlowDriver.java:55)
    [wlappc] at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:26)
    [wlappc] at weblogic.application.compiler.FlowDriver.run(FlowDriver.java:24)
    [wlappc] at weblogic.application.compiler.Appc.runBody(Appc.java:151)
    [wlappc] at weblogic.utils.compiler.Tool.run(Tool.java:158)
    [wlappc] at weblogic.utils.compiler.Tool.run(Tool.java:115)
    ======================================================
    Here is my weblogic-ejb-jar.xml file :
    ======================================================
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <weblogic-ejb-jar xmlns="http://www.bea.com/ns/weblogic/910"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.bea.com/ns/weblogic/910
              http://www.bea.com/ns/weblogic/910/weblogic-ejb-jar.xsd">
    <weblogic-enterprise-bean>
    <ejb-name>MyMDB</ejb-name>
    <message-driven-descriptor>
         <resource-adapter-jndi-name>ActiveMQRA</resource-adapter-jndi-name>
         <connection-factory-jndi-name>myQCF</connection-factory-jndi-name>
    </message-driven-descriptor>
    <resource-description>
    <res-ref-name>jms/factory</res-ref-name>
    <jndi-name>myQCF</jndi-name>
    </resource-description>
    <resource-env-description>
    <resource-env-ref-name>jms/queue</resource-env-ref-name>
    <jndi-name>queue.out</jndi-name>
    </resource-env-description>
    </weblogic-enterprise-bean>
    </weblogic-ejb-jar>
    ======================================================
    So, it looks like this problem : http://forums.bea.com/bea/message.jspa?messageID=600018030&tstart=0
    I just need a confirmation :
    - is the "res-ref-name" format incorrect with '/' character ?
    - is the jndi-name format incorrect with '.' character ?
    Else, what is the problem with this DD ?
    Thanks,
    Rudy

    "shubha" <[email protected]> wrote:
    >
    hi ,
    Ejb with ejb-name 'hellobean' in ejb-jar.xml
    should be specified in weblogic-ejb-jar.xml with <weblogic-enterprise-bean></weblogic-enterprise-bean>
    i am having problem in deploying the most simple bean on wls7.0 .
    when i try to open the bean module with the weblogic builder i get the
    following
    message
    weblogic.ejb20.WLDeploymentException: Could not locate bean with ejb-name
    'hellobean'
    in weblogic-ejb-jar.xml
         at weblogic.ejb20.deployer.CompositeMBeanDescriptor.initialize60(CompositeMBeanDescriptor.java:249)
         at weblogic.ejb20.deployer.CompositeMBeanDescriptor.init(CompositeMBeanDescriptor.java:180)
         at weblogic.ejb20.deployer.CompositeMBeanDescriptor.<init>(CompositeMBeanDescriptor.java:171)
         at weblogic.marathon.model.EJBJarCMBean.setup(EJBJarCMBean.java:408)
         at weblogic.marathon.tasks.OpenModuleTask.figureOutModule(OpenModuleTask.java:76)
         at weblogic.marathon.tasks.OpenModuleTask.figureOutModule(OpenModuleTask.java:109)
         at weblogic.marathon.tasks.OpenModuleTask.runBackground(OpenModuleTask.java:64)
         at weblogic.jellybeans.core.task.TaskThread.execute(TaskThread.java:114)
         at weblogic.jellybeans.core.task.TaskThread.run(TaskThread.java:55)
    Could not locate bean with ejb-name 'hellobean' in weblogic-ejb-jar.xml
    Module hello1 descriptors failed to load
    if anyone has come across the same problem and have debugged it please
    help me
    out
    thanks in advance

  • Using Weblogic Console Extension tag library...

    Now i am working with weblogic 8.1
    I am using Weblogic Console Extension Example...downloaded from dev2dev.bea.com...
    at that example console Jsp program is as below for
    the development of node...
    <br>
    <b><wl:node
    label='<%="My Console Extension"%>'
    icon='/images/folder.gif'
    expanded='true'>
    </wl:node></b>
    <br><br>
    <i><b>But i want two folder icons...for open folder...and closed folder...</b></i>
    <br>
    i have gifs...but how i modify this
    jsp...or tag library...any one can help me...
    <br>
    raju

    "Otherwise let me know tools that can tell me threads, memory, cpu, etc and provide notification, etc." -- Hi, I'm familiar with a third-party tool that is suitable for larger deployments, it collects the data you mention for Weblogic instances and also does performance monitoring at the cluster level. Here is a description of their WebLogic integration pack -- http://www.evidentsoftware.com/products/clearstone-for-weblogic/. Hope this helps.

  • Use of externally-defined/ in weblogic-ejb-jar.xml

    I am trying to use Global Roles defined via the Weblogic console to control access to EJB methods.
    I am using the <externally-defined/> tag in security role assignments, however when I deploy to Weblogic I get the following error :
    <8/09/2004 04:21:42 PM GMT+10:00> <Error> <Deployer> <BEA-149205> <Failed to initialize the application appsdirmars-marketdata_ear due to error weblogic.manag
    ement.ApplicationException: Prepare failed. Task Id = null
    Module Name: ejb-marketdata.jar, Error: [EJB:011024]The XML parser encountered an error in your deployment descriptor. Please ensure that your deployment descriptor corresponds to the format in the DTD. The error was:
    Error parsing file 'META-INF/weblogic-ejb-jar.xml' at line: 51 column: 26. Element type "externally-defined" must be declared..
    at weblogic.j2ee.J2EEApplicationContainer.checkForErrors(J2EEApplication
    Container.java:1612)
    at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain
    er.java:1207)
    at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain
    er.java:1051)
    at weblogic.j2ee.J2EEApplicationContainer.prepare(J2EEApplicationContain
    er.java:823)
    at weblogic.management.deploy.slave.SlaveDeployer$Application.prepare(Sl
    aveDeployer.java:2925)
    at weblogic.management.deploy.slave.SlaveDeployer.prepareAllApplications
    (SlaveDeployer.java:967)
    at weblogic.management.deploy.slave.SlaveDeployer.resume(SlaveDeployer.j
    ava:349)
    at weblogic.management.deploy.DeploymentManagerServerLifeCycleImpl.resum
    e(DeploymentManagerServerLifeCycleImpl.java:229)
    at weblogic.t3.srvr.SubsystemManager.resume(SubsystemManager.java:131)
    at weblogic.t3.srvr.T3Srvr.resume(T3Srvr.java:966)
    at weblogic.t3.srvr.T3Srvr.run(T3Srvr.java:361)
    at weblogic.Server.main(Server.java:32)
    I am running Weblogic 8.1 SP3 on Windows XP Pro.
    The XML is valid for the specified DTD according to my XML editor.
    The relevevant fragment from weblogic-ejb-jar.xml is included below.
    Any help much appreciated.
    Gavin.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
    <weblogic-ejb-jar>
    <security-role-assignment>
    <role-name>MarsAdmin</role-name>
    <externally-defined/>
    </security-role-assignment>
    <security-role-assignment>
    <role-name>MarsViewer</role-name>
    <externally-defined/>
    </security-role-assignment>
    </weblogic-ejb-jar>

    I tried using the <global-role/> tag instead - this does deploy without any errors - but when I call the secure EJB method I get the Security Violation error below.
    The DTD says using the <global-role/> tag is fine, albeit deprecated, but the Weblogic 8.1 manual says this has been replaced by <externally-defined/>, so I'm not sure if this should work or not.
    [EJB:010160]Security Violation: User: 'ghughes' has insufficient permission to access EJB: type=<ejb>, application=_appsdir_mars-marketdata_ear, module=ejb-marketdata.jar, ejb=marketdata.MarketDataManager, method=getEnergyOverview, methodInterface=Remote, signature={java.util.Date}.
    So on the whole I'd prefer to work out why Weblogic isn't recognising <externally-defined/> - I've included the full deployment descriptor below - I'm generating it using the latest snapshot of XDoclet - is the DTD specified correct for Weblogic 8.1 SP3 ? (It matches the one specified in http://e-docs.bea.com/wls/docs81/ejb/DDreference-ejb-jar.html - but I can't think of anything else that could be wrong).
    Any tips much appreciated as I need to enable an administrator to customise these roles at runtime rather than hard-coding the role - group mappings into the deployment descriptors.
    Thanks,
    Gavin.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE weblogic-ejb-jar PUBLIC "-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB//EN" "http://www.bea.com/servers/wls810/dtd/weblogic-ejb-jar.dtd">
    <weblogic-ejb-jar>
    <description><![CDATA[Generated by XDoclet]]></description>
    <weblogic-enterprise-bean>
    <ejb-name>marketdata.MarketDataManager</ejb-name>
    <stateless-session-descriptor>
    </stateless-session-descriptor>
    <reference-descriptor>
    </reference-descriptor>
    <jndi-name>marketdata.MarketDataManager</jndi-name>
    <local-jndi-name>marketdata.MarketDataManagerLocal</local-jndi-name>
    </weblogic-enterprise-bean>
    <weblogic-enterprise-bean>
    <ejb-name>marketdata.MessageManager</ejb-name>
    <message-driven-descriptor>
    <pool>
    <max-beans-in-free-pool>5</max-beans-in-free-pool>
    <initial-beans-in-free-pool>1</initial-beans-in-free-pool>
    </pool>
    <destination-jndi-name>FileTopic</destination-jndi-name>
    <connection-factory-jndi-name>JMSConnectionFactory</connection-factory-jndi-name>
    <jms-polling-interval-seconds>10</jms-polling-interval-seconds>
    <jms-client-id>1</jms-client-id>
    </message-driven-descriptor>
    <transaction-descriptor>
    <trans-timeout-seconds>10</trans-timeout-seconds>
    </transaction-descriptor>
    <reference-descriptor>
    </reference-descriptor>
    <enable-call-by-reference>True</enable-call-by-reference>
    </weblogic-enterprise-bean>
    <!--
    To add enterprise beans that you have deployment descriptor info for, add
    a file to your XDoclet merge directory called weblogic-enterprise-beans.xml that contains
    the <weblogic-enterprise-bean></weblogic-enterprise-bean> markup for those beans.
    -->
    <!-- xdoclet merge file -> weblogic-ejb-jar.xml -->
    <security-role-assignment>
    <role-name>MarsAdmin</role-name>
    <externally-defined/>
    </security-role-assignment>
    <security-role-assignment>
    <role-name>MarsViewer</role-name>
    <externally-defined/>
    </security-role-assignment>
    <idempotent-methods>
    </idempotent-methods>
    </weblogic-ejb-jar>
    Message was edited by [email protected] at Sep 8, 2004 8:45 PM

Maybe you are looking for

  • Duplex Printing of Adobe Forms.

    Hi All, In our project we are making use of adobe forms. Currently if we print the forms, then they are printed only on one side of the paper. Could you please let us know, if it is possible to provide the duplex printing option? If yes, please let u

  • Field Selection Keys related to Purchase Order

    Hi,        I have a query regarding Field Selection Key. When we go to Field Selection Screen connected to Purchase Order, we can find so many Field Selection Keys viz., $$$$, $$$2, AKTH, ME21N, etc. How to judge which is to be used when? I like to k

  • Process chain node is in yellow colour but job completed successfully

    Hi All, I have one master data load process chain. This process chain have one child process chain also. Parent process chain was showing Fail for one child process chain. When I checked child process chain I got to know that one info package is stil

  • When I open an .swf file in Adobe Flash Pro it doesn't show up.

    Hey, I'm having a problem. I have Adobe Flash Professional CS5.5, I'm trying to convert an SWF file to a GIF animation. What I do is: New-->Actionscript 3.0 Import-->Import to stage-->open my .swf file It shows the frames of it but it's all blank and

  • Wildcard matching for a single uid/email address

    I need to create an account which will receive all mail who's "To:" field matches a string. Specifically, I wish to create a UID=mailproxy which will receive all mail addressed to *[email protected]  If it matters, mail addressed to this account will