[Jboss-cvs] JBossAS SVN: r56332 - branches/MC_VDF_WORK/messaging/src/main/org/jboss/mq/server
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Aug 28 07:53:32 EDT 2006
Author: adrian at jboss.org
Date: 2006-08-28 07:53:30 -0400 (Mon, 28 Aug 2006)
New Revision: 56332
Modified:
branches/MC_VDF_WORK/messaging/src/main/org/jboss/mq/server/BasicQueue.java
Log:
[JBAS-3573] - Error removing message during an ACK should result
in a NACK/rollback.
Modified: branches/MC_VDF_WORK/messaging/src/main/org/jboss/mq/server/BasicQueue.java
===================================================================
--- branches/MC_VDF_WORK/messaging/src/main/org/jboss/mq/server/BasicQueue.java 2006-08-28 11:33:35 UTC (rev 56331)
+++ branches/MC_VDF_WORK/messaging/src/main/org/jboss/mq/server/BasicQueue.java 2006-08-28 11:53:30 UTC (rev 56332)
@@ -630,8 +630,19 @@
}
else
{
- if (m.isPersistent())
- server.getPersistenceManager().remove(m, txId);
+ try
+ {
+ if (m.isPersistent())
+ server.getPersistenceManager().remove(m, txId);
+ }
+ catch (Throwable t)
+ {
+ // Something is wrong with the persistence manager,
+ // force a NACK with a rollback/error
+ Runnable task = new RestoreMessageTask(m);
+ server.getPersistenceManager().getTxManager().addPostCommitTask(txId, task);
+ SpyJMSException.rethrowAsJMSException("Error during ACK ref=" + m, t);
+ }
performOrPerpareAcknowledgeMessage(m, txId);
}
More information about the jboss-cvs-commits
mailing list