[jboss-jira] [JBoss JIRA] Created: (JBAS-3634) Acknowledgement of transacted message in MessageListener should be inside delivery lock
Adrian Brock (JIRA)
jira-events at jboss.com
Thu Sep 7 08:38:43 EDT 2006
Acknowledgement of transacted message in MessageListener should be inside delivery lock
---------------------------------------------------------------------------------------
Key: JBAS-3634
URL: http://jira.jboss.com/jira/browse/JBAS-3634
Project: JBoss Application Server
Issue Type: Task
Security Level: Public (Everyone can see)
Components: JMS service
Affects Versions: JBossAS-4.0.5.CR1
Reporter: Adrian Brock
Assigned To: Adrian Brock
Fix For: JBossAS-4.0.5.GA
The acknowledgement of a transacted message for a MessageListener
should be inside the delivery lock.
Otherwise the addition of the acknowledgement could be competing with other
operations on the session, e.g. commit/rollback/recover.
org.jboss.mq.SpyMessageConsumer::run()
+ // Try to obtain the session delivery lock
+ // This avoids concurrent delivery to message listeners in the same session as per spec
+ boolean gotDeliveryLock = false;
+ while (gotDeliveryLock == false)
+ {
if (session.transacted)
{
// REVIEW: for an XASession without a transaction this will ack the message
// before it has been processed. Plain message listeners
// are not supported in a j2ee environment, but what if somebody is trying
// to be clever?
if (trace)
log.trace("run() acknowledging message in tx mes=" + mes.getJMSMessageID() + " " + this);
session.connection.spyXAResourceManager.ackMessage(session.getCurrentTransactionId(), mes);
}
- // Try to obtain the session delivery lock
- // This avoids concurrent delivery to message listeners in the same session as per spec
- boolean gotDeliveryLock = false;
- while (gotDeliveryLock == false)
- {
--
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
More information about the jboss-jira
mailing list