[
https://issues.apache.org/jira/browse/KARAF-2880?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jean-Baptiste Onofré resolved KARAF-2880.
-----------------------------------------
Resolution: Fixed
> 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
> Assignee: Jean-Baptiste Onofré
> Fix For: 2.4.0, 3.0.1, 4.0.0, 2.3.5
>
>
> 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)