[ https://issues.apache.org/jira/browse/AMQ-4277?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13571719#comment-13571719 ]
Helen Huang commented on AMQ-4277: ---------------------------------- Hi Tomothy, I modified RestTest.java to add one more assertion to check the received messages. After that change, the test "testPostAndGetWithTopic()" fails with the latest activemq-web and activemq-web-demo code (trunk revision 1442742). Could you please re-run the test when you get a chance? Thanks! Helen > REST GET 204 > ------------ > > Key: AMQ-4277 > URL: https://issues.apache.org/jira/browse/AMQ-4277 > Project: ActiveMQ > Issue Type: Bug > Affects Versions: 5.7.0 > Environment: windows 7 and windows xp > Reporter: Helen Huang > Priority: Critical > Fix For: 5.8.0 > > Attachments: RestTest.java > > > Using 5.7 REST API I can GET a message from a topic but if a new message is > POSTed to that same topic before the GET has been reissued (less than 20ms > behind the POST and using the same session as the previous GET) the GET will > timeout with a 204 and does not retrieve the message. This may be as designed > for topics (queues are not an option) but I am just looking for confirmation. > I assumed the first GET would have provided a topic subscription and the > broker would hold a topic message for which there is a subscriber for longer > than 20ms? This is not a stress test and is recreated with a simple producer > and a separate consumer usually within the first couple of message exchanges. > It has been noticed that when the topic message is POSTed without an > outstanding GET to receive it, the following exception is logged: > 2013-01-22 01:09:37,484 | DEBUG | Async client internal exception occurred > with no exception listener registered: java.lang.IllegalStateException: > DISPATCHED,initial | org.apache.activemq.ActiveMQConnection | ActiveMQ > Session Task-1 > java.lang.IllegalStateException: DISPATCHED,initial > at > org.eclipse.jetty.server.AsyncContinuation.dispatch(AsyncContinuation.java:408) > > at > org.eclipse.jetty.server.AsyncContinuation.resume(AsyncContinuation.java:815) > at > org.apache.activemq.web.MessageServlet$Listener.onMessageAvailable(MessageServlet.java:409) > > at > org.apache.activemq.ActiveMQMessageConsumer.dispatch(ActiveMQMessageConsumer.java:1343) > > at > org.apache.activemq.ActiveMQSessionExecutor.dispatch(ActiveMQSessionExecutor.java:131) > > at > org.apache.activemq.ActiveMQSessionExecutor.iterate(ActiveMQSessionExecutor.java:202) > > at > org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:129) > > at > org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:47) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) > > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) > > at java.lang.Thread.run(Thread.java:722) > > Are there any configuration modifications available to have the topic > messages retained for at least 1 second? -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira