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

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

jms - Open MQ はどのトランスポート プロトコルを使用しますか?

IBM の担当者がMQTTについて話しているのを聞きました。彼は、MQTT は現在最も軽量なメッセージング プロトコルであると述べています。彼の議論は、1 つのメッセージに対して生成される最小のオーバーヘッドは 2 バイトであるというものでした。ただし、HTML5 WebSocket についてもまったく同じ (2 バイトのオーバーヘッド) と聞いたことがありますか? とにかく、メッセージング アプリケーションの JMS プロバイダーとしてOpen MQを使用する予定であるため、プロバイダーで使用するプロトコルに興味を持ちました。その質問に対する答えがどこにも見つからず、Open MQ のドキュメントと、Open MQ を JMS プロバイダーとして使用する GlassFish のドキュメントをグーグル検索しました。インターネット上のいくつかのブログ投稿などにはAMQPと書かれていますが、その声明を裏付ける確かな参照が見つかりません。

Open MQ が使用するプロトコルはどれですか? また、どのように知ることができますか?

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

java - Spring MQ JMS 再接続構成

最初に、ブローカ接続がシャットダウンされて再起動されたときにアプリケーションに再接続するように JMS MQ を構成する方法について質問があります。

以下は私が試したものです、

これは、最初に spring-mq-jms-connections.xml にあった構成です

これを、「SingleConnectionFactory」をラップする「DefaultMessageListenerContainer」を導入した以下の構成に置き換えました。

しかし、この構成の変更後、以下の例外が発生し始めました。

'destination' または 'destinationName' が必要であると表示されます。レガシー コードを扱っています。これを探す場所がわからないか、構成を変更したときに正しいことを行っています。

例外が原因でブローカー接続がダウンしたとき、または再起動したときに OpenMQ をアプリケーションに再接続するためのより良い方法があるかどうかを提案してください。例外リスナーを使用してSpring JMS接続ファクトリーも調べましたが、わかりませんでした。

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

java - メッセージング キュー アプリケーション

一部のアプリ用に MSMQ のようなメッセージ キューを開発するように言われましたが、Linux サーバーで動作できるように Java で作成する必要があります。同僚がグラスフィッシュ経由で openmq をテストしましたが、両方のアプリが同じコンピューターにある場合でも、非常に遅いです。遅いコンピューターでは各メッセージを 1 秒遅延させ、高速なコンピューターでは .8 秒遅延させます。彼のコードを読むとすべて問題ないように見えます。遅延は openmq グラスフィッシュ関数 (彼のコードではない) によって引き起こされているようです。

この件に関連するものをたくさん読みましたが、ライブラリや何かを見つけることができません(zeromq、openmqを見ましたが、サービスの管理と提供ではなく、それらが適しているかどうかわかりません) . 私のニーズに合っていると思う唯一のものはMSMQであり、前に述べた理由で使用できません.

数か月で、少なくとも 200 のライブ アプリケーションの通信に使用されることになります。

この質問の主な理由は、何を使用すればよいか、または誰かが openmq を GlassFish で使用して問題なく動作するかどうかの提案を得ることです。問題を探すためにそのコードを再確認する必要があります。

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

glassfish - Glassfish 3.1.1 で LOCAL として実行されている OpenMQ ブローカーのデフォルトのパスワードを変更するにはどうすればよいですか?

Glassfish クラスターで LOCAL として実行されている OpenMQ ブローカー インスタンスの管理者ユーザーのデフォルト パスワードを変更しようとしています。サーバーにローカルでログインして imqusermgr ツールを使用しようとしましたが、うまくいきませんでした。asadmin set コマンドを使用する必要があると思いますが、どのコマンドかわかりません。

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

spring - Glassfish と Spring で JMS 設定を変更する

私たちのプロジェクトでは、「jms/ConnectionFactory」としてバインドされた ConnectionFactory と「jms/Queue」としてバインドされたキューで Glassfish v3.1.2.2 を使用します。両方とも、glassfish 管理コンソールで作成されます。

Spring 構成は次のように実装されます。

これまでのところすべて正常に動作しており、メッセージは問題なくキューに送信され、キューから消費されます。RuntimeException によるメッセージのロールバックも機能します。

問題は、Activation Spec の RedeliveryAttempts や RedeliveryInterval などの基本的な設定を変更する方法です。MDBのみを使用してSpringでこれを変更する解決策が見つかりません。Glassfishs 管理コンソールまたは Spring 構成でこれを行う方法はありますか? 別の実装を使用する必要がありましたか、それともすべてでは不可能ですか?

誰かが助けてくれることを願っています。前もってありがとう、ダニー

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

java - Open MQ の奇妙な現象: 予期せず、メッセージが MDB に配信される前にしばらくの間 JMS キューに滞留し始める

アプリケーションの概要

JEE アプリケーションは GlassFish サーバーで実行されます。以下のシステム環境の詳細を参照し、GlassFish の組み込みモードで構成されたバンドルされた Open MQ を内部 JMS メッセージングに使用します。メッセージ コンシューマとして Message Driven Bean を使用します。MDB プール サイズはデフォルトの 32 です。以下の JMS 設定と MDB クラスの詳細を参照してください。

アプリケーションは、大まかに次のように 2 つの主要な部分と機能に分けることができます。

  • 外部システム アダプタは、さまざまな外部システムからのレガシー メッセージをリッスンし、それらを JMS メッセージとしてコア アプリケーションに送信します。
  • コア アプリケーションは、受信した JMS メッセージを処理します。MDB はここで実行されます。

問題の説明

アダプターからコアへのメッセージ配信は通常、数秒でスムーズに行われます。ただし、不明な理由により、次のような状況が永続的に発生する場合があります。アダプタによって送信されたメッセージが JMS キューで 1 分間滞留し、その後 MDB に渡されます。Open MQ 監視コマンドを使用する:imqcmd metrics dst -t q -n CacheQueueDestまたはimqcmd query dst -t q -n CacheQueueDest、送信されたメッセージがキューにあり、1 分後に MDB の onMessage メソッドが呼び出されることを確認できます。この障害のある状況が発生すると、メッセージが 1 つでもキューにスタックするため、システムの負荷とは無関係に問題が発生します。

Open MQ の DEBUGHIGH ログ レベルを設定しましたが、ログに何も見つかりませんでした。Open MQ をローカル (GlassFish プロセス内ではなく独自のプロセスで実行) として構成し、パケット レベルのログを設定しましたが、同様に何も見つかりませんでした。

この障害状態を解消する唯一の方法は、GlassFish サーバーを再起動することです。

この問題を解決するためのアイデアをいただければ幸いです。

システム環境:

  • SunOS 5.10 Generic_150401-05 i86pc i386 i86pc

  • GlassFish サーバー オープン ソース版 3.1.2.2 (ビルド 5)

  • Message Queue 4.5.2 を開く
    Oracle
    バージョン: 4.5.2 パッチ 1 (ビルド 3-d)
    コンパイル: Thu Jun 7 10:46:15 PDT 2012

  • Java バージョン "1.7.0_25"
    Java(TM) SE ランタイム環境 (ビルド 1.7.0_25-b34)
    Java HotSpot(TM) 64 ビット サーバー VM (ビルド 23.25-b03、混合モード)

domain.xml からの JMS 構成:

MDB クラス:

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

java - メッセージを個別の errorQueue にルーティングする際の問題

MainQという名前のキューから読み取る MessageBean があります。 onMessage コードの実行により、あるタイプのユーザーベースの例外がスローされた場合は、UserExceptionという名前を付けます。これをキャッチして、このメッセージをUserErrorQという名前の別のキューに配置します。例外がこのタイプでない場合、DMQ によって処理されるように例外がスローされます。

これが私の問題です:

  • 私の catch ブロックでは、ErrorQueueHandler を介して、この新しいメッセージを UserErrorQ に配置しようとします。これにより、connectionFactory に接続して UserErrorQ にメッセージを送信しようとするとエラーが発生します。
  • どうやら QueueConnectionFactory(javax.jms.ConnectionFactory) への新しい接続を作成すると問題が発生する

エラー:

メッセージ Bean:

エラーキューハンドラ:

前述のように、接続しようとするとエラーが発生します。誰でもこれを修正できますか?

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

delphi - Delphi での OpenMQ メッセージの受信

Glassfish サーバーと Delphi の間で通信を行う必要があります。そこからメッセージを受け取る必要があります。私が発見したように、Glassfish は OpenMQ ブローカーを使用しています。

まず、デルファイの jms ライブラリを見つけました。JMSインターフェースだけが見つかりました。そこに SonicMQ JMS の実装が見つかりました。しかし、私が見つけたように、SonicMQ と OpenMQ - JMS の異なるブローカーです。たぶん私は間違っています。

また、OpenMQ 用の Habari Client Libraries を見つけましたが、このライブラリは無料ではありません。

多分誰かがこの問題の無料の解決策を知っていますか? または、私は間違っていて、SonicMQ の実装を使用できますか?

Habari デモ プログラムをダウンロードしましたが、glassfish サーバーに接続できません (接続が正常に閉じられました)。多分私は何か間違ったことをしていますか?メッセージを受け取るだけです。私はそれらを送る必要はありません。

JMS を使用したことがないため、そのような質問があります。

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

glassfish - 送信メッセージは正常に配信されていますが、エージェントからメッセージを取得しようとすると、エージェントにメッセージが表示されません

JMS+OPenMq + Glassfish は初めてです。メッセージの送信と受信を成功させてください....

私は2つの異なるサーブレットプログラムを作成し、galssfishサーバーにデプロイしました....ここではメッセージを正常に送信していますが、消費者はメッセージを消費できません......

プロデューサー :

消費者:

public void onMessage(メッセージメッセージ){

}

メッセージを受信できません。

Glassfishサーバーでブローカーを適切に構成するのを手伝ってください。

、...あなたのリプレイに感謝します