Can't run BMP Entity Bean using WebLogic 8.1


EJB design: Can't run BMP Entity Bean using WebLogic 8.1

  1. Can't run BMP Entity Bean using WebLogic 8.1 (1 messages)

    Hi there

    I am trying to run the client using weblogic 8.1. The deployment of the application is successful but everytimeI try to run the client it gives me the following error:
    D:\Training courses\EJB\examples\BMP>java -Djava.naming.factory.initial=weblogic
    .jndi.WLInitialContextFactory -Djava.naming.provider.url=t3://localhost:7001 cli
    Caught an exception.
    java.rmi.RemoteException: Exception in ejbLoad:; nested exception is:
            javax.ejb.EJBException: ejbLoad: The transaction is no longer active - s
    tatus: 'Committed'. No further JDBC access is allowed within this transaction.
            at weblogic.rjvm.BasicOutboundRequest.sendReceive(BasicOutboundRequest.j
            at weblogic.rmi.internal.activation.ActivatableRemoteRef.invoke(Activata
            at weblogic.rmi.cluster.ClusterActivatableRemoteRef.invoke(ClusterActiva
            at Sour
            at client.SavingsAccountClient.main(
    Caused by: javax.ejb.EJBException: ejbLoad: The transaction is no longer active
    - status: 'Committed'. No further JDBC access is allowed within this transaction
            at beans.SavingsAccountBean.ejbLoad(
            at beans.SavingsAccountBean_v5pho8_Impl.ejbLoad(SavingsAccountBean_v5pho
            at weblogic.ejb20.manager.DBManager.loadBean(
            at weblogic.ejb20.manager.DBManager.enrollInTransaction(
            at weblogic.ejb20.cache.EntityCache$KeyData.get(
            at weblogic.ejb20.cache.EntityCache.get(
            at weblogic.ejb20.cache.EntityCache.get(
            at weblogic.ejb20.manager.DBManager.getReadyBean(
            at weblogic.ejb20.manager.DBManager.preInvoke(
            at weblogic.ejb20.internal.BaseEJBObject.preInvoke(
            at weblogic.ejb20.internal.EntityEJBObject.preInvoke(EntityEJBObject.jav
            at beans.SavingsAccountBean_v5pho8_EOImpl_WLSkel.invoke(Unknown Source)
            at weblogic.rmi.internal.activation.ActivatableServerRef.invoke(Activata
            at weblogic.rmi.internal.BasicServerRef$
            at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.jav
            at weblogic.rmi.internal.BasicExecuteRequest.execute(BasicExecuteRequest
            at weblogic.kernel.ExecuteThread.execute(


    Any idea why it's happening? Do I have to set any transaction related attributes in WebLogic 8.1?

    Your early help in this is really apprecited

    Thanks in advance
  2. How are u managing transactions in the EJB - more specifically, are u giving commit and rollback on the individual JDBC connections? This is not the way to do it.
    U have to get the UserTransaction object from the entity context and use begin on that and the JDBC connection that is obtained from the pool will participate in a JTA transaction.
    Hope it helps.