Atomikos Forum |
|
Hi,
I have a java main program configured with a Spring DefaultMessageListenerContainer and Atomikos TransactionEssentials v3.8.0 for XA between MySql v5.x and IBM MQSeries v1.7.1.x. Basically it receives messages on a queue via Spring MDP and then save it into a database plus sends to another queue (hence XA). Everything works smoothly except that when the program shuts down (on shutdown message, system error etc.) it appears that Atomikos queue connection is not closed cleanly, resulting in the following error printed in MQ logs. AMQ9209: Connection to host 'hostname (...)' for channel 'TEST_CHANNEL' closed. EXPLANATION: An error occurred receiving data from 'hostname (...)' over TCP/IP. The connection to the remote host has unexpectedly terminated. The channel name is 'TEST_CHANNEL'; in some cases it cannot be determined and so is shown as '????'. ACTION: Tell the systems administrator. ----- amqccita.c : 3688 ------------------------------------------------------- 11/29/2013 10:41:36 AM - Process(5657.977) User(mqm) Program(amqrmppa) Host(hostname) Installation(Installation1) VRMF(7.1.0.1) QMgr(TEST) AMQ9999: Channel 'TEST_CHANNEL' to host 'hostname (...)' ended abnormally. EXPLANATION: The channel program running under process ID 5657 for channel 'TEST_CHANNEL' ended abnormally. The host name is 'hostname (...)'; in some cases the host name cannot be determined and so is shown as '????'. ACTION: Look at previous error messages for the channel program in the error logs to determine the cause of the failure. Note that this message can be excluded completely or suppressed by tuning the "ExcludeMessage" or "SuppressMessage" attributes under the "QMErrorLog" stanza in qm.ini. Further information can be found in the System Administration Guide. tion is not closed cleanly, and IMB MQ prints the following error message in its logs. I am figuring out a way to manually close it if we can't instruct Atomikos to close connections normally. I do see similar or same documented with MQ (last section on http://www.atomikos.com/Documentation/ConfiguringMQSeries, but I am using MQ v1.7.1.x not v1.7.0.x Any hints, helps is appreciated. More details on my spring configuration can be posted if need be. Thanks, Abdul Rasheed
I tried using com.atomikos.jms.extra.MessageDrivenContainer but it causes the same problem. I do have access to the container beans. However stop() or shutdown() methods on these does not cleanly close the queue manager connections these containers presumably has. I wish there was a way for me to close the connections manually since it seems it is not done by the listener or listener container.
|