Atomikos Forum

Problem shutting down

Hi

I'm having an issue using Atomikos 3.9.3 with Spring 4.0.6 and JMS. The application starts a JMS connection to listen for messages. On receiving a message, it will process it and then post it on another JMS destination.

When the process is started, and only if it has processed at least one message, it will throw a warning on closing the ConnectionPool for the publishing connection, like this:

WARN [shutdown] [ConnectionPool] atomikos connection pool 'jms-Publisher': connection is still in use on pool destroy: atomikos pooled connection for resource jms-TradeAllocationsEventP - please check your shutdown sequence to avoid heuristic termination of ongoing transactions!

It will be forcibly closed, but the transaction log is then left in a bad state. The next time the application is started, we get these messages continuously every ten seconds:

[2014-08-06 16:09:30.150]  WARN [Atomikos:7] [XAResourceTransaction] XAResourceTransaction app-localhost0002000005app-localhost17: no XAResource to commit - the required resource is probably not yet intialized?
[2014-08-06 16:09:30.150]  WARN [Atomikos:7] [CommitMessage] Unexpected error in commit
com.atomikos.icatch.HeurHazardException: Heuristic Exception
    at com.atomikos.datasource.xa.XAResourceTransaction.commit(XAResourceTransaction.java:707)
    at com.atomikos.icatch.imp.CommitMessage.send(CommitMessage.java:72)
    at com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:83)
    at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:79)
    at com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:58)
    at com.atomikos.icatch.imp.HeurHazardStateHandler.onTimeout(HeurHazardStateHandler.java:131)
    at com.atomikos.icatch.imp.CoordinatorImp.alarm(CoordinatorImp.java:933)
    at com.atomikos.timing.PooledAlarmTimer.notifyListeners(PooledAlarmTimer.java:112)
    at com.atomikos.timing.PooledAlarmTimer.run(PooledAlarmTimer.java:99)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:722)

The only way to avoid these messages is to delete the transaction log file before restarting the app.

I have verified that the UserTransactionManager is stopped prior to trying to close the connection pools. The UserTransactionServiceImp is also closed prior to closing the connection pools, and I have tried both, shutdownWait and shutdownForce destroy methods to no avail.

After much hair pulling, we have run out of ideas. Is there a known bug we should be aware of? can anyone offer pointers? Please let me know if you require more specific details

Thanks in advance
Fernando Send private email
Wednesday, August 06, 2014
 
 
I'm facing the same problem. I already checked that init-method is set on resources. Any new findings on this?
Sebastian Brandt Send private email
Friday, October 31, 2014
 
 
This is likely a configuration issue; I recommend getting a support subscription so we can put some expert time into it...

Thanks
Guy Pardon Send private email
Monday, November 17, 2014
 
 

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics