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 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.