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"場合は、「timeout:1000」も正しいです。「timeout:0」の場合、ログに記録される値は"timeout: 0.0"、Java側では予期しない浮動小数点です。

整数ゼロを文字通りに強制する方法がわかりません。試してみ"timeout: 0x0"まし"timeout: parseInt(0)"たが、問題はJS-Java翻訳にあるようです。このような基本的な境界条件がリリース前にテストされていないのは残念です。

4

1 に答える 1

1

これは、現時点で回避策が知られていない不幸なバグのようです。問題を修正するために欠陥が開かれます。現在のバージョンで可能な回避策を引き続き探します。

于 2013-03-18T15:36:59.863 に答える