Hi,

sounds like a bug. Can you create a test for it along the lines with

https://fisheye6.atlassian.com/browse/activemq/trunk/activemq-web-demo/src/test/java/org/apache/activemq/web/RestTest.java?hb=true

and file a Jira?



Regards
--
Dejan Bosanac
----------------------
Red Hat, Inc.
FuseSource is now part of Red Hat
[email protected]
Twitter: @dejanb
Blog: http://sensatic.net
ActiveMQ in Action: http://www.manning.com/snyder/


On Tue, Jan 22, 2013 at 5:01 PM, sweaver <[email protected]> wrote:
> 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?
>
>
>
> --
> View this message in context: 
> http://activemq.2283324.n4.nabble.com/REST-GET-204-tp4662037.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.

Reply via email to