User: hiram
Date: 01/02/21 14:52:00
Modified: src/main/org/jbossmq/server ClientConsumer.java
Log:
Bug fix: Acking durable subscriber messages was causing exceptions.
Bug reported by: Polina Alber <[EMAIL PROTECTED]> and Greg Lappen
<[EMAIL PROTECTED]>
Revision Changes Path
1.2 +8 -8 jbossmq/src/main/org/jbossmq/server/ClientConsumer.java
Index: ClientConsumer.java
===================================================================
RCS file:
/products/cvs/ejboss/jbossmq/src/main/org/jbossmq/server/ClientConsumer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ClientConsumer.java 2001/01/26 00:43:53 1.1
+++ ClientConsumer.java 2001/02/21 22:52:00 1.2
@@ -31,7 +31,7 @@
*
* @author Hiram Chirino ([EMAIL PROTECTED])
*
- * @version $Revision: 1.1 $
+ * @version $Revision: 1.2 $
*/
public class ClientConsumer implements Task {
@@ -72,12 +72,10 @@
public void run() {
try {
Log.log("Restoring message: " +
message.getJMSMessageID());
- String queueId;
+ String
queueId=JMSDestination.DEFAULT_QUEUE_ID;;
if( message.getJMSDestination() instanceof
SpyTopic ) {
Subscription req =
(Subscription)subscriptions.get(new Integer(subscriptionId));
queueId =
JMSDestination.durableSubscriptionToQueueId(dc.getClientID(),req.durableSubscriptionName);
- } else {
- queueId =
JMSDestination.DEFAULT_QUEUE_ID;
}
server.restoreMessage(message,queueId);
} catch ( JMSException e ) {
@@ -104,10 +102,12 @@
} else {
if( m.getJMSDeliveryMode() == DeliveryMode.PERSISTENT ) {
- if( m.getJMSDestination() instanceof SpyQueue )
- server.persistenceManager.remove("queue",
m,txId);
- else
-
server.persistenceManager.remove(dc.getClientID(), m,txId);
+ String queueId = JMSDestination.DEFAULT_QUEUE_ID;
+ if( m.getJMSDestination() instanceof SpyTopic ) {
+ Subscription req =
(Subscription)subscriptions.get(new Integer(item.subscriberId));
+ queueId =
JMSDestination.durableSubscriptionToQueueId(dc.getClientID(),req.durableSubscriptionName);
+ }
+ server.persistenceManager.remove(queueId, m, txId);
}
Runnable task = new RestoreMessageTask(m,item.subscriberId);