Author: rajdavies
Date: Fri Feb 3 16:35:53 2006
New Revision: 374795
URL: http://svn.apache.org/viewcvs?rev=374795&view=rev
Log:
Forced to copy message before leaving the consumer - as the destination could
change if
the message is forwarded on.
Modified:
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
Modified:
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
URL:
http://svn.apache.org/viewcvs/incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java?rev=374795&r1=374794&r2=374795&view=diff
==============================================================================
---
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
(original)
+++
incubator/activemq/trunk/activemq-core/src/main/java/org/apache/activemq/ActiveMQMessageConsumer.java
Fri Feb 3 16:35:53 2006
@@ -415,7 +415,7 @@
* @return
*/
private ActiveMQMessage createActiveMQMessage(final MessageDispatch md) {
- ActiveMQMessage m = (ActiveMQMessage) md.getMessage();
+ ActiveMQMessage m = (ActiveMQMessage) md.getMessage().copy();
if (session.isClientAcknowledge()) {
m.setAcknowledgeCallback(new Callback() {
public void execute() throws Throwable {
@@ -623,6 +623,7 @@
// Acknowledge the last message.
MessageDispatch lastMd = (MessageDispatch) deliveredMessages.get(0);
+ System.err.println(this + " ACKING " +
lastMd.getMessage().getMessageId() + " size = " + deliveredMessages.size());
MessageAck ack = new MessageAck(lastMd, MessageAck.STANDARD_ACK_TYPE,
deliveredMessages.size());
if (session.isTransacted()) {
session.doStartTransaction();