問題タブ [qpid]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - hasMoreElements() で Service Bus キューの参照がハングする
オンプレミスの Service Bus インストールがあります。QPID AMQP 1.0 0.24 クライアントを使用して、メッセージを発行および購読/読み取りできます。ただし、キューのブラウジングは機能しません。キューにメッセージがなくなると、hasMoreElements() の呼び出しが無期限にハングします。スタック トレースは次のとおりです。
コード:
ConnectionFactory connectionFactory = (ConnectionFactory) context.lookup("MS_SERVICE_BUS"); connection = connectionFactory.createConnection();
QPID 0.22 の同じ動作。これは QPID クライアントまたは Service Bus のバグですか?
ありがとう、ジャン
java - AMQP を介した ServiceBus が再配信されたメッセージを失う
ServiceBus のオンプレミス インストールがあります。再配達の際に挙動がおかしくなりました。サンプル アプリケーションを作成しました。以下を参照してください。このアプリケーションは、5 つのメッセージを永続キューでトピックに投稿し、すべてのメッセージを読み取ろうとします。メッセージごとに、新しいセッションを作成し、メッセージ配信を開始/停止します (qpid バックグラウンド スレッドの適切な開始/停止にはタイムアウトが必要です)。プリフェッチにより、メモの読み取りメッセージがロックされると思います。最終的にはすべてのメッセージを取得できると期待していますが、一部のメッセージが失われています。最大配信数は 10 に設定されています。キューは Service Bus Explorer によって検査されました。テスト後は空であり、不足しているメッセージは Dealetter キューにありません。
動作を明示するために使用されるテスト。これは、メッセージを消費する方法ではありません。
これはログです。メッセージ 1、2、および 4 が失われました。
不足しているメソッド (EDITED、簡略化されたコード):
java - ServiceBus over AMQP はコンシューマを閉じます
ServiceBus と Java JMS QPID クライアント 0.26 のオンプレミス インストールがあります。SB にバグがあるようです。プロデューサが接続を閉じると、END コマンドがコンシューマに送信されます。プロデューサーとコンシューマーの両方が同じマシンで実行される必要があります。
まず、キューをリッスンするコンシューマーを開始します。
次に、1 つのメッセージをキューに投稿します。
プロデューサー プロセスが終了するとすぐに、コンシューマーも終了し、待機時間はタイムアウトよりも短くなります。receive(timeout) メソッドは、タイムアウトの有効期限が切れる前に null を返します (javadoc) 「メッセージ コンシューマが同時に閉じられています」。または、 IllegalStateException: Closed during call to approval() が表示される場合があります。
ここに消費者からのログがあります。サーバーが予期しない End{} をクライアントに送信したことがわかります。
python - Python バインディングを使用して Qpid Proton でカスタム メッセージ プロパティを設定する
Qpid Proton の Python バインディングを使用してカスタム プロパティを含むメッセージを送信しようとしていますが、正しい方法が見つかりません...
結果は...
どんな助けでも大歓迎です!
TIA、トーマス。
rubygems - パッケージがインストールされているにもかかわらず、stdc++ で Gem のインストール qpid_messaging が失敗する
以下を使用して qpid メッセージング gem をインストールしようとしています (Fedora 19 の場合):
次のメッセージで失敗しました:
マシンに libstdc++ パッケージがインストールされています。これを機能させるには、gem のインストールを特定のモジュールまたはヘッダー (.so/.h) にポイントする必要がありますか?
java - QPID メッセージ要素の順序
メッセージ交換ミドルウェアとして Apache QPID を使用するシステムを維持しています。そのクライアントはほとんどが Java で記述されており、JMS を Java の QPID の抽象化レイヤーとして使用しています。
一方、私は通常、同じテクノロジ セットを使用して Java で記述されたクライアントを使用します。これを使用して、監視ツールとして EXCHANGE/TOPICS をリッスンします。
すべてが完璧に機能していますが、メッセージ要素の順序が、まったく同じ情報を含む正確なメッセージで異なり、さらに同じアルゴリズムを使用して生成されるという事実に興味をそそられます。
以下のコードの断片でわかるように、JMSMapMessage
プロパティを繰り返し処理し、各要素を HashMap に挿入します。これが繰り返されて、スクリーンショットのツリー要素が挿入されます。
HashMap は必ずしも順序付けされた項目を保存するとは限りませんが、同じ順序で挿入された等しいキーセットについては、その要素に対して(順序に関して)同等の反復を取得する必要があると考える傾向があります。私は間違っているかもしれません。
とにかく、トラバースされている時点でアプリケーションをデバッグしましたprops
が、順序にも違いがあることがわかります。
これはシステムにはまったく影響しませんが、私は疑問に思います:
- 要素が同じ順序で挿入された同じキーで満たされた 2 つの HashMap が、そのキーに対して同じ反復順序を生成する場合。上で書いたように、私は彼らがそうだと思う傾向があります。
- QPID がそのメッセージ要素の順序を変更して、何らかの整列を行い、送信を最適化する場合。それとも、JMS レイヤーがこの順序を変更する可能性がありますか?
編集
この質問の最初の部分は、独自の質問の価値があると思いました: HashMap 要素の順序は再現可能ですか?
HashMap は変更すべきではないように見えますが、まったく保証されておらず、HashMap の実装が変更された瞬間に変更される可能性があります。
さて、この質問は QPID 側に集中する必要があります。
boost - LNK1104: cannot open file 'boost_thread-vc100-mt-gd-1_55.lib'
I'm facing difficulty to build qpid cpp solution on windows xp
I have installed Boost 1.55.0, Python 2.7, Ruby 2.0.0 and CMake 2.8
Then I have added Environment variable paths for Python, Ruby and CMake, and then Boost variables are set as followed
BOOST_ROOT C:\Boost
BOOST_LIBRARYDIR C:\Boost\lib
BOOST_INCLUDEDIR C:\Boost\include
I build Boost with following commands from command prompt
bootstrap
.\b2
I have downloaded qpid-cpp-0.26, Then I build qpid with following command from command prompt
Executing the above command have generated solution file for qpid
Then I opened qpid from solution file to build in Visual Studio 2010, when I tried to build the solution it gave me following error in qpidCommon
cannot open file 'boost_thread-vc100-mt-gd-1_55.lib'
After bit of searching, I came up with solutions like
Adding “BOOST_ALL_DYN_LINK” in Preprocessor definations
Adding Library path in Linker – General - Additional Library Directories
but above solutions didn't work for me
Any Ideas?