根据文档,无条件等待从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”。对于“timeout:0”,记录的值是Java侧的意外"timeout: 0.0"
浮点值。
我认为没有办法强制整数零作为字面值,我尝试"timeout: 0x0"
或"timeout: parseInt(0)"
但问题似乎是在JS-Java
翻译中。遗憾的是,这种基本边界条件在发布前未经过测试,这是遗憾的。
答案 0 :(得分:1)
这似乎是一个不幸的错误,目前没有已知的解决方法。将打开一个缺陷来解决问题。我们将继续为当前版本寻找可能的解决方法。