[Jboss-cvs] JBossAS SVN: r56333 - branches/Branch_4_0/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:58:09 EDT 2006
Author: adrian at jboss.org
Date: 2006-08-28 07:58:05 -0400 (Mon, 28 Aug 2006)
New Revision: 56333
Modified:
branches/Branch_4_0/messaging/src/main/org/jboss/mq/server/BasicQueue.java
Log:
[JBAS-3573] - Error during ACK should result in NACK +
error/rollback
Modified: branches/Branch_4_0/messaging/src/main/org/jboss/mq/server/BasicQueue.java
===================================================================
--- branches/Branch_4_0/messaging/src/main/org/jboss/mq/server/BasicQueue.java 2006-08-28 11:53:30 UTC (rev 56332)
+++ branches/Branch_4_0/messaging/src/main/org/jboss/mq/server/BasicQueue.java 2006-08-28 11:58:05 UTC (rev 56333)
@@ -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