You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by dwout <gr...@gmail.com> on 2009/02/23 14:15:51 UTC
Exception when using INDIVIDUAL_ACKNOWLEDGE
Hi,
I noticed that if I use INDIVIDUAL_ACKNOWLEDGE, I get an exception in the
ActiveMQ console when I close the consumer.
(ActiveMQMessageConsumer.close()). If I just switch to CLIENT_ACKNOWLEDGE,
then there is no exception. I don't know if I should worry about this. (I
need to use INDIVIDUAL_ACKNOWLEDGE)
Here is what this exception looks like:
ERROR Service - Async error occurred:
javax.jms.JMSException: Could not correlate ackno
wledgment with dispatched message: MessageAck {commandId = 15,
responseRequired = false, ackType = 0, consumer
Id = ID:xxx-1247-1235392106250-0:0:1:1, firstMessageId =
ID:xxx-1226-1235392076578-0:0:1:1:1, lastMe
ssageId = ID:xxx-1226-1235392076578-0:0:1:1:10, destination =
queue://myqueue, transactionId = null
, messageCount = 10}
javax.jms.JMSException: Could not correlate acknowledgment with dispatched
message: MessageAck {commandId = 15
, responseRequired = false, ackType = 0, consumerId =
ID:xxx-1247-1235392106250-0:0:1:1, firstMessageId =
ID:xxx-1226-1235392076578-0:0:1:1:1, lastMessageId =
ID:xxx-1226-1235392076578-0:0:1:1:10, destinat
ion = queue://myqueue, transactionId = null, messageCount = 10}
at
org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:304)
at
org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:373)
at
org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:462)
at
org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
at
org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
at
org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
at
org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:456)
at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
at
org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
at
org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
at
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
at
org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203)
at
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
at java.lang.Thread.run(Thread.java:619)
--
View this message in context: http://www.nabble.com/Exception-when-using-INDIVIDUAL_ACKNOWLEDGE-tp22161296p22161296.html
Sent from the ActiveMQ - User mailing list archive at Nabble.com.
Re: Exception when using INDIVIDUAL_ACKNOWLEDGE
Posted by Gary Tully <ga...@gmail.com>.
The type of that Ack is 0 which is a DELIVERED_ACK_TYPE so it is not a
cause for worry as it is sent to inform the prefetch logic.
This is untidy behavior though. On close, it does not make sense to
deliver a DELIVERED_ACK as the consumer is closing, also in the case
of CLIENT_ACKNOWLEDGE, a ranged DELIVERED_ACK is not going to work
well if some individual messages have been acked.
If you can produce a simple test case for this, please raise a jira
issue so this can get resolved.
Thanks,
Gary,
2009/2/23 dwout <gr...@gmail.com>:
>
> Hi,
>
> I noticed that if I use INDIVIDUAL_ACKNOWLEDGE, I get an exception in the
> ActiveMQ console when I close the consumer.
> (ActiveMQMessageConsumer.close()). If I just switch to CLIENT_ACKNOWLEDGE,
> then there is no exception. I don't know if I should worry about this. (I
> need to use INDIVIDUAL_ACKNOWLEDGE)
>
> Here is what this exception looks like:
>
> ERROR Service - Async error occurred:
> javax.jms.JMSException: Could not correlate ackno
> wledgment with dispatched message: MessageAck {commandId = 15,
> responseRequired = false, ackType = 0, consumer
> Id = ID:xxx-1247-1235392106250-0:0:1:1, firstMessageId =
> ID:xxx-1226-1235392076578-0:0:1:1:1, lastMe
> ssageId = ID:xxx-1226-1235392076578-0:0:1:1:10, destination =
> queue://myqueue, transactionId = null
> , messageCount = 10}
> javax.jms.JMSException: Could not correlate acknowledgment with dispatched
> message: MessageAck {commandId = 15
> , responseRequired = false, ackType = 0, consumerId =
> ID:xxx-1247-1235392106250-0:0:1:1, firstMessageId =
> ID:xxx-1226-1235392076578-0:0:1:1:1, lastMessageId =
> ID:xxx-1226-1235392076578-0:0:1:1:10, destinat
> ion = queue://myqueue, transactionId = null, messageCount = 10}
> at
> org.apache.activemq.broker.region.PrefetchSubscription.acknowledge(PrefetchSubscription.java:304)
> at
> org.apache.activemq.broker.region.AbstractRegion.acknowledge(AbstractRegion.java:373)
> at
> org.apache.activemq.broker.region.RegionBroker.acknowledge(RegionBroker.java:462)
> at
> org.apache.activemq.broker.TransactionBroker.acknowledge(TransactionBroker.java:194)
> at
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
> at
> org.apache.activemq.broker.BrokerFilter.acknowledge(BrokerFilter.java:74)
> at
> org.apache.activemq.broker.MutableBrokerFilter.acknowledge(MutableBrokerFilter.java:85)
> at
> org.apache.activemq.broker.TransportConnection.processMessageAck(TransportConnection.java:456)
> at org.apache.activemq.command.MessageAck.visit(MessageAck.java:205)
> at
> org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:305)
> at
> org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:179)
> at
> org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:68)
> at
> org.apache.activemq.transport.WireFormatNegotiator.onCommand(WireFormatNegotiator.java:143)
> at
> org.apache.activemq.transport.InactivityMonitor.onCommand(InactivityMonitor.java:206)
> at
> org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
> at
> org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:203)
> at
> org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:185)
> at java.lang.Thread.run(Thread.java:619)
> --
> View this message in context: http://www.nabble.com/Exception-when-using-INDIVIDUAL_ACKNOWLEDGE-tp22161296p22161296.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>
>
--
http://blog.garytully.com
Open Source SOA
http://FUSESource.com