[
http://jira.jboss.com/jira/browse/JBESB-719?page=all ]
Work on JBESB-719 stopped by Daniel Bevenius.
The messages can be lost in case of ESB termination
---------------------------------------------------
Key: JBESB-719
URL:
http://jira.jboss.com/jira/browse/JBESB-719
Project: JBoss ESB
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Rosetta
Affects Versions: 4.2 Milestone Release 3
Reporter: Jiri Pechanec
Assigned To: Daniel Bevenius
Fix For: 4.2.1
Even if the ESB is using internally reliable JMS as a transport the messages can be lost
during ESB termination. The reasons for this behaviour are two
1) ESB uses internally queue sessions with AUTO_ACK flag
2) Pick-up and deliver couriers works in different session
Proposed solution
1) Change flag to CLIENT_ACK
2) JMS sessions are allocated from the pool using JMSConnectionPool.getQueueSession(). If
the allocated session is stored into ThreadLocal variable and returned by the subsequent
calls by the same thread and get commited on call JMSConnectionPool.closeSession() then
all internal message transfers via JMS will be done in transaction - one transfer/one
transaction.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira