ドキュメントによると、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"
場合は、「timeout:1000」も正しいです。「timeout:0」の場合、ログに記録される値は"timeout: 0.0"
、Java側では予期しない浮動小数点です。
整数ゼロを文字通りに強制する方法がわかりません。試してみ"timeout: 0x0"
まし"timeout: parseInt(0)"
たが、問題はJS-Java
翻訳にあるようです。このような基本的な境界条件がリリース前にテストされていないのは残念です。