問題タブ [activemq]
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 - activemq を最適化する方法
Java でのサーバーの過負荷のシミュレーションで ActiveMQ を使用しています。そして、基本的にはうまくいきますが、600 件を超えるリクエストを受け取ると、どうしようもありません。
ボトルネックは、下のこの男である私のマスターサーバーだと思います。私はすでに接続を再利用し、さまざまなセッションを作成してクライアントからのメッセージを消費しています。前述したように、接続とキューを再利用して、接続ごとに約 50 ~ 70 のセッションを使用しています。以下のコンポーネント/リスナーを再利用/最適化できるものについて何か考えはありますか?
アーキテクチャは次のとおりです。
* = いろいろ
クライアント ---> JMS MasterQueue ---> * マスター ---> JMS SlavaQueue ---> * SlaveQueue
主にMaster→Slave通信のセッションごとにTemp Queueを作っているのですが、性能的に大きな問題はありますか?
java - ActiveMQOutOfMemoryはこれ以上スレッドを作成できません
サーバーの過負荷をシミュレートしていますが、次のエラーが発生します。
このページhttp://activemq.apache.org/javalangoutofmemory.htmlで、メモリサイズを増やすことができることを読みました。しかし、どうすればそれを行うことができますか?どのファイルを変更する必要がありますか?bin / activemqスクリプトで引数を渡そうとしましたが、うまくいきませんでした。
activemq - ActiveMQ に関するフィードバック。どうですか?それは価値がありますか?
私たちは ActiveMQ を評価していますが、それについてどう思うか知りたいです。どんなフィードバックでも大歓迎です。
編集:
実際には、次のようなことを知る必要があります: どのようにスケーリングするか? 安定性はどうですか?本番環境で十分に安定していますか? メモリ消費量など
java - ActiveMQでマルチキャストを使用している人
ActiveMQを使用してマルチキャストトランスポートを設定するのに問題があります。バージョン5.2では、正しいファクトリを構築することさえできないバグがあることに気づきました(5.3で修正されました)。このバグが存在するという事実は、誰かがマルチキャストを使用しているのではないかと思います。最近有効にした場合、これをどのようにテストできますか?
これが可能であることを知っているだけで、私は大いに役立ちます。ありがとう。
編集:
私は接続の構築にぶら下がっていたことがわかりました。setClientIDは同期呼び出しであるため、クライアントは無期限に待機します。これは、マルチキャストを使用するすべての人にとっての地雷です。AMQConnectionオブジェクトには、応答を受信するまでブロックするensureConnectionInfoSent()を呼び出す多くの呼び出しがあります。これはマルチキャストと互換性がありません。
java - ActiveMQ: 古いメッセージをデキューする方法は?
ActiveMQ の使用方法を学んでいますが、現在、次の問題に直面しています。
2 つのサブスクライバーを持つ ActiveMQ に topic.test という名前のトピックがあるとします。ある時点で、メッセージを待っているサブスクライバーは 1 人だけで、プロデューサーは上記のトピックに関するメッセージを送信します。
接続されたサブスクライバーはメッセージを受け取りますが、他のサブスクライバーは後で接続されたときにそのメッセージを受信するべきではありませんか? 私の場合、それは起こっていません。私のサブスクライバーは、接続中にのみメッセージを受信しています。接続されていない間に送信された他のすべてのメッセージは、受信されていません。私は何が間違っているのでしょうか?
ActiveMQ をテストするために私が書いたソース コードの一部を次に示します。何が悪いのか分かるかもしれません。
私の消費者コード:
そして、ここに私のプロデューサーコードがあります:
コンシューマーが古いメッセージを取得できるように、ActiveMQ に追加する必要がある他の構成はありますか?
java - ActiveMQ で JDBC Persistence Adapter を使用する必要があるのはいつですか?
ActiveMQ のドキュメント (私たちは 5.3 リリースを使用しています) を読んで、ActiveMQ で JDBC 永続化アダプターを使用する可能性に関するセクションを見つけました。
利点は何ですか?パフォーマンスや信頼性が向上しますか? いつ使用すればよいですか?
glassfish - ジェロニモ対グラスフィッシュ
本番環境では、Apache Geronimo は ActiveMQ、Derby、Solr を使用するアプリケーションに適していますか?
transactions - DLQに移動する代わりにトランザクションActiveMQメッセージがドロップされるのはなぜですか?
コンシューマーを(NMSライブラリを使用してC#で)次のように作成します。
メッセージを受信し、セッションでCommitを呼び出さないと、元のキューに戻ります。その後、破棄される前にさらに5回再配信を試みます。メッセージがDLQに送信されるのではなく、破棄されるのはなぜですか?!
activemq - Apache ActiveMQ 5.3 - 重複メッセージを拒否するようにキューを設定する方法は?
重複禁止ポリシーを適用するには、キューが必要です。出来ますか?もしそうなら、どのように?(私は何時間もグーグルで検索してきました...)
編集:
ActiveMQSession 実装には次の行があります。
ActiveMQMessageTransformation はプラグイン可能 (設定可能) ですが、次の if ステートメントは議論の余地がありません。
コードを変更する以外のアイデアはありますか?
activemq - Flex クライアントが切断されたときに ActiveMQ がサブスクリプションを停止しない
blazeds 3.2 経由でフレックス クライアントにメッセージを送信するために、activeMQ 5.3 を使用しています。
クライアントが初めて接続すると、activeMQ ブローカーへのサブスクリプションが作成されていることがわかります。ただし、クライアントを実行するブラウザーを強制終了した後、メッセージが消費されなくなっても、サブスクリプションは開いたままになります。これにより、最終的に Web サーバーのメモリ不足が発生します。ログから、Blazeds がフィードからサブスクライブを解除しているように見えます。
接続しているクライアントがもういない場合、ブレイズドはサブスクリプションを停止すべきではありません。なぜ彼はそうしないのですか?
以下に、ログ ファイルのスニペットを示します。
以下に、ActiveMQ に使用される構成を示します。
宜しくお願いします