Illegal attempt to delist an XAResource instance that was not previously enlisted.

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Illegal attempt to delist an XAResource instance that was not previously enlisted.

Nabil Syahmi
This post has NOT been accepted by the mailing list yet.
Hi,

Currently i encountered some issue when using JMSBC, DatabaseBC and Bpel. I am trying to use XATransaction and atomic to perform transaction rollback. But when i tested the process, i got my table locked but the message is consumed.

Kindly ask if needed more info on this issue.

Thank you.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------

Additional info:
- OpenESB Standalone Edition v3.0.5.
- All JMS wsdl set as XATransaction.
- All database wsdl set as XATransaction.
- Atomic = true.
- Atomic Tx Attribute = Required.
- Per BP persistence opt out = yes




Below is the server log.
----------------------------------------------------------------------------------------------------------------------------------------------------------------

2017-03-31T12:09:21.660+0800 WARNING [com.atomikos.icatch.jta.TransactionImp] (pool-17-thread-1) Illegal attempt to delist an XAResource instance that was not previously enlisted.
2017-03-31T12:09:21.661+0800 WARNING [com.stc.jmsjca.core.XDefaultConnectionManager] (pool-17-thread-1) JMSJCA-E075: XAResource could not be delisted (com.stc.jmsjca.core.XManagedConnection@7307c03e): Illegal attempt to delist an XAResource instance that was not previously enlisted.
java.lang.IllegalStateException: Illegal attempt to delist an XAResource instance that was not previously enlisted.
        at com.atomikos.icatch.jta.TransactionImp.delistResource(TransactionImp.java:416)
        at com.stc.jmsjca.core.XDefaultConnectionManager$TxDelister.beforeCompletion(XDefaultConnectionManager.java:642)
        at com.atomikos.icatch.jta.Sync2Sync.beforeCompletion(Sync2Sync.java:56)
        at com.atomikos.icatch.imp.TransactionStateHandler.commit(TransactionStateHandler.java:243)
        at com.atomikos.icatch.imp.CompositeTransactionImp.doCommit(CompositeTransactionImp.java:287)
        at com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:77)
        at com.atomikos.icatch.imp.CompositeTransactionImp.commit(CompositeTransactionImp.java:336)
        at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:208)
        at com.sun.jbi.jmsbc.InboundMessageProcessorListenerEndpoint.commitCurrentTransaction(InboundMessageProcessorListenerEndpoint.java:815)
        at com.sun.jbi.jmsbc.InboundMessageProcessorListenerEndpoint.afterDelivery(InboundMessageProcessorListenerEndpoint.java:219)
        at com.stc.jmsjca.core.Delivery.afterDelivery(Delivery.java:915)
        at com.stc.jmsjca.core.WorkContainer.run(WorkContainer.java:237)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

Reply | Threaded
Open this post in threaded view
|

Re: Illegal attempt to delist an XAResource instance that was not previously enlisted.

Paul Perez
Administrator
Hello Nabil,

Using XA with The BPEL is a very dangerous idea because you will have two Orchestrators in your process. one for the process and one for the transaction.
I suggest you to read the end of this document to understand the kind of problem you can face.
I suggest you to use compensation instead transaction


V2_Transaction,_guarantee_of_delivery,_consistency_with_BPEL.pdf

regards

Paul
www.pymma.com The best services on OpenESB