Commit can be issued only when there are no requests awaiting responses. Currently there is one such request - Weblogic

This is a discussion on Commit can be issued only when there are no requests awaiting responses. Currently there is one such request - Weblogic ; Hi , Iam using MDB's I got some exception in onMessage in MDB's and the messages are rolled back. Now Iam catching the exception and the controll is coming out from the onMessage call but the messages are not cleared ...

+ Reply to Thread
Results 1 to 4 of 4

Thread: Commit can be issued only when there are no requests awaiting responses. Currently there is one such request

  1. Commit can be issued only when there are no requests awaiting responses. Currently there is one such request


    Hi ,


    Iam using MDB's I got some exception in onMessage in MDB's and the messages are
    rolled back. Now Iam catching the exception and the controll is coming out from
    the onMessage call but the messages are not cleared from the queue. The messages
    are still rolled back and redelivered. Iam getting the following exception




    ..>
    commit of transaction Xid=BEA1-0935CA40B315C7BEC692(32094638),Status=Rolled back.
    [Reason=javax.transaction.SystemException: Commit can be issued only when there
    are no requests awaiting responses. Currently there is one such request],numRepliesOwedMe=1,numRepliesOwedOthers=0,seconds
    since begin=0,seconds left=60,XAServerResourceInfo[JMS_JMSFile Store1]=(ServerResourceInfo[JMS_JMSFile
    Store1]=(state=rolledback,assigned=VIPRServer-2),xar=JMS_JMSFile Store1),SCInfo[VIPRDomain-2+VIPRServer-2]=(state=rolledback),OwnerTransactionManager=Server TM[ServerCoordinatorDescriptor=(CoordinatorURL=VIPRSe rver-2+206.251.124.72:10004+VIPRDomain-2+t3+,
    XAResources={},NonXAResources={})],CoordinatorURL=VIPRServer-2+206.251.124.72:10004+VIPRDomain-2+t3+):
    javax.transaction.SystemException: Commit can be issued only when there are no
    requests awaiting responses. Currently there is one such request
    at weblogic.transaction.internal.TransactionImpl.abor t(TransactionImpl.java:1036)
    at weblogic.transaction.internal.TransactionImpl.enfo rceCheckedTransaction(TransactionImpl.java:1582)
    at weblogic.transaction.internal.TransactionImpl.chec kIfCommitPossible(TransactionImpl.java:1560)
    at weblogic.transaction.internal.ServerTransactionImp l.internalCommit(ServerTransactionImpl.java:243)
    at weblogic.transaction.internal.ServerTransactionImp l.commit(ServerTransactionImpl.java:221)
    at weblogic.ejb20.internal.MDListener.execute(MDListe ner.java:412)
    at weblogic.ejb20.internal.MDListener.transactionalOn Message(MDListener.java:316)
    at weblogic.ejb20.internal.MDListener.onMessage(MDLis tener.java:281)
    at weblogic.jms.client.JMSSession.onMessage(JMSSessio n.java:2596)
    at weblogic.jms.client.JMSSession.execute(JMSSession. java:2516)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)
    --------------- nested within: ------------------
    weblogic.transaction.RollbackException: Commit can be issued only when there are
    no requests awaiting responses. Currently there is one such request - with nested
    exception:
    [javax.transaction.SystemException: Commit can be issued only when there are no
    requests awaiting responses. Currently there is one such request]
    at weblogic.transaction.internal.TransactionImpl.thro wRollbackException(TransactionImpl.java:1644)
    at weblogic.transaction.internal.ServerTransactionImp l.internalCommit(ServerTransactionImpl.java:300)
    at weblogic.transaction.internal.ServerTransactionImp l.commit(ServerTransactionImpl.java:221)
    at weblogic.ejb20.internal.MDListener.execute(MDListe ner.java:412)
    at weblogic.ejb20.internal.MDListener.transactionalOn Message(MDListener.java:316)
    at weblogic.ejb20.internal.MDListener.onMessage(MDLis tener.java:281)
    at weblogic.jms.client.JMSSession.onMessage(JMSSessio n.java:2596)
    at weblogic.jms.client.JMSSession.execute(JMSSession. java:2516)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)
    ..>




    The rans-timeout-seconds="60" and Redelivery delay override is 60000.

    I will really appriciate if anybody tells the solution.

    There are 3 messages in the pending status in the queue.


    Regards

    Manikyala



  2. Re: Commit can be issued only when there are no requests awaitingresponses. Currently there is one such request

    I wonder if the application is making
    a remote request under the current transaction, but
    the remote request is failing to respond, the
    application is ignoring the exception, and
    the MDB is still trying to commit. This
    would yield the exception below.

    You write below that you are catching an application
    exception in onMessage() and ignoring it. What
    exception are you catching?

    Manikyala wrote:
    > Hi ,
    >
    >
    > Iam using MDB's I got some exception in onMessage in MDB's and the messages are
    > rolled back. Now Iam catching the exception and the controll is coming out from
    > the onMessage call but the messages are not cleared from the queue. The messages
    > are still rolled back and redelivered. Iam getting the following exception
    >
    >
    >
    >
    > .>
    > > commit of transaction Xid=BEA1-0935CA40B315C7BEC692(32094638),Status=Rolled back.
    > [Reason=javax.transaction.SystemException: Commit can be issued only when there
    > are no requests awaiting responses. Currently there is one such request],numRepliesOwedMe=1,numRepliesOwedOthers=0,seconds
    > since begin=0,seconds left=60,XAServerResourceInfo[JMS_JMSFile Store1]=(ServerResourceInfo[JMS_JMSFile
    > Store1]=(state=rolledback,assigned=VIPRServer-2),xar=JMS_JMSFile Store1),SCInfo[VIPRDomain-2+VIPRServer-2]=(state=rolledback),OwnerTransactionManager=Server TM[ServerCoordinatorDescriptor=(CoordinatorURL=VIPRSe rver-2+206.251.124.72:10004+VIPRDomain-2+t3+,
    > XAResources={},NonXAResources={})],CoordinatorURL=VIPRServer-2+206.251.124.72:10004+VIPRDomain-2+t3+):
    > javax.transaction.SystemException: Commit can be issued only when there are no
    > requests awaiting responses. Currently there is one such request
    > at weblogic.transaction.internal.TransactionImpl.abor t(TransactionImpl.java:1036)
    > at weblogic.transaction.internal.TransactionImpl.enfo rceCheckedTransaction(TransactionImpl.java:1582)
    > at weblogic.transaction.internal.TransactionImpl.chec kIfCommitPossible(TransactionImpl.java:1560)
    > at weblogic.transaction.internal.ServerTransactionImp l.internalCommit(ServerTransactionImpl.java:243)
    > at weblogic.transaction.internal.ServerTransactionImp l.commit(ServerTransactionImpl.java:221)
    > at weblogic.ejb20.internal.MDListener.execute(MDListe ner.java:412)
    > at weblogic.ejb20.internal.MDListener.transactionalOn Message(MDListener.java:316)
    > at weblogic.ejb20.internal.MDListener.onMessage(MDLis tener.java:281)
    > at weblogic.jms.client.JMSSession.onMessage(JMSSessio n.java:2596)
    > at weblogic.jms.client.JMSSession.execute(JMSSession. java:2516)
    > at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
    > at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)
    > --------------- nested within: ------------------
    > weblogic.transaction.RollbackException: Commit can be issued only when there are
    > no requests awaiting responses. Currently there is one such request - with nested
    > exception:
    > [javax.transaction.SystemException: Commit can be issued only when there are no
    > requests awaiting responses. Currently there is one such request]
    > at weblogic.transaction.internal.TransactionImpl.thro wRollbackException(TransactionImpl.java:1644)
    > at weblogic.transaction.internal.ServerTransactionImp l.internalCommit(ServerTransactionImpl.java:300)
    > at weblogic.transaction.internal.ServerTransactionImp l.commit(ServerTransactionImpl.java:221)
    > at weblogic.ejb20.internal.MDListener.execute(MDListe ner.java:412)
    > at weblogic.ejb20.internal.MDListener.transactionalOn Message(MDListener.java:316)
    > at weblogic.ejb20.internal.MDListener.onMessage(MDLis tener.java:281)
    > at weblogic.jms.client.JMSSession.onMessage(JMSSessio n.java:2596)
    > at weblogic.jms.client.JMSSession.execute(JMSSession. java:2516)
    > at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
    > at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)
    > .>
    >
    >
    >
    >
    > The rans-timeout-seconds="60" and Redelivery delay override is 60000.
    >
    > I will really appriciate if anybody tells the solution.
    >
    > There are 3 messages in the pending status in the queue.
    >
    >
    > Regards
    >
    > Manikyala
    >
    >



  3. Re: Commit can be issued only when there are no requests awaiting


    Hi Tom,

    Yes Iam talking to an external system. Making a call to an ejb on an external
    system. Some how it is throwing NullPointerException on home.create() where home
    is the remote homeInterface object. Iam catching it doing nothing. At end of the
    on message Iam printing a statement to see it is exiting onMessage. But the message
    is redelivered again.



    Regards

    Manikyala

    Tom Barnes
    wrote:
    >I wonder if the application is making
    >a remote request under the current transaction, but
    >the remote request is failing to respond, the
    >application is ignoring the exception, and
    >the MDB is still trying to commit. This
    >would yield the exception below.
    >
    >You write below that you are catching an application
    >exception in onMessage() and ignoring it. What
    >exception are you catching?
    >
    >Manikyala wrote:
    >> Hi ,
    >>
    >>
    >> Iam using MDB's I got some exception in onMessage in MDB's and the

    >messages are
    >> rolled back. Now Iam catching the exception and the controll is coming

    >out from
    >> the onMessage call but the messages are not cleared from the queue.

    >The messages
    >> are still rolled back and redelivered. Iam getting the following exception
    >>
    >>
    >>
    >>
    >> .>
    >>
    >occurred during
    >> commit of transaction Xid=BEA1-0935CA40B315C7BEC692(32094638),Status=Rolled

    >back.
    >> [Reason=javax.transaction.SystemException: Commit can be issued only

    >when there
    >> are no requests awaiting responses. Currently there is one such request],numRepliesOwedMe=1,numRepliesOwedOthers=0,seconds
    >> since begin=0,seconds left=60,XAServerResourceInfo[JMS_JMSFile Store1]=(ServerResourceInfo[JMS_JMSFile
    >> Store1]=(state=rolledback,assigned=VIPRServer-2),xar=JMS_JMSFile Store1),SCInfo[VIPRDomain-2+VIPRServer-2]=(state=rolledback),OwnerTransactionManager=Server TM[ServerCoordinatorDescriptor=(CoordinatorURL=VIPRSe rver-2+206.251.124.72:10004+VIPRDomain-2+t3+,
    >> XAResources={},NonXAResources={})],CoordinatorURL=VIPRServer-2+206.251.124.72:10004+VIPRDomain-2+t3+):
    >> javax.transaction.SystemException: Commit can be issued only when there

    >are no
    >> requests awaiting responses. Currently there is one such request
    >> at weblogic.transaction.internal.TransactionImpl.abor t(TransactionImpl.java:1036)
    >> at weblogic.transaction.internal.TransactionImpl.enfo rceCheckedTransaction(TransactionImpl.java:1582)
    >> at weblogic.transaction.internal.TransactionImpl.chec kIfCommitPossible(TransactionImpl.java:1560)
    >> at weblogic.transaction.internal.ServerTransactionImp l.internalCommit(ServerTransactionImpl.java:243)
    >> at weblogic.transaction.internal.ServerTransactionImp l.commit(ServerTransactionImpl.java:221)
    >> at weblogic.ejb20.internal.MDListener.execute(MDListe ner.java:412)
    >> at weblogic.ejb20.internal.MDListener.transactionalOn Message(MDListener.java:316)
    >> at weblogic.ejb20.internal.MDListener.onMessage(MDLis tener.java:281)
    >> at weblogic.jms.client.JMSSession.onMessage(JMSSessio n.java:2596)
    >> at weblogic.jms.client.JMSSession.execute(JMSSession. java:2516)
    >> at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
    >> at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)
    >> --------------- nested within: ------------------
    >> weblogic.transaction.RollbackException: Commit can be issued only when

    >there are
    >> no requests awaiting responses. Currently there is one such request

    >- with nested
    >> exception:
    >> [javax.transaction.SystemException: Commit can be issued only when

    >there are no
    >> requests awaiting responses. Currently there is one such request]
    >> at weblogic.transaction.internal.TransactionImpl.thro wRollbackException(TransactionImpl.java:1644)
    >> at weblogic.transaction.internal.ServerTransactionImp l.internalCommit(ServerTransactionImpl.java:300)
    >> at weblogic.transaction.internal.ServerTransactionImp l.commit(ServerTransactionImpl.java:221)
    >> at weblogic.ejb20.internal.MDListener.execute(MDListe ner.java:412)
    >> at weblogic.ejb20.internal.MDListener.transactionalOn Message(MDListener.java:316)
    >> at weblogic.ejb20.internal.MDListener.onMessage(MDLis tener.java:281)
    >> at weblogic.jms.client.JMSSession.onMessage(JMSSessio n.java:2596)
    >> at weblogic.jms.client.JMSSession.execute(JMSSession. java:2516)
    >> at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
    >> at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)
    >> .>
    >>
    >>
    >>
    >>
    >> The rans-timeout-seconds="60" and Redelivery delay override is 60000.
    >>
    >> I will really appriciate if anybody tells the solution.
    >>
    >> There are 3 messages in the pending status in the queue.
    >>
    >>
    >> Regards
    >>
    >> Manikyala
    >>
    >>

    >



  4. Re: Commit can be issued only when there are no requests awaiting

    Then I think the system is working as designed.

    If you do not want the "home.create()" call
    to participate in the transaction, you can
    ..suspend() try { } finally { .resume() } it.
    See the JTA docs for info.

    Tom

    Manikyala wrote:

    > Hi Tom,
    >
    > Yes Iam talking to an external system. Making a call to an ejb on an external
    > system. Some how it is throwing NullPointerException on home.create() where home
    > is the remote homeInterface object. Iam catching it doing nothing. At end of the
    > on message Iam printing a statement to see it is exiting onMessage. But the message
    > is redelivered again.
    >
    >
    >
    > Regards
    >
    > Manikyala
    >
    > Tom Barnes
    > wrote:
    >
    >>I wonder if the application is making
    >>a remote request under the current transaction, but
    >>the remote request is failing to respond, the
    >>application is ignoring the exception, and
    >>the MDB is still trying to commit. This
    >>would yield the exception below.
    >>
    >>You write below that you are catching an application
    >>exception in onMessage() and ignoring it. What
    >>exception are you catching?
    >>
    >>Manikyala wrote:
    >>
    >>>Hi ,
    >>>
    >>>
    >>>Iam using MDB's I got some exception in onMessage in MDB's and the

    >>
    >>messages are
    >>
    >>>rolled back. Now Iam catching the exception and the controll is coming

    >>
    >>out from
    >>
    >>>the onMessage call but the messages are not cleared from the queue.

    >>
    >>The messages
    >>
    >>>are still rolled back and redelivered. Iam getting the following exception
    >>>
    >>>
    >>>
    >>>
    >>>.>
    >>>
    >>
    >>occurred during
    >>
    >>>commit of transaction Xid=BEA1-0935CA40B315C7BEC692(32094638),Status=Rolled

    >>
    >>back.
    >>
    >>>[Reason=javax.transaction.SystemException: Commit can be issued only

    >>
    >>when there
    >>
    >>>are no requests awaiting responses. Currently there is one such request],numRepliesOwedMe=1,numRepliesOwedOthers=0,seconds
    >>>since begin=0,seconds left=60,XAServerResourceInfo[JMS_JMSFile Store1]=(ServerResourceInfo[JMS_JMSFile
    >>>Store1]=(state=rolledback,assigned=VIPRServer-2),xar=JMS_JMSFile Store1),SCInfo[VIPRDomain-2+VIPRServer-2]=(state=rolledback),OwnerTransactionManager=Server TM[ServerCoordinatorDescriptor=(CoordinatorURL=VIPRSe rver-2+206.251.124.72:10004+VIPRDomain-2+t3+,
    >>>XAResources={},NonXAResources={})],CoordinatorURL=VIPRServer-2+206.251.124.72:10004+VIPRDomain-2+t3+):
    >>>javax.transaction.SystemException: Commit can be issued only when there

    >>
    >>are no
    >>
    >>>requests awaiting responses. Currently there is one such request
    >>> at weblogic.transaction.internal.TransactionImpl.abor t(TransactionImpl.java:1036)
    >>> at weblogic.transaction.internal.TransactionImpl.enfo rceCheckedTransaction(TransactionImpl.java:1582)
    >>> at weblogic.transaction.internal.TransactionImpl.chec kIfCommitPossible(TransactionImpl.java:1560)
    >>> at weblogic.transaction.internal.ServerTransactionImp l.internalCommit(ServerTransactionImpl.java:243)
    >>> at weblogic.transaction.internal.ServerTransactionImp l.commit(ServerTransactionImpl.java:221)
    >>> at weblogic.ejb20.internal.MDListener.execute(MDListe ner.java:412)
    >>> at weblogic.ejb20.internal.MDListener.transactionalOn Message(MDListener.java:316)
    >>> at weblogic.ejb20.internal.MDListener.onMessage(MDLis tener.java:281)
    >>> at weblogic.jms.client.JMSSession.onMessage(JMSSessio n.java:2596)
    >>> at weblogic.jms.client.JMSSession.execute(JMSSession. java:2516)
    >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
    >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)
    >>>--------------- nested within: ------------------
    >>>weblogic.transaction.RollbackException: Commit can be issued only when

    >>
    >>there are
    >>
    >>>no requests awaiting responses. Currently there is one such request

    >>
    >>- with nested
    >>
    >>>exception:
    >>>[javax.transaction.SystemException: Commit can be issued only when

    >>
    >>there are no
    >>
    >>>requests awaiting responses. Currently there is one such request]
    >>> at weblogic.transaction.internal.TransactionImpl.thro wRollbackException(TransactionImpl.java:1644)
    >>> at weblogic.transaction.internal.ServerTransactionImp l.internalCommit(ServerTransactionImpl.java:300)
    >>> at weblogic.transaction.internal.ServerTransactionImp l.commit(ServerTransactionImpl.java:221)
    >>> at weblogic.ejb20.internal.MDListener.execute(MDListe ner.java:412)
    >>> at weblogic.ejb20.internal.MDListener.transactionalOn Message(MDListener.java:316)
    >>> at weblogic.ejb20.internal.MDListener.onMessage(MDLis tener.java:281)
    >>> at weblogic.jms.client.JMSSession.onMessage(JMSSessio n.java:2596)
    >>> at weblogic.jms.client.JMSSession.execute(JMSSession. java:2516)
    >>> at weblogic.kernel.ExecuteThread.execute(ExecuteThrea d.java:197)
    >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.ja va:170)
    >>>.>
    >>>
    >>>
    >>>
    >>>
    >>>The rans-timeout-seconds="60" and Redelivery delay override is 60000.
    >>>
    >>>I will really appriciate if anybody tells the solution.
    >>>
    >>>There are 3 messages in the pending status in the queue.
    >>>
    >>>
    >>>Regards
    >>>
    >>>Manikyala
    >>>
    >>>

    >>

    >