Hi Celso, can you open a JIRA for this issue?
Thanks -- Dejan Bosanac www.scriptinginjava.net On Tue, Jun 17, 2008 at 11:28 PM, Celso Pinto <[EMAIL PROTECTED]> wrote: > Hi all, > > I'm currently struggling to understand the reason behind that's causing > the behaviour described in the subject: I'm connecting to activemq via > stomp on a python app. Because I need to have the messages rolled back > in case of some processing failure I'm wrapping the message processing > in the following way: > > message received -> start transaction -> ack message in transaction -> > process message -> if no exception commit tx, else rollback transaction > > > AFAIK, this is the only way of making message unacknowledgement possible > with stomp. Also, this is a single client connection, ie. I'm using a > single client connection to create a message processing daemon, all > messages are sent and received via this single connection to the MQ > server. > > Here's a telnet session that can be used to reproduce the problem (open > jconsole and send 5 text messages to the queue): > > % telnet localhost 61613 > Trying 127.0.0.1... > Connected to localhost. > Escape character is '^]'. > CONNECT > > ^@ > CONNECTED > session:ID:starfish-53281-1213736462979-2:2 > > > SUBSCRIBE > destination: /queue/testq > ack: client > activemq.prefetchSize: 1 > > ^@ > MESSAGE > message-id:ID:starfish-53281-1213736462979-3:3:1:1:1 > destination:/queue/testq > timestamp:1213736837743 > expires:0 > priority:0 > > 1 > BEGIN > transaction: 1 > > ^@ > ACK > message-id:ID:starfish-53281-1213736462979-3:3:1:1:1 > transaction: 1 > > ^@ > MESSAGE > message-id:ID:starfish-53281-1213736462979-3:4:1:1:1 > destination:/queue/testq > timestamp:1213736840224 > expires:0 > priority:0 > > 2 > MESSAGE > message-id:ID:starfish-53281-1213736462979-3:5:1:1:1 > destination:/queue/testq > timestamp:1213736842611 > expires:0 > priority:0 > > 3 > ABORT > transaction: 1 > > ^@ > BEGIN > transaction:2 > > ^@ > ACK > message-id:ID:starfish-53281-1213736462979-3:4:1:1:1 > transaction:2 > > ^@ > ABORT > transaction:2 > > ^@ > ACK > message-id:ID:starfish-53281-1213736462979-3:5:1:1:1 > > ^@ > > > I see a couple of issues here: > > #1) even though I specified activemq.prefetchSize to 1 in the > subscription command, the connector dispatches two messages in a row > > #2) no more messages are dispatched after aborting the > transaction/acknowledging the last received message. Even if the second > message isn't wrapped in a transaction, message dispatch stops there. > > To add to the confusion, if I don't use transactions _at all_, my client > keeps getting messages, one by one, ie. no two messages are sent > together, I only get a new message after ACK'ing the previous one. > > I think I may be stepping into the realms of a buggy STOMP connector. > Please tell me if I'm missing something obvious that fixes this issue > (hence making it a non-issue) or if indeed the STOMP connector has > problems. > > TIA, > Celso > > >
