[
https://issues.apache.org/jira/browse/AMQ-4277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved AMQ-4277.
------------------------------
Resolution: Later
> activemq-web - 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
> Assignee: Claus Ibsen
> Fix For: 5.10.0
>
> Attachments: AMQ4277TestPatch.txt, 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 was sent by Atlassian JIRA
(v6.2#6252)