Helen Huang created AMQ-4277:
--------------------------------

             Summary: 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.7.0


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

Reply via email to