問題タブ [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.
c++ - WindowsでApacheqpidでboost1_48を使用する
VisualStudio2010を使用してブースト1_47_0でqpidc ++をコンパイルしようとしたときにスタックしました。これが私が作ったステップシーケンスです:
- ビルドブースト1.48.0
- BOOST_ROOT、BOOST_INCLUDEDIR、BOOST_LIBRARYDIRなどを%PATH%envに追加しました。変数
- cmake、Python、Rubyをインストールし、それらのパスを%PATH%envに追加しました。変数
- 風袋引きされていないqpid-cpp-0.14.tar.gz
- ブーストファイル階層の最後の変更により、 https://bugzilla.redhat.com/attachment.cgi?id = 542165&action= diffからパッチが適用されました
- qpidで必要ないくつかの名前を変更し、ライブラリをlibbost_LIBRARY-vc100-mt-1_48.libからboost_LIBRARY.lib形式にブーストします。
- ' qpidc -0.14'ディレクトリで"cmake-i -G'Visual Studio 2010'"を起動し、*。vcxprojファイルを正常に受信しました
今、問題が現れました。
手順7で作成した「ALL_BUILD.vcxproj」ファイルをロードし、1つのプロジェクト(qpidcommon)をビルドしようとしました。しかし、「ライブラリがありません」というエラーが原因で、できませんでした。Boostライブラリの名前をlibbost_LIBRARY -vc100-mt-1_48.libからboost_LIBRARY-vc100-mt-1_48.libファイル形式に変更し、コンパイルを試みました。
そして、少なくとも、私は次に受け取りました:
プロジェクトに直接ライブラリを追加せずに、これを処理する方法についてのアイデアはありません。あなたは?
ありがとう。
network-programming - AMQP QPID のネットワーク トラフィック
QPID AMQP
ネットワーク トラフィックの再評価について質問があります。Machine A に Publisher があるとします。Qpid ブローカーはマシン B で実行されています。マシン C とマシン D の 2 人のサブスクライバーがいます (どちらも同じトピックにサブスクライブしています)。ここで、トポロジを想像してください。
A-->B-->X-->C | D (パブリッシャー A は B に接続され、サブスクライバー C および D は中間ノード X を介してブローカーに接続されます) C および D のトピックに一致する A によってパブリッシュされたメッセージは、両方によって受信されます。エッジ b->x はメッセージを 2 回 (b->x->c で 1 回、b->x->c で 2 回目) 伝送します。または、AMQP/qpid フレームワークは、メッセージを B から X に 1 回送信してから、個々のサブスクライバーにコピーを送信するのに十分なほどインテリジェントですか (したがって、b->x のネットワーク トラフィックが少なくなります)。私が考えたのは、X は何も知らないので、サブスクライバーごとにプライベート サブスクリプション キューがある場合 (または、共有キューがあり、メッセージを消費する代わりに閲覧/コピーしている場合でも)、メッセージは b->x を 2 回通過することです。
この質問は QPID に固有のものではありません。他のブローカー ベース (RabbitMQ) およびブローカーレス メッセージング フレームワーク (Zero MQ、LBM/UMS) のソリューションを知りたいです。Zero Mq がよりスマートなソリューションを提供しようとしている記事http://www.250bpm.com/pubsub#toc4を読みましたが、複数のコピーを送信するかどうかを中間ホップがどのように知るか (私はネットワーキングではありません)専門家なので、何かわかりにくいものがあるかもしれませんので、どんな助けも本当に感謝しています)
python - Pythonでqpidからメッセージの量を取得する
Pythonでqpid ライブラリを使用して、キューに格納されているメッセージの量を受け取るにはどうすればよいですか?
私はこのように試しました:
そして、それは常に私に0メッセージを返します。
apache - Apache QPID キューのサイズと数
次のパラメーターを持つ qpid キューがあります: bus-sync-queue --durable --file-size=48 --file-count=64
このキューに1 000 000メッセージを入れたいです。各メッセージは、 12文字の単なる文字列です。(002000333222、002000342678 など)。すべてのメッセージをキューに入れるには、config --file-size= X --file-count= Yにどの値を設定する必要がありますか?
c++ - コンストラクターとメソッドのシングルトン関数呼び出し
私はqpidメッセージングライブラリを使用しています。接続オブジェクトを保持するシングルトンクラスがあります。接続の作成方法によっては、アプリケーションが終了時にコアになることに気付きました。シングルトンコンストラクターまたは静的メソッドで作成した場合はすべて問題ありませんが、非静的メソッドまたは以下に示すgetinstanceメソッドで作成した場合、メッセージングライブラリはデストラクタが呼び出される前に内部でcloseメソッドを呼び出します。そしてそれは中絶を呼びます。このような結果を引き起こす可能性のあるこれらの作成呼び出しはどのように異なるのか疑問に思いました。
java - スレッド「メイン」の例外 java.lang.NoClassDefFoundError: org/apache/qpid/url/URLSyntaxException
Eclipse と Tomcat で QPid を使用しています。動的 Web アプリケーションを作成し、QPID_HOME、QPID_WORK 環境変数を設定しました。
ここに記載されている Hello.java の例を試してみてください:-
https://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/example/
しかし、このファイルの実行中にこれらのエラーが発生します:-
rabbitmq - AMQP 1.0 の実装はどこにありますか? 待つのは理にかなっていますか?
私は、将来の製品にどのメッセージング ソリューションを採用するかを調査していますが、これについてはよくわかりません。
AMQP 0.9.1 の実装は多数ありますが (RabbitMQ、Apache Qpid、OpenAMQ など)、AMQP 1.0 の実装はありませんが、1.0 は 2011 年 10 月に完成しています。SwiftMQ を除いて [1]。
1.0 を調べてみると、1.0 より前の仕様から大幅に逸脱しているように見えるため、正常に動作しているものを大幅に書き直すことにほとんど熱意がないことは理解できるようです。実際、RabbitMQ などの企業が AMQP 1.0 ではなく ZeroMQ への移行を決定しない理由がわかりません。
それでも、「常に最新の AMQP 仕様を実装するよう努める」などの漠然としたコミットメントを除いて、1.0 より前の AMQP 仕様の実装者による明確な声明は見つかりません。
編集: RabbitMQは実際に言っています
しかし、声明は 3 年以上前のものである、つまり、AMQP 1.0 のリリースよりも前のものであることがわかりました。
AMQP 1.0 が標準になる可能性を示す兆候はありますか? 主要な銀行 (および Microsoft) が背後にいるという事実を除いては? ところで後者。独自の実装なし。
AMQP 0.9.1 は 1.0 よりも標準的であるように思われます。
さて、https://github.com/rabbitmq/rabbitmq-amqp1.0があり、自称プロトタイプであり、半年間作業が行われていないようです。
[1] SwiftMQ の私の第一印象は、Spring の AMQP サポートの欠如に関する作者の暴言から得たものであり、当面は考慮していません。あの人からのサポートは期待したくない。
c++ - qpid cpp クライアントでの着信メッセージ受信時の例外
まず、問題について議論するためのプラットフォームを提供していただきありがとうございます。
qpid cpp クライアント プログラムに問題が見つかりました。
subscriptions.start の後、クライアント プログラムにメッセージを送信すると、メッセージが受信されたことがわかりましたが、次の例外で失敗しました。
スタックは言う..
ここで何か不足していますか?
私を助けてください。
amqp - AMQPヘッダー交換でメッセージを受信するアドレス
Qpidを使用してキューをヘッダー交換にバインドするために使用する必要があるアドレスは何ですか?特定のヘッダーと値を持つメッセージのみをキューに受信させたいですか?
session - qpid AMQConnection.createSession()重複するSessionオブジェクトを生成しますか?
たくさんのスレッドがあり、それぞれがセッションを作成してorg.apache.qpid.client.AMQConnection
からセッションを作成します。
一部の実行では、次のように2つの異なるスレッドで同じSession.hashCode()を取得します。
一意であることが保証されていないことを理解しましたが、2つの別々のスレッドで同じセッションオブジェクトhashcode()
を返すことをどのように証明または反証できますか?createSession()