Hi all,

I'm having problems with acknowledge order in ActiveMQ 4.1.1 using
STOMP protocol. I'm using a queue with async mode on.

I'm also using these headers:

SUBSCRIBE
activemq.dispatchAsync:'true'
activemq.noLocal:'true',
activemq.retroactive:'true',
activemq.prefetchSize:1000,
activemq.maximumPendingMessageLimit:1000,
                
MESSAGE
expires:0,
persistent:'true',
priority:0,



The problem occurs when I try to acknowledge messages in different
order then they were sent.

So if producer sends messages with IDs:
1
2
3


I have to acknowledge them in the same order:
1
2
3

Or else I get this error:

ERROR    org.apache.activemq.transport.stomp.ProtocolException:
Unexpected ACK received for message-id
[ID:localhost-47986-1193059223135-3:5:-1:1:26055]
        at 
org.apache.activemq.transport.stomp.ProtocolConverter.onStompAck(ProtocolConverter.java:242)
        at 
org.apache.activemq.transport.stomp.ProtocolConverter.onStompCommad(ProtocolConverter.java:141)
        at 
org.apache.activemq.transport.stomp.StompTransportFilter.onCommand(StompTransportFilter.java:71)
        at 
org.apache.activemq.transport.TransportSupport.doConsume(TransportSupport.java:84)
        at 
org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:137)
        at java.lang.Thread.run(Thread.java:619)

Is this a feature or a bug? Do I need to set some extra settings?

Thanks, Sebastjan

Reply via email to