問題タブ [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.
java - Jboss と OPEN MQ の統合
こんにちは、OPENMQ (リソースアダプター) を JBOSS 4.0.3 に統合するのを手伝ってくれませんか。
java - JavaメッセージキューがダウンしたメッセージドリブンBean
アプリケーションのデプロイで次の問題が発生します。
サーバー間の通信にJMSとリモートopenMQを使用します。問題は、接続の信頼性が完全ではないため、接続が上下する可能性があることです。再接続するために、jms reconnect glassfishプロパティを設定して、ある時点で接続が失われた場合に再接続するようにしました。アプリケーションをデプロイしようとして接続がない場合に問題が発生します。接続を再試行し続けているように見えますが、接続が利用可能になるまでアプリケーションはデプロイメントを終了しません。
接続がなくても展開が続行され、接続が利用可能になるまで再試行を続けるように構成することは可能ですか?
どうもありがとう。
編集:別のスレッドでMDB初期化を実行しようとしています。私は両方を試しました
sun-ejb.jar.xmlを変更する2つの方法で、MDBに別のスレッドを割り当てようとしています。
そしてまた
しかし、私は運がなかった。新しいスレッドを取得しているように見えるため、このスレッドが終了するのを待っているように見えますが、そのスレッドが終了してアプリケーションの開始が完了するのを待っているため、私の場合、アプリケーションは正しくデプロイされません。
編集2別のスレッドでもjmsサービスを実行しようとしました...
運もありません。
java - OpenMQ UMS でメッセージセレクターを使用できますか?
UMS を使用して Delphi から OpenMQ にアクセスしています。これはすべて正常に機能しますが、キューからメッセージを読み取るときにメッセージをフィルタリングできる必要があります。通常はメッセージ セレクターを使用しますが、UMS がこの機能を公開しているかどうかはわかりません。あるかどうか知っている人はいますか?
jms - JMS メッセージの再配信の遅延
メッセージを受信するとリモートシステムにsshできるJMSクライアントがあります(そして、そこでさまざまなことを行います-質問には関係ありません)。できるだけ早く処理する必要がある数百のそのようなメッセージが短期間に到着する可能性があります。
ただし、メッセージを受信したときに特定のリモート システムが使用できない可能性もあるため、後ほど (たとえば、1 時間ほど) 延期する必要があります。最善の解決策は、「遅延」値を設定してメッセージをキューに戻すことです。これにより、JMS ブローカは 1 時間以内にメッセージを再配信しないように指示されます。
よくないこと: 受信スレッドでスリープし、1 時間後に起動します。メッセージ コンシューマ プールは制限されているため (たとえば、8 つの接続が利用可能)、到達できないシステムが 8 つあると、処理全体が不必要にブロックされ、受け入れられません。
このような「遅延」値のメッセージまたはキュー自体の設定が見つかりませんでした。存在しますか?
回避策は、到達不能なシステムへのメッセージを格納するために 2 番目のキューを使用し、これらを個別に処理することです。しかし、これはあまり洗練されたソリューションではなく、追加のプログラミングが必要です。おそらくもっと良い方法があります。
openmq - 別のマシン上の JMS サーバーへのメッセージの発行
別のマシンで実行されている JMS サーバー上のトピックにメッセージをパブリッシュする必要があります。リモート マシンのサーバーは Glassfish v3 (OpenMQ) です。ここで他の投稿を読んだことから、リモートブローカーに、ローカルホストではなく、彼自身とは異なる IP からの JMS メッセージを受け入れるように指示する必要があると思います。実際には、リモート ブローカーがローカル マシンだけでなくリモートからのメッセージも受け入れるようにしたいと考えています。
問題は、リモート マシンの組み込みブローカーである OpenMQ を構成する方法がわからないことです。Glassfishコンソールから可能だと思いますが、わかりません。jboss では -b 0.0.0.0 で実行しますが、リモート マシンは jboss を実行していません。Glassfish/OpenMQ です。あなたが言うことができるように、私はこれらすべてに慣れていません。
メッセージを他のリモートマシンに発行している「ローカル」マシンでJNDIコンテキストをセットアップする方法を知っていると思います。例を見てきました。
configuration - 別のマシン上の JMS サーバーへのメッセージの発行
別のマシンで実行されている JMS サーバー上のトピックにメッセージをパブリッシュする必要があります。リモート マシンのサーバーは Glassfish v3 (OpenMQ) です。ここで他の投稿を読んだことから、リモートブローカーに、ローカルホストではなく、彼自身とは異なる IP からの JMS メッセージを受け入れるように指示する必要があると思います。実際には、リモート ブローカーがローカル マシンだけでなくリモートからのメッセージも受け入れるようにしたいと考えています。
問題は、リモート マシンの組み込みブローカーである OpenMQ を構成する方法がわからないことです。Glassfishコンソールから可能だと思いますが、わかりません。jboss では -b 0.0.0.0 で実行しますが、リモート マシンは jboss を実行していません。Glassfish/OpenMQ です。あなたが言うことができるように、私はこれらすべてに不慣れです。
メッセージを他のリモートマシンに発行している「ローカル」マシンでJNDIコンテキストをセットアップする方法を知っていると思います。例を見てきました。
java - Glassfish サーバーですべてのキューを取得するのに役立ちます
Glassfish を実行するサーバー用の監視ツールを開発しています。そのためには、このサーバー内のすべてのキューを取得する必要があります。ActiveMQ を実行しているときに tcp を使用して接続することができました。DestinationSource.GetQueues() メソッドがありました。
私は OpenMQ でそれをやりたかったのですが、4 日間の調査の後、そのような人が存在する兆候を見つけることができなかったので、断念しました。私の次の試みは、JMX プロトコルを使用してそれを行うことです。接続できました。これらすべての MBean を調べていますが、必要な情報を返す可能性のある DestinationAttribute が見つかりません。
すべてのキューにそれが可能かどうか誰かが知っているかどうか知りたい.
前もって感謝します、オスカー
java - OpenMQ と JMX - メッセージのクエリは可能ですか?
JMX を使用して GET_DESTINATIONS 操作を呼び出すことで、キューをクエリできます。これで、キュー情報 (属性) を受け取ります。このキューに格納されているメッセージを照会したいのですが、可能ですか? 誰かが私に方向性を教えてもらえますか?
私はすでにこのコードを使用してみました
しかし、何らかの理由で、O は JMX を使用する場合と同じキューにアクセスできません。JMXをアクセス標準として使用したいので、それについては調査しませんでした。
私はまだ私を助けることができるJMX操作を見つけようとしていますが、私を助けることができるものは何も見つかりません.
何を探すことができるかヒントを教えてください。
ありがとう、オスカー
編集: お知らせ: キューを消費したくありません。キューからメッセージを削除せずにメッセージを読み取ることができるブラウザと同様の動作が必要です。
java - PHP で JMS を使用するには?
JMS と PHP がなかなかうまくいかないことはわかっています。私は、PHP を使用して情報を抽出するために jms バスを読み取る必要があるプロジェクトにいます ((openmq を使用して) jms バスにメッセージを送信する Java バックエンド アプリケーションと、それらのメッセージを読み取る必要がある php フロントエンド アプリケーションを想像してください)。
私は PHPMQ を試しましたが成功しませんでした。
ありがとう!イヴァン
java - OpenMQ へのリモート アクセス
openMQ をローカルにインストールしたところ、問題なく動作しました。次のコードをQueueConnectionFactory
使用して、JNDI ルックアップを使用して取得しました。
replyQueue
上記は、 andにもアクセスする接続ファクトリを返しますrequestQueue
。
これが私がキューをセットアップする方法です
私の質問は次のとおりです。
Tomcat Apache サーバー (Linux ボックス) でコードが実行される別のサーバーから openMQ にアクセスできるように、Linux サーバーで openMQ をセットアップするにはどうすればよいですか。
別のサーバーにある
QueueConnectionFactory
openMQから取得するには、コードにどのような変更を加える必要がありますか?
私は GlassFish で openMQ を実行していません。それ自体 (imqbrokerd.exe) で openMQ を実行しています。