You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Gary Tully (JIRA)" <ji...@apache.org> on 2015/02/03 22:52:43 UTC

[jira] [Updated] (AMQ-4277) activemq-web - REST GET 204

     [ https://issues.apache.org/jira/browse/AMQ-4277?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gary Tully updated AMQ-4277:
----------------------------
    Fix Version/s:     (was: 5.11.0)
                   5.12.0

> 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
>             Fix For: 5.12.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.3.4#6332)