問題タブ [message-queue]

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 投票する
1 に答える
1288 参照

message-queue - System i(iSeries、AS / 400)メッセージキューオプション

WebSphereMQ以外にiSeriesでMQのオプションを見つけようとしています。誰かがこれを経験したことがありますか?出来ますか?OpenMQのような純粋なJavaMQサーバーを実行できますか?

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

sql-server - SQL サービス ブローカーの機能に関する質問

私は野心的な Web アプリケーション プロジェクトに取り組んでいる初心者の Web 開発者です。

それで、いくつかの調査を行った後、SQL Service Broker について知りました。何とか使えそうですが、よくわかりません。それを学ぶには誰かが多くの時間を費やす必要があるので、それが自分のニーズに合っていることを確認したかった.

Web サイトのユーザーが Web サイトにテキストを送信できるシステムを実装する必要があります。このメッセージ ストリームは冗長で、FIFO 方式で処理する必要があります。ストリームの反対側では、別のユーザー グループがメッセージを処理します。

ここで、この最後のユーザー グループの 1 人が読んでいるメッセージは、他の誰も同時に読むことができないようにロックする必要があります。その後、ユーザーはメッセージを処理するかどうかを決定できます。彼がメッセージを処理することを決定した場合にのみ、メッセージをキューから削除できます。彼がメッセージを処理したくないと判断した場合、別のユーザーがそれを読んで決定できるように、メッセージをキューに戻す必要があります (キューの最後に、または少なくとも最高の優先順位で)。 .

これは SQL Service Broker で実装できるものですか? 私は間違った道を進んでいますか?

ありがとうございました!

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

android - Android サービスからリストビュー項目をロードするとハングアップする

私の Android アプリケーションには、ListActivity があります。この ListActivity は、サービスの項目を入力する SimpleAdapter を使用します。したがって、私のコードでは、次のようにします。

この操作全体にかかる時間はほとんどない (1 秒未満) ため、UI スレッドで実行したいと考えています。私のonCreateを参照してください:

これを UI スレッドで実行したい理由は、リスト項目を選択した場合、または ListView の特定の位置までスクロールした場合に、デバイスを回転させたり、キーボードなどを取り出したり (構成をトリガーするため) するためです。変更) アクティビティが再開されると、Android は onCreate の直後に状態を復元しようとします。しかし、別のスレッドで実行すると、そうではありません。また、クールなフェードイン アニメーションもあります :)
UI スレッドで実行する際の問題は、サービスにバインドしようとすると、そのサービス バインド リクエストがメッセージ キューに入れられることです。しかし、ループに入ると、メッセージ キューのループを停止します。サービスがバインドされるのを待っているため、プログラムがハングし、ループが終了するまでサービスはバインドされません。私は置くことを考えましたLooper.loop()私のループの中で、しかしそれはただそれをハングアップさせます (Looper.loop()理由はわかりません)

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

java - JMS を使用する WebSphere MQ

WebSphere MQ Java API を構成 (xml) ファイルとともに使用して MQ にアクセスするアプリケーションがあります。WebSphere JMS API に移行したいと考えています。このために、1) WebSphere MQ キュー接続ファクトリーと 2) ローカル WAS からの WebSphere MQ キュー宛先を作成してみます。キュー宛先を構成し、MQ 構成パラメーターを設定しようとすると、「WMSG0316E: ローカル・キューではないキューを表示しようとしました。ローカル・キューの管理のみがサポートされています。」のようなエラー・メッセージが表示されます。

メッセージは、リモート キューに接続しようとしているという意味では正しいです。リモート Queue に接続しようとしている MQ クライアントとして WAS を構成できませんか? MQ クライアントには、サーバー クラスパスに必要な MQ JMS jar があります。

誰かがこれに光を当てることができれば幸いです。

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

php - PHPでの非同期処理またはメッセージキュー(CakePHP)

XML-RPCAPIとWebフロントエンドを介してアップロードされたファイルを処理するCakePHPでWebサイトを構築しています。ファイルはClamAVでスキャンする必要があり、サムネイルを生成する必要があります。ユーザーが待つ必要のない、ある程度の時間がかかるすべてのリソース集約型の作業。そこで、PHP全般、特にCakePHPを使用した非同期処理について検討しています。

有望に見えるCakePHP用のMultiTaskプラグインに出くわしました。また、 droprbeanstalkdなどのさまざまなメッセージキューの実装にも出くわしました。もちろん、ある種のバックグラウンドプロセスも必要になります。おそらく、ある種のCakeShellを使用して実装されます。PHP_Forkを使用してマルチスレッドPHPデーモンを実装するMultiTaskを見ました。

これらすべての部品を最良の方法で組み合わせる方法について、いくつかのアドバイスが必要です。

  • 長時間実行されるデーモンをPHPで作成するのは良い考えですか?何に気をつけるべきですか?
  • 外部メッセージキューの実装の利点は何ですか?MultiTaskプラグインは、外部メッセージキューを使用しません。MySQLテーブルを使用してタスクを格納するために独自にロールします。
  • どのメッセージキューを使用する必要がありますか?ドロッパー?豆の木?他に何かありますか?
  • バックエンドプロセッサをどのように実装する必要がありますか?PHPデーモンをフォークするのは良い考えですか、それとも単にトラブルを求めるだけですか?

私の現在の計画は、MultiTaskプラグインを使用するか、独自のMySQLテーブル実装の代わりにbeanstaldを使用するようにプラグインを編集することです。キュー内のジョブは、タスク名とパラメーターの配列で構成できます。PHPデーモンは、着信ジョブを監視し、それらを子スレッドの1つに渡します。は、指定されたパラメーターを使用してCakePHPタスクを実行するだけです。

これに関する意見、アドバイス、コメント、落とし穴、炎はありますか?

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

transactions - What happens if a message is rolled back in MQ?

I receive a message from a WebSPhere MQ queue. I try to process and if i receive some exceptions i want to rollback the message to the MQ Queue.

I have no problems in doing the same. What happens to the message? Does it go to the bottom of the queue?

If i try and pull a message from the queue would i receive the same message that i rolledback?

What is the behaviour likely to be? I want to know this behaviour typically in a high volume Queue scenario?

Appreciate any inputs.

Thanks, Manglu

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

rest - 「エンタープライズ」向けメッセージングサービスのATOM

私はJimWebberのプレゼンテーションに行きました、彼のプレゼンテーションの途中で、多くの場合、ATOMはJMSの優れた代替品であると述べました。JMSはメッセージングサービスなので、私はそれについて興味があります。ATOMをメッセージングサービスとして使用していますか?信頼性が高く、スケーラブルですか?

JMSの最大の利点は、プル方式(クライアントがXミリ秒ごとに新しいメッセージを要求し続ける)ではなく、プッシュ方式(サーバーが新しいメッセージを通知する)を使用することです。「Web2.0」アプリケーションの場合、この方法はクールだと思いますが、「エンタープライズ」アプリケーションの場合、プッシュ方法の方がはるかにスケーラブルです。皆さんはどう思いますか?

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

websphere - websphere にアプリをデプロイするときの mqjbnd05 エラー

Wesphere 6.1 Fixpack 23 を新規インストールしました。MQSeries JMS キューを必要とするアプリをデプロイしました。MQSeries プロバイダー ベースの要求および応答キューと、MQSeries プロバイダー ベースのキュー接続ファクトリをセットアップしました。デプロイされたアプリがキューにアクセスしようとすると、次のエラーが表示されます。

任意の支援をいただければ幸いです。ありがとう!

[5/28/09 10:33:42:538 EDT] 00000033 ServletWrappe E SRVE0068E: サーブレットのサービス メソッドの 1 つでキャッチされない例外がスローされました: espaapp。例外がスローされました: org.springframework.web.util.NestedServletException: ハンドラーの処理に失敗しました。ネストされた例外は java.lang.UnsatisfiedLinkError: mqjbnd05 (java.library.path に見つかりません) 原因: java.lang.UnsatisfiedLinkError: mqjbnd05 (java.library.path に見つかりません) com.ibm. mq.MQSESSION.loadLib(MQSESSION.java:1028) at com.ibm.mq.server.MQSESSION$1.run(MQSESSION.java:246) at java.security.AccessController.doPrivileged(AccessController.java:192) at com. ibm.mq.server.MQSESSION.(MQSESSION.java:243) の java.lang.J9VMInternals.initializeImpl(ネイティブ メソッド) の java.lang.J9VMInternals.initialize(J9VMInternals.java:177) の com.ibm.mq.MQSESSIONServer .getMQSESSION(MQSESSIONServer.java:68) com.ibm.mq.MQSESSION.getSession(MQSESSION.java:508) com.ibm.mq.MQManagedConnectionJ11.(MQManagedConnectionJ11.java:213) com.ibm.mq.MQBindingsManagedConnectionFactoryJ11 ._createManagedConnection(MQBindingsManagedConnectionFactoryJ11.java:186) com.ibm.mq.MQBindingsManagedConnectionFactoryJ11.createManagedConnection(MQBindingsManagedConnectionFactoryJ11.java:225) com.ibm.mq.StoredManagedConnection.(StoredManagedConnection.java:84) com.ibm.mq.MQSimpleConnectionManager で。 com.ibm.mq.MQQueueManagerFactory.obtainBaseMQQueueManager(MQQueueManagerFactory.java:795) の allocateConnection(MQSimpleConnectionManager.java:173) com.ibm.mq.MQQueueManagerFactory.procure(MQQueueManagerFactory.java:709) の com.ibm.mq.MQQueueManagerFactory .constructQueueManager(MQQueueManagerFactory.java:664) com.ibm.mq.MQQueueManagerFactory.createQueueManager(MQQueueManagerFactory.java:160) com.ibm.mq.MQQueueManager.(MQQueueManager.java:550) com.ibm.mq.MQSPIQueueManager .(MQSPIQueueManager.java:62) com.ibm.mq.jms.MQConnection.createQM(MQConnection.java:2427) で com.ibm.mq.jms.MQConnection.createQMXA(MQConnection.java:1806) で com.ibm.mq.jms.MQQueueConnection .(MQQueueConnection.java:105) com.ibm.mq.jms.MQQueueConnection.(MQQueueConnection.java:66) com.ibm.mq.jms.MQXAQueueConnection.(MQXAQueueConnection.java:59) com.ibm.mq .jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQXAQueueConnectionFactory.java:82) com.ibm.ejs.jms.JMSManagedQueueConnection.createConnection(JMSManagedQueueConnection.java:123) com.ibm.ejs.jms.JMSManagedConnection.(JMSManagedConnection.java:315) com.ibm.ejs.jms.JMSManagedQueueConnection.(JMSManagedQueueConnection.java:71) ... 詳細java:1806) com.ibm.mq.jms.MQQueueConnection.(MQQueueConnection.java:105) com.ibm.mq.jms.MQQueueConnection.(MQQueueConnection.java:66) com.ibm.mq.jms.MQXAQueueConnection .(MQXAQueueConnection.java:59) com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQXAQueueConnectionFactory.java:82) com.ibm.ejs.jms.JMSManagedQueueConnection.createConnection(JMSManagedQueueConnection.java:123) com.ibm .ejs.jms.JMSManagedConnection.(JMSManagedConnection.java:315) com.ibm.ejs.jms.JMSManagedQueueConnection.(JMSManagedQueueConnection.java:71) ... 詳細java:1806) com.ibm.mq.jms.MQQueueConnection.(MQQueueConnection.java:105) com.ibm.mq.jms.MQQueueConnection.(MQQueueConnection.java:66) com.ibm.mq.jms.MQXAQueueConnection .(MQXAQueueConnection.java:59) com.ibm.mq.jms.MQXAQueueConnectionFactory.createXAQueueConnection(MQXAQueueConnectionFactory.java:82) com.ibm.ejs.jms.JMSManagedQueueConnection.createConnection(JMSManagedQueueConnection.java:123) com.ibm .ejs.jms.JMSManagedConnection.(JMSManagedConnection.java:315) at com.ibm.ejs.jms.JMSManagedQueueConnection.(JMSManagedQueueConnection.java:71) ... 詳細MQXAQueueConnectionFactory.createXAQueueConnection(MQXAQueueConnectionFactory.java:82) com.ibm.ejs.jms.JMSManagedQueueConnection.createConnection(JMSManagedQueueConnection.java:123) com.ibm.ejs.jms.JMSManagedConnection.(JMSManagedConnection.java:315) com. ibm.ejs.jms.JMSManagedQueueConnection.(JMSManagedQueueConnection.java:71) ... 続きを読むMQXAQueueConnectionFactory.createXAQueueConnection(MQXAQueueConnectionFactory.java:82) com.ibm.ejs.jms.JMSManagedQueueConnection.createConnection(JMSManagedQueueConnection.java:123) com.ibm.ejs.jms.JMSManagedConnection.(JMSManagedConnection.java:315) com. ibm.ejs.jms.JMSManagedQueueConnection.(JMSManagedQueueConnection.java:71) ... 続きを読む

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

winapi - ウィンドウメッセージキューの深さの決定

ウィンドウメッセージキューを使用して、ソケットからコンシューマーHWNDにデータを渡すアプリケーションがあります(約2100Hzのレートで)。このアプリケーションは2年以上機能しています。最近、アプリケーションでWM_TIMERが起動/実行されないという問題が発生し始めました。これは、データがメッセージキューに送られているためだと思います。

私の質問は、特定のスレッド/ HWNDのメッセージキューに保留中のメッセージがいくつあるかを判断する方法はありますか?

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

c# - 同じ MSMQ メッセージを 2 回受信していますか?

相互に通信する 3 つの層を持つ MSMQ ベースのシステムがあります。簡単にするために、レイヤー 1、2、3 と呼びます。これらは次のように配置されます。

したがって、レイヤー 1 はレイヤー 2 とのみ通信し、レイヤー 3 はレイヤー 2 のみと通信し、レイヤー 2 は他の両方と通信します。これには4つのキューがあり、

そして、レイヤーはこのインフラストラクチャを介して通信します。

(これが必要以上に網羅的である場合は申し訳ありません)

とにかく、メッセージはレイヤー 1 からレイヤー 2 に渡され、何らかの処理が行われ、別の (関連する) メッセージがレイヤー 3 に送信され、その逆も同様です。私が抱えている問題は、レイヤー 1 からレイヤー 2 に 2 つのメッセージが送信されることがありますが、両方のメッセージを順番に受信するのではなく、最初のメッセージを 2 回受信することです。メッセージを非同期に受信するためBeginReceiveに onを使用しています。Layer1_outそれが完了すると、受信したメッセージを処理し、BeginReceive再度呼び出して次のメッセージを取得します。

これを追跡するために、送信側にメッセージ カウンターを実装し、それをテキスト ファイルに書き込みました。プロパティを使用して、Extensionこのメッセージ番号の文字列表現を格納し、処理側でメッセージ番号を取得できるようにしています。メッセージを受信すると、この番号を取得して別のファイルに書き込みます。これは、同じ内容の 2 つのファイルを生成する必要がありますが、代わりに次のようなものが表示されます。

受信ログでは、メッセージ 215 が 2 回処理され、216 が届かなかったことを示しています。私の目的では、同じメッセージを 2 回処理しても何の影響もありません (そのため、これがしばらくの間見過ごされてきたのはなぜですか) が、メッセージをまったく見逃すことは大きな問題です。

何かご意見は?