[
https://issues.apache.org/jira/browse/CAMEL-3540?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
João Loureiro updated CAMEL-3540:
---------------------------------
Attachment: Jt400DataQueueConsumerTest.java
Jt400DataQueueConsumer.patch
> Jt400DataQueueConsumer incorrectly implements timeout semantics
> ---------------------------------------------------------------
>
> Key: CAMEL-3540
> URL: https://issues.apache.org/jira/browse/CAMEL-3540
> Project: Camel
> Issue Type: Bug
> Affects Versions: 2.5.0
> Reporter: João Loureiro
> Priority: Minor
> Attachments: Jt400DataQueueConsumer.patch,
> Jt400DataQueueConsumerTest.java
>
>
> Jt400DataQueueConsumer implementation of receive(long) passes the timeout
> argument directly to com.ibm.as400.access.DataQueue.read(int), not performing
> unit conversion. However, Jt400DataQueueConsumer.receive(long) accepts
> milliseconds, whereas DataQueue.read(int) accepts seconds as the time unit.
> Also, invoking Jt400DataQueueConsumer.receive() results in a call to
> DataQueue.read(), which is not a blocking call; on the contrary, it will not
> wait for entries.
> Code snippet below.
> {code:title=Jt400DataQueueConsumer.java|borderStyle=solid}
> DataQueue queue = endpoint.getDataQueue();
> try {
> DataQueueEntry entry;
> if (timeout >= 0) {
> entry = queue.read((int)timeout);
> } else {
> entry = queue.read();
> }
> {code}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.