問題タブ [openmq]
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.
glassfish - 受信後のJMSの有効期限が機能しない
タイトルは紛らわしいかもしれませんが、これが私が達成したいことです。1つのejbから別のejbにjmsメッセージを送信したいのですが、2番目のejbにはメッセージリスナーがあり、これは正常に機能しています。ただし、1番目のejbで、2番目のejbが応答する一時的な宛先キューを作成する必要がありました。これも正しく機能しています。
私の問題は2番目のejbにあります。これは、サードパーティのWebサービスを呼び出しており、長い時間が経過すると応答することがあり、その時点で一時キューが期限切れになるはずです。しかし、問題はjava.netに準拠していないことです:http://java.net/projects/mq/lists/users/archive/2011-07/message/22
それで、それは受け取られましたが、まだ返事がありません。次に、一時キューに書き込む時間に、すでに期限切れになっているはずですが、何らかの理由でキューに書き込むことができ、imqログにffがあります。
一時キューがすでに期限切れになっているかどうかを検出できる別の実装はありますか?別の一連のアクションを実行できるようにするには?私の現在の問題はejb2の応答が遅いことであり、ejb1からのjmsリーダーはすでになくなっているため、これ以上ありません。
web-services - Glassfish-JMS要求/応答-メッセージがキューに入れられない
付属のOpenMQJMSキューを使用してGlassfish3.1.2にWebサービスを実装しようとしています。このキューは、応答の一時キューを使用して同期JMS要求/応答を実装します。リモートクライアントジョブ(コンテナの外部で実行)によってメインキューから取得されたメッセージを送信し、一時キューで応答を受信します。
基本的なJavaPOCでは、これは機能します。しかし、サーバー側のコードをコンテナーに入れると、機能しません。
メッセージがキューに送られ、ピックアップされないようにジョブをオフにし、QBrowserでキューを追跡します。
プロデューサーからメッセージを送信するだけで、キューに入れられ、ジョブで読み取ることができます。
しかし、応答を受信するコードを追加すると、メッセージはキューで読み取ることができなくなります。QBrowserは、キューに1つのメッセージがあると言っていますが、UnAckとマークされており、キューは空のように見えます(たとえば、メッセージが読み取れません)。
connectionFactoryとrequestQueueは、glassfishから@Resourceとして注入されます。メインキューはGlassfishで定義されています。
Webサービスの内部:
個別の接続とセッション、非同期コンシューマーなど、さまざまなアプローチを試し、プロデューサーのトランザクションセッションを試みましたが、コミットしようとしたときにのみスタックトレースを取得しました。
これを適切にキューに入れるために何が欠けていますか?
前もって感謝します!
編集:ConnectionFactoryおよびQueueのDomain.xml参照:
jakarta-ee - GlassFish で JMS ブローカーを監視するために使用できるツール
Open MQ GUI Administration Console (Glassfish インストール ディレクトリ内) とQBrowserを使用します。他に検討すべきツールはありますか?
jms - OpenMQ を Jboss-4.2.3.GA と統合するには?
メッセージング指向のミドルウェアのパフォーマンス評価の研究のために、OpenMq を Jboss-4.2.3.GA と統合しようとしています。imqjmsra.ra をデフォルトのリソース アダプタとして使用したいと考えています。これら 2 つの統合のための段階的なプロセスで助けが必要です。OpenMq を jboss サーバーのデフォルトの JMS プロバイダーにしたいと考えています。ドキュメントと正確なリンクまたは適切な手順は非常に高く評価されます。助けてください。
java - OpenMQ 用の最小限の Java クライアントを作成する方法
MQ nubee が最初の Java クライアントを作成するのを手伝ってください。Oracle ドキュメントで少し迷ってしまいました。私はOpenMQを稼働させています。OpenMQ 管理コンソールで、「MyFirstTest」という名前のブローカーを確立しました。6 つのサービスのうちの 1 つは「jms」であり (これが最も使いやすいサービスのようです)、このサービスも稼働しています (サービス状態は実行中です)。だから私は興味深い部分に来ます。ブローカー「MyFirstTest」に接続してメッセージを送信し、最後に、おそらく 2 番目のクライアントからこのメッセージを読み取るにはどうすればよいでしょうか。
新しい com.sun.messaging.Queue を使用する代わりに、既存のキューを見つける必要があると思います
例やリンクを歓迎します。
}
glassfish - 内部ブリッジを作成してキューをトピックに転送する方法
キューからトピックへの内部ブリッジをセットアップしようとしていますが、「ルックアップに失敗しました」という例外が発生します。
詳細は次のとおりです。
Env: GlassFish 3.1.2.2 (新規インストール) および組み込み JMS ホスト
- キュー接続プール (javax.jms.QueueConnectionFactory) を作成します: pool1 (jndi およびプール名)
- トピック接続プール (javax.jms.TopicConnectionFactory) を作成します: pool2 (jndi およびプール名)
- キューの作成: queue1 (jndi およびキュー名)
- トピックの作成: queue1 (jndi およびキュー名)
domain.xml は次のように構成されます。
そして bridge.xml ファイル:
例外:
ドキュメントはかなり良いですが、その問題を回避できません...
java - ActiveMQ プロデューサーを OpenMQ JMS ブローカーに接続する方法
スイングの重いクライアント (Apache ActiveMQ ライブラリを使用) から、デフォルトの JMS プロバイダーとして OpenMQ を使用していると思われる Glassfish サーバーのインスタンスにテキスト メッセージを送信しようとしています。
クライアントに使用している非常にソースの基本的なコードの下:
- Glassfish サーバーの管理コンソール (JMS_PROVIDER_PORT) のシステム プロパティでブローカー ポートを見つけました。
- MessageDrivenBean をデプロイしたときに、キュー接続ファクトリとキューが作成されました。
- 今のところ、クライアントとグラスフィッシュ インスタンスは同じコンピューターで実行されていますが、2 つの異なるマシンで動作させたいと考えています (そのため、トランスポート プロトコルとして vm:// を使用していません)。
私はこれらの例外を得ました:
- Glassfish インスタンスの JMS プロバイダーを ActiveMQ に変更する解決策を検討しましたが、可能であれば OpenMQ を維持したいと考えています。
PS: 私は JMS と Java EE フレームワークの初心者です。
glassfish - プログラムによる DMQ の読み取り
プログラムで「mq.sys.dmq」からメッセージを読み取るにはどうすればよいですか。Glassfish 3.1.2.2を使用しています
私がしようとすると:
私は受け取ります:
javax.naming.NamingException: 'mq.sys.dmq' の検索に失敗しました
mule - Mule ESB を OpenMQ ブローカーに接続する
Mule ESB を既存の OpenMQ ブローカーに接続しようとしています。openmq 統合用の mulesoft ドキュメントから構築すると、次のフローがあります。
ただし、実行時にエラーが発生します。
いくつかの要素が例から除外されているように感じます。誰かが何が欠けているか教えてもらえますか?
glassfish - Glassfish 3.1.2 での JMS キューの奇妙な動作
私のアプリケーションは、Glassfish 3.1.2 サーバーで JMS メッセージを使用し、OpenMQ を JMS プロバイダーとして使用します。
コンシューマがメッセージの処理に失敗すると、奇妙な動作が発生します。この場合、Glassfish はメッセージを Dead Message Queue に正しく移動します (2 回試行した後)。そして、これは問題ありません。
サーバーを再起動すると、DMQ に保存されたメッセージが元の宛先に再度送信されます (これは問題ありませんが、この動作は予期していませんでした)。これで、コンシューマーが成功した場合でも、メッセージは destination に残ります。
サーバーをもう一度再起動すると、メッセージが再び消費されるため、これは正しくありません。奇妙なことに、今度はメッセージがキューから完全に削除されます。
質問は次のとおりです。
- メッセージがキューに残っているのはなぜですか?
- また、再起動後に GF がメッセージを DMQ から元のメッセージに自動的に移動しようとするのはなぜですか?