問題タブ [ibm-mq]
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.
jms - メッセージ キュー: メッセージはネットワーク障害で失われますか?
WebsphereMQ や ActiveMQ (JMS 経由で使用) などのメッセージング システムでのメッセージ配信の信頼性について疑問に思っています。私の知る限り、受信者が利用できず、後で配信される場合、メッセージをバッファリングできます。
今、送信者が一時的にネットワークに到達できない場合はどうなるのだろうと思っています。後でメッセージを送信する何らかの種類のローカル バッファリングはありますか? これは、メッセージブローカーが実行されている場所に依存すると思います。すべてのマシンにローカル ブローカーがありますか? それとも中央のブローカーだけですか?
私の質問を特定するには: 一時的なネットワーク障害に直面しても、メッセージが最終的に受信されるようにする必要がある場合、メッセージング システムは正しい選択ですか? この信頼性を達成するために必要な特定のセットアップはありますか?
関連するドキュメントへのポインタをいただければ幸いです。
message-queue - WebSphere MQ キューの作成
AIS.CICSUD1.BROKER.DATA
BO01、BO02、BO03 などのさまざまなプロセス ID によってアクセスされる キューがあります。
異なるプロセス ID に対して同じキューを作成できますか? WebSphere MQ Explorer で試してみましたが、重複キュー エラーが発生します。
キュー マネージャーはローカル マシン上にあり、ローカル マシンからのみキューにアクセスする必要があります。
私にお知らせください
perl - Perl の MQClient::* および MQSeries:: モジュールに必要な MQ DLL はどこで入手できますか?
Perl を使用して MQ と通信する非常に古い Windows コードを修正する必要があります。特に、Perl の MQClient::MQSeries、MQSeries::QueueManager、MQSeries::Queue、および MQSeries::Message モジュールをインストールできる必要があります。
Strawberry Perl を起動し、CPAN に移動してインストールしようとすると、これらの Perl モジュールをビルドするために必要な MQ クライアント DLL がいくつかあることがわかります。しかし、現在の MQ クライアントを IBM からダウンロードしてインストールした後でも、それらは私のシステムにはありません。
以前は、IBM から MQ クライアントをダウンロードしてインストールすると、多数の開発ライブラリ (おそらく上記の Perl ライブラリをインストールするために必要なビットを含む) をインストールするオプションが提供されていましたが、もはやそうではないようです。たとえば、MQM.DLL ファイルはどこにもありません。これは、Perl ライブラリが正しくビルドするために必要と思われるファイルの 1 つです。
おそらく、これを入手するための正しい MQ クライアント パッケージをインストールしていないのではないかと思いますが、どこにあるのかわかりません (Google は役に立ちません)。助言がありますか?
java - JavaでIBMMQチャネルを開始するにはどうすればよいですか?
したがって、私のJavaプロセスはリモートキューと通信します。毎日の終わりに、受信側の送信側チャネルが停止状態になります。リモートキューにアクセスする前に、Javaでそのチャネルを起動する方法はありますか?
java - JMS WebsphereMQBytesMessgeおよびTextMessage
キューにリスナーを設定するJavaアプリケーションがありonMessage(Message)
、のサブクラスを取得します。サブクラスをjavax.jms.TextMessage
取得するにはどうすればよいですか。javax.jms.BytesMessage
注:メッセージを送信するアプリケーションにアクセスできません。
ejb-3.0 - MQ Series での「再試行遅延」の構成
誰かが私を助けてくれることを願っています-私はJBoss 5.1とMQ Series 7をEJB / JMSベースのアプリケーションで使用しています。アプリケーションに複数のメッセージ駆動型 Bean があり、それぞれが MQ Series メッセージ キューをリッスンしています。メッセージの処理中にエラーが発生した場合、mq シリーズがメッセージの再配信を試行する前に一定時間待機できるように、「再試行の遅延」を構成できる必要があります。MQ Series のドキュメントを徹底的に調べましたが、MQ Series でこれを実現する方法をまだ見つけていません。JBoss のデフォルトの JMS プロバイダーにはこれを行う方法があることは知っていますが、現在は MQ Series の使用に制限されています。再試行の遅延を設定できなかったので、失敗したメッセージがあると、アプリケーションはメッセージの配信と継続的なロールバックのタイトなループに陥ります。
transactions - Websphere MQ シリーズで実行時間の長いトランザクションを見つける方法は?
J2EE 環境では、MQ サーバーのログに次のように表示されます。
プロセス (954584.5) ユーザー (mqm) プログラム (amqzmuc0) AMQ7469: ログ領域を解放するためにトランザクションがロールバックされました。....
ログファイルのサイズ/スペースを増やすことは一時的な解決策かもしれませんが、最終的な解決策は、この長いトランザクションの原因となっているプロセス/キューを特定することです。
これに対する解決策/ツールはありますか?
注: MQ は JMS 経由でのみ使用されます
java - JMSを使用するWebsphereMQ、MQでスタックした閉じた接続
AIXサーバーの下でOC4Jにデプロイされた単純なJMSアプリケーションがあります。私のアプリケーションでは、AS400サーバーの下にデプロイされたWebsphere MQ上のいくつかのキューをリッスンし、他のキューに送信しています。
問題は、これらのキューへの接続がエラーでしばらくアイドル状態になっているときに終了/閉じられることMQJMS1016
です(これは問題ではありません)。その場合、接続を回復しようとしますが、古い接続は機能しますMQでスタックし、手動で終了するまで終了しません。
リカバリコードは次のようになります。
jms - 一時キューの作成
JMS で TemporaryQueue を作成して使用しようとしました。プロデューサーは成功しますが、コンシューマーはこのように失敗し、次のエラーが発生します。この質問には完全なコードが必要な場合があることは理解していますが、非常に長いので、誰もそれをソートしたくないと確信しています。ただし、ここで説明した内容から答えが明らかでない場合は、TemporaryQueues または TempTopics を扱うリソースを教えてください。よろしくお願いします。
[編集] コードとエラーを添付するのを忘れました:
エラーの原因となるコード:
エラー: