問題タブ [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.

0 投票する
4 に答える
6233 参照

java - ActiveMQ トピックの最後の 10 件のメッセージのみを常に確認する

ActiveMQ で、膨大な数のメッセージがトピックから脱落しないという問題があります。トピックは非持続性、非持続性に設定されています。Activemq.xml ファイルは

そして、messaging-config.xml のトピック定義は次のとおりです。

私が達成しようとしているのは、最後の 10 件のメッセージのみが一度にトピックにあるということです。これは、非常に少数しか保持されていないはずなのに、一晩実行したままにしておくと、トピックに関する 15 万件を超えるメッセージが発生するためです。

0 投票する
1 に答える
1431 参照

c# - ActiveMQのフェイルオーバーメカニズムはC#(openwire)およびpython(stomp)クライアントでサポートされていますか?

ActiveMQを使用してPythonサービスをC#クライアントに接続したいと思います。C#(openwire)とpython(Stomp)でフェイルオーバー接続を指定する方法はありますか?

ActiveMQは、共有ファイルシステムマスタースレーブで構成されます。

0 投票する
1 に答える
7261 参照

activemq - ActiveMQクラスタリングを使用したApacheCamel

ServiceMix 3.3.1 / Camel 2.1 /AMQ5.3アプリケーションをクラスタリングするためのオプションを決定しようとしています。大量のメッセージ処理を実行していますが、高可用性と水平方向のスケーラビリティを実現するためにクラスター化する必要があります。

これが基本的に私のアプリケーションが行うことです...HTTP->QUEUE-> PROCESS-> DATABASE-> TOPIC

from( "jetty: http: //0.0.0.0/inbound ").to( "activemq:inboundQueue");

from( "activemq:inboundQueue?maxConcurrentConsumers = 50").process(decode()).process(transform()).process(validate()).process(saveToDatabase()).to( "activemq:topic:ouboundTopic" );

したがって、ServiceMixとAcitveMQのクラスタリングページをすべて読みましたが、どちらに進むべきかまだわかりません。

HAにマスター/スレーブセットアップを使用できることは知っていますが、それはスケーラビリティには役立ちません。

ブローカーのネットワークについて読みましたが、これがどのように適用されるかわかりません。たとえば、クラスター内の複数のノードに同一のCamelルートをデプロイした場合、それらはどのように正確に「相互作用」しますか?HTTPプロデューサーを1つのノード(NodeA)に向けると、どのメッセージがNodeBに送信されますか?キュー/トピックはノードA/B間で共有されますか?共有される場合、メッセージは分割または複製されますか?また、外部クライアントはどのようにして私の「outboundTopic」を正確にサブスクライブしますか(そしてすべてのメッセージなどを取得しますか)?

あるいは、複数のServiceMixインスタンス間でブローカーを共有するだけでよいと考えていました。管理するキュー/トピックのセットが1つしかないという点で、これはよりクリーンであり、インスタンスを追加することで拡張できます。しかし、今では単一のブローカーのスケーラビリティに制限されており、単一障害点に戻っています...

誰かが私にとってのトレードオフを明確にすることができれば...私はそれをいただければ幸いです。

0 投票する
2 に答える
1469 参照

java - ブローカーのActiveMQネットワークを備えたJMSコンシューマー

ブローカークラスターのActiveMQネットワークにJMSトピックがあります(分散トピックとも呼ばれます)。このトピックをサブスクライブして、すべてのメッセージを(すべてのブローカー間で)送信する必要がある外部JMSコンシューマー(Weblogicポータル)があります。

コンシューマーがブローカーの1つでトピックをサブスクライブする場合、ブローカーが受信するメッセージのサブセットのみを取得します。

ブローカーごとにコンシューマーを作成してメッセージを集約することもできると思いますが、接続の問題に対処したり、どのブローカーが利用可能かを知る必要もあります。

質問、分散JMSトピックからすべてのメッセージを取得するようにブローカーまたはコンシューマーのネットワークを構成する方法はありますか?

0 投票する
3 に答える
1221 参照

c++ - ActiveMQ CPP API を使用して RabbitMQ Broker と通信できますか?

RabbitMQ ブローカー経由でメッセージを送信する必要がある C++ ソフトウェアがあります。RabbitMQ ブローカーにメッセージを送受信するために ActiveMQ CPP lib (CMS) を試した人はいますか?

0 投票する
2 に答える
5999 参照

apache-camel - Camelを使用した分散ActiveMQ

私はActiveMQとCamelを学習している最中であり、次のような動作をする小さなプロトタイプシステムを作成することを目標としています。

代替テキスト
(出典:paulstovell.com

(大きい)

Ordersシステムで注文が行われると、すべてのサブスクライバー(pub / subシステム)にメッセージが送信され、サブスクライバーは注文の処理に関与できます。OrdersShipping、およびInvoicingアプリケーションには独自のActiveMQがインストールされているため、3つのシステムのいずれかがオフラインの場合でも、他のシステムは引き続き機能します。ActiveMQインストール間でのメッセージの移動は何かが処理します。

メッセージが同じActiveMQインスタンス上にある場合、ApacheCamelでメッセージをあるキューから別のキューにルート経由で移動するのは非常に簡単です。したがって、これはサブスクリプションキューを管理するために機能します。

次の課題は、あるActiveMQインスタンスから別のインスタンスにメッセージをプッシュすることです。これは、次に何を見るべきかわからない部分です。

  1. Camelは異なるActiveMQインストール間をルーティングできますか?(異なるマシン上にある場合、JMIエンドポイントURIがどうなるかわかりません)。
  2. ActiveMQにはストアアンドフォワード機能があることを理解しています。これは、注文と配送/請求の間でメッセージを移動するために使用するものですか?
  3. それとも、これはApache ServiceMixが解決することを意図しているものですか?
0 投票する
1 に答える
3188 参照

java - Tomcatはamq:brokerを理解しますが、Eclipseはスキーマのエラーをマークします

EclipseでActiveMQを使用している場合、次のようなスキーマ解析エラーが発生することがあります。

ただし、プロジェクトはTomcatに正常にデプロイされます。

0 投票する
3 に答える
837 参照

jakarta-ee - MDBがそれ自体からのメッセージを無視するようにするにはどうすればよいですか?

ActiveMQメッセージブローカーの単一のトピックのコンシューマーとサブスクライバーの両方であるクライアントがいくつかあります。すべてのクライアントは同じコードを共有します。実際には、(1)メッセージを生成するEJB、および(2)メッセージを消費するMDBで構成されるまったく同じエンタープライズアプリケーションを使用しています。

問題は、基本的に、クライアントA、B、およびCがあり、Aがメッセージを送信した場合、A、B、Cがすべてメッセージを受信することです。Aに独自のメッセージを受信させたくありません。

そこで、さまざまな解決策を試してみました。思いついた最善の解決策は、送信メッセージに文字列プロパティを設定することでした(例:source = myVeryOwnID)次に、MDBで、 source<>'myVeryOwnID'のようなメッセージセレクターを設定します。

残念ながら、このIDをソースコード(私の場合は注釈内)に設定する必要があるため、これは不十分な解決策です。つまり、新しいクライアントをデプロイするときに、.EARファイルを誰かに渡すことはできません。代わりに、一意の「ソース」プロパティを使用して特別に再コンパイルする必要があります。

理想的には、MACアドレスをIDとして使用するか、Glassfish内で設定されたIDを使用したいと思います(私はGFv3を使用しています)。

どんな解決策やアイデアも大歓迎です!

0 投票する
3 に答える
13114 参照

java - ローカルではなくactivemqを使用するにはどうすればよいですか?

ローカル以外で ActiveMQ を使用する方法がわかりません。
メッセージを交換する必要がある 2 台のマシンがあるとします。
マシン上で ActiveMQ ブローカーを起動します。

次のようなものを使用します。

私が持っているjndi.propertiesの場所:

しかし、このトピックをサブスクライブするには、他のマシンで何を作成すればよいでしょうか? 2 番目のマシンに 2 番目のローカル ActiveMQ ブローカーを作成し、最初のマシンにあるリモート トピックをサブスクライブする方法を教えてください。

0 投票する
1 に答える
5939 参照

java - ActiveMQ JMS ping

アパッチ Activemq 5.2.0

私のアプリケーションは、3 つのトピックに関するメッセージをリッスンし、2 つのトピックに関するメッセージを送信します。アプリケーションが「webping」されたときに、これらのトピックが有効かどうかを確認したいと考えています。これが可能かどうか知りたいです。ここに私の観察があります、

  1. これにはアドバイザリ メッセージを使用できますが、プロデューサ/コンシューマが参加した場合にのみメッセージを送信します。これは私が望むものではありません。アウトバウンド トピックにメッセージを送信できるかどうか、インバウンド トピックでメッセージを受信できるどうかを確認したいだけです。
  2. カスタム ハートビート ソリューション。すべてのプロデューサーに 5 秒ごとにハートビート メッセージを送信させ、リスナーにハートビート メッセージを処理させずにフラグ/タイムスタンプを更新させることができます。そうすれば、トピックが稼働中であることがわかります。
  3. Apache ActiveMQ に組み込まれているハートビートのようなものはありますか? または「トピックのping」?

JMS が監視用ではないことは理解していますが、私がトピックのプロデューサーである場合、適切な快適さのレベルでトピックを作成できるかどうかを知っておくとよいでしょう。また、ping とチャネルがダウンする可能性があるというメッセージの間で同意します。これは許容できる失敗です。

「はい、トピックがあり、activemq が実行されています」と言えるヘルスチェック システム/ページが必要です。