Exception stopping JmsXA
clizarralde May 20, 2006 5:09 PMI'm using Jboss 4.0.1sp1, jdk 1.4.2, Windows XP. And I have a ¿problem? with the JMS resource adapter.
In short terms, I have a session bean that read messages from a JMS queue, process the data, make changes in an Oracle database and then
other changes in an Sql Server database. And i need transaction across them.
I have the datasources correctly configured as XA.
In the past i was using the XAConnectionFactory as the QueueConnectionFactory to read the message from the JMS qeueu, but I notice that althought everything was working, I didn't have really transactional behavior.
For example if jboss was killed after reading a message from the Jms queue but before processing it and storing some info in Oracle database, the message was lost.
After reading some post in the forums,
http://www.jboss.com/index.html?module=bb&op=viewtopic&t=52061
and the Wiki page
http://wiki.jboss.org/wiki/Wiki.jsp?page=JBossMQ
I realize that I need to change the QueueconnectionFactory to java:/JmsXA
Although things seemed to work, now I'm having an exception in the console, and I don't thinks is normal.
This exception appears when I stop the QueueConnectionFactory
17:32:09,704 INFO [STDOUT] javax.jms.IllegalStateException: This method is not applicatable in JMS resource adapter
17:32:09,704 INFO [STDOUT] at org.jboss.resource.adapter.jms.JmsSessionFactoryImpl.stop(JmsSessionFactoryImpl.java:238)
17:32:09,704 INFO [STDOUT] at com.np.iaso.integration.impl.JMSQueuePollStrategy.stop(JMSQueuePollStrategy.java:294)
17:32:09,704 INFO [STDOUT] at $PollStrategy_10b537c203e.stop($PollStrategy_10b537c203e.java)
17:32:09,704 INFO [STDOUT] at com.np.iaso.integration.PollServiceImpl.poll(PollServiceImpl.java:70)
17:32:09,704 INFO [STDOUT] at $PollService_10b537c203b.poll($PollService_10b537c203b.java)
17:32:09,720 INFO [STDOUT] at $PollService_10b537c203a.poll($PollService_10b537c203a.java)
17:32:09,720 INFO [STDOUT] at com.np.iaso.ejb.PollingBean.poll(PollingBean.java:116)
Is this exception normal?
Why I'm getting this exception when using the JmsXA and not when using the XAConnectionFactoy (calling the stop method)?
Thanks a lot in advance!!!
Regards