Alexandre Gallice created KARAF-2880:
----------------------------------------

             Summary: jms:* commands don't consume messages
                 Key: KARAF-2880
                 URL: https://issues.apache.org/jira/browse/KARAF-2880
             Project: Karaf
          Issue Type: Bug
          Components: karaf-shell
    Affects Versions: 3.0.0
         Environment: Windows 7 Professional, Karaf launched as command line
            Reporter: Alexandre Gallice


I 've downloaded Karaf 3.0.0, deployed it and setup a basic configuration.

I have created few jms connection factories targetting activemq instances in 
remote locations (France to Germany).

All commands works in nominal scenarios except jms:consume & jms:move, and 
potentially each command consuming messages.

I had a look at the code and I think the problem resides in the use of 
receiveNoWait in the class org.apache.karaf.jms.internal.JmsServiceImpl.
message = consumer.receiveNoWait(); // present in move(...) && consume(...) 
comands

Indeed, I have already experienced situations where messages can't be 
completely prefetched to the jms client internal queue between the call to 
connection.start(); and the call to receiveNoWait().
A blocking call with a timeout would correct, by default 5 seconds could be ok 
in my opinion. Let's say:
message = consumer.receive(5000L);



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to