STOMP client cannot be stopped and disconnected without loosing messages
------------------------------------------------------------------------
Key: AMQ-1192
URL: https://issues.apache.org/activemq/browse/AMQ-1192
Project: ActiveMQ
Issue Type: Bug
Affects Versions: 4.1.0
Environment: C stomp client on AS3 linux
apache-activemq-4.1.0-incubator
apache APR 0.9.7
Reporter: Joel Schaubert
Attachments: activemq_tester.c
I have added to the STOMP tester so it can take command line args for number of message to
be read/sent. Using this the following tests will show the problems
#1) All messages are lost when a client does STOMP disconnect
1.1 start a subscriber to read 5 messages
./activemq_tester -d sub -m 5
1.2 start a publisher to publish 10 messages
./activemq_tester -d pub -m 10
1.3 run subscriber again to get the remaining 5 messages
./activemq_tester -d sub -m 5
---> No messages are available for the second run of the test subscriber. It seems there
is no way to shutdown a stomp client without loosing all the messages on that q.
Output here.
-bash-2.05b$ ./activemq_tester -d pub -m 10
Connecting......OK
Sending connect message.OK
Reading Response.Response: CONNECTED,
OK
Sending Message.Sending Message: This is message number 0
Sending Message: This is message number 1
Sending Message: This is message number 2
Sending Message: This is message number 3
Sending Message: This is message number 4
Sending Message: This is message number 5
Sending Message: This is message number 6
Sending Message: This is message number 7
Sending Message: This is message number 8
Sending Message: This is message number 9
OK
Sending Disconnect.OK
Disconnecting...OK
--- first run of subscriber ----------------------
-bash-2.05b$ ./activemq_tester -d sub -m 5
Connecting......OK
Sending connect message.OK
Reading Response.Response: CONNECTED,
OK
Sending Subscribe.OK
Reading Subscribed Messsages.Received: MESSAGE, This is message number 0
Received: MESSAGE, This is message number 1
Received: MESSAGE, This is message number 2
Received: MESSAGE, This is message number 3
Received: MESSAGE, This is message number 4
OK
Sending Disconnect.OK
Disconnecting...OK
----- second run of subscriber -----------------
-bash-2.05b$ ./activemq_tester -d sub -m 5
Connecting......OK
Sending connect message.OK
Reading Response.Response: CONNECTED,
OK
Sending Subscribe.OK
Reading Subscribed Messsages.
=======> None of the remaning message numbers 5...9 are available. They are lost.
2) Now to see the ghost STOMP subscriber problem, hit control-C to stop the subscriber.
Then rerun subscriber and publisher and see the following output.....
(publisher output not shown here, same as before)
-bash-2.05b$ ./activemq_tester -d sub -m 5
Connecting......OK
Sending connect message.OK
Reading Response.Response: CONNECTED,
OK
Sending Subscribe.OK
Reading Subscribed Messsages.Received: MESSAGE, This is message number 1
Received: MESSAGE, This is message number 3
Received: MESSAGE, This is message number 5
Received: MESSAGE, This is message number 7
Received: MESSAGE, This is message number 9
OK
Sending Disconnect.OK
Disconnecting...OK
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.