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)