1

根据文档,从JMS队列中读取消息的无限等待是通过指定来实现的"timeout: 0"。使用非零值调用可以WL.Server.readSingleJMSMessage正常工作,因为零超时函数会立即返回,我可以找到日志条目:

com.worklight.integration.model.InvocationContext E FWLSE0099E: An error occurred while invoking procedure jms_topic/JMSConsumerFWLSE0100E: parameters:{ "arr": [ { "destination": "myqueue", "singleMessage": true, "timeout": 0.0 }]} java.lang.Double cannot be cast to java.lang.Integer FWLSE0101E: Caused by: null

对于像记录的参数这样的正值"timeout: 1000"是正确的,也是“超时:1000”。对于“超时:0”,记录的值是浮点数,"timeout: 0.0"在 Java 端是意外的。

我看不到强制积分零作为文字的方法,我试过了,"timeout: 0x0"或者"timeout: parseInt(0)"问题似乎出在JS-Java翻译中。可惜这样的基本边界条件在发布前没有经过测试。

4

1 回答 1

1

这似乎是一个不幸的错误,目前没有已知的解决方法。将打开一个缺陷来解决该问题。我们将继续为当前版本寻找可能的解决方法。

于 2013-03-18T15:36:59.863 回答