問題タブ [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.
php - PHP/Linux を使用して MQ に接続する
PHP/Linux を使用して MQ への接続に成功している人はいますか? 何日もの間、私は必死にこれを機能させようとしてきましたが、役に立ちませんでした。これをやっている人がいたら、どうやって?
私が見ているように、使用する拡張機能は 2 つあります: a) mqseries -> C API への薄いラッパー b) SAM 1.1.0 -> より一般的なアプローチを取る
両方を試しましたが、a) MQCONNX は正常に実行できますが、MQOPEN は実行できず、b) MQCONN ステージを通過できません。7 クライアントと 6 クライアントの両方を試しました。私たちのサーバーは 6.0.0.0 を実行しています。
ノート; 何年もの間、.NET を使用してサーバーに正常に接続してきました。
だから、これは私がこれまでにやったことです:
- RPM パッケージから MQClient をインストールしました
- IA94/XMSをインストール
- sam_xms.so 拡張機能のビルドに成功し、それを php.ini に含めました
- mqseries.so 拡張機能のビルドに成功し、それも含めました。
- mq クライアント インストール (amqsputc および amqsgetc) からサンプルを正常に実行し、メッセージをやり取りしています。
mqseries PECL 拡張機能を使用すると、次のエラーが表示されます。
SAM PECL 拡張機能を使用すると、代わりに次のようになります。
これらのエラーはいずれも、/var/mqm/errors に何も生成しません...
mqseries のサンプル コードは次のとおりです。
SAM 拡張機能を使用したサンプル コードは次のとおりです。
よろしくお願いします!
これは、PHP を使用して MQ に接続しようとするの説明の続きであることに注意してください。もうすぐそこ
更新 #1: MQPUT1 は機能しますが、MQOPEN はまだ 2044 を返します。
java - Websphere 7 SIB Queue: Java からキューの深さにアクセスするには?
Websphere MQ のキュー深度にアクセスするためのコードをいくつか作成しましたが、SIB キューにアクセスするための API があるかどうか、または Websphere をセットアップしてアクセスできるようにすることができるかどうかがわかりません。
ヒントやアイデアを教えてもらえますか?
ありがとうジェフ・ポーター
message-queue - MQFTE モニターでキューからキューへの転送がサポートされないのはなぜですか
キューからキューへの転送が MQFTE モニターでサポートされていないのはなぜですか? キューのモニターを設定しました。メッセージがキューにドロップされた場合、キューからキューへの転送をトリガーする必要があります。しかし、MQFTE にはこのオプションがありません。他の選択肢はありますか?
queue - clear コマンドと mqget API 呼び出しを使用してキューをクリアすることの違いは何ですか?
WebSphere MQ でキューをクリアする際、clear コマンドと mqget API 呼び出しの違いは何ですか?
tomcat - Openejb3.1.4およびTomcatでのMDBの構成
TomcatとOpenEJB3.1.4を使用しています。メッセージ駆動型Bean(EJB 2.0-MDB)を使用してMQからメッセージを受信しています。OpenEJB-Tomcatを使用してMDB経由でメッセージを受信するには、すべての構成またはセットアップを行う必要がありますか?
jms - 送信者は、メッセージがMQ JMS APIですでに消費されていることをどのようにして知ることができますか?
私はスタンドアロンのMQJMSアプリケーションを扱っています。このアプリは、クライアントがキューに入れられたメッセージプロデューサーをすでに消費していることを「認識する」必要があります。クライアントアプリは私たちの責任ではないからです。したがって、「msg.acknowledge();」のようなものを彼らに書かせることはできません。彼らの側にあるもの(msg.acknowledge()は私の状態では正しいアプローチではありません)。stackoverflowで履歴の回答を検索します。以下を見つけることは私が望むものとまったく同じです:
https://stackoverflow.com/questions/6521117/how-to-guarantee-delivery-of-the-message-in-jms
JMS仕様またはさまざまな実装は、メッセージの配信確認をサポートしていますか?
私の質問は、これをMQAPIまたはJMSAPIにアーカイブする他の方法はありますか?msgプロデュース側でのみコーディングを行う必要があります。キューまたはトピックにすることができます。
もう1つの質問は、JMSの確認モードCLIENT_ACKNOWLEDGEですが、これは無関係ですか?このモードでは、クライアントがメッセージを消費してmsg.acknowledge()を呼び出すまで、send()メソッドを呼び出すとアプリケーションがブロックされる可能性があると常に信じていますが、そうではないようです。プロデュースはメッセージが配信された後にアプリを終了し、クライアントがacknowledge()を呼び出すまでメッセージはキューに保存されます。メッセージがクライアントによって確認されるまで、プロデューサーアプリをそこにハングアップさせることは可能ですか?
私のコンセプトが正しくない場合は、私を訂正してください、ありがとう。
java - MQとは何ですか?また、MQはWebサービスとどのように異なりますか
最近MQの調査を開始しましたが、非常に基本的な質問がいくつかありました。
WebサービスとMQのどちらを使用するかを決定する方法は?
MQは文字列メッセージのみを送信できますか、それともJavaオブジェクトでも機能しますか
クライアントとサーバーが存在する場所に関して制約はありますか?または、Webサービスと同様に、クライアント/パブリッシャーはどこにでも配置でき、サーバー/レシーバーはパブリックネットワーク上に存在する必要があります(パブリックWSであると想定)。
listener - WAS7 メッセージ リスナー エラー、MQQueue は MQDestination と互換性がありません
was7で 1 つのmessage-listener-portを起動しようとしたとき。すべての名前を確認しましたが、すべて問題ないようです。また、ターミナルでもキューを参照できます。Connection factory JNDI
Destination JNDI
助けてください!
[1/13/12 17:21:26:259 GMT+08:00] 00000029 MDBListenerIm W WMSG0019E: MDB リスナー ods、JMSDestination jms/quexx を開始できません: java.lang.ClassCastException: com.ibm.mq.jms. com.ibm.ejs.jms.JMSConnectionHandle.createConnectionConsumer(JMSConnectionHandle.java:1272) の com.ibm.mq.jms.MQConnection.createConnectionConsumer(MQConnection.java:210) の com.ibm.mq.jms.MQDestination と互換性のない MQQueue com.ibm.ejs.jms.listener.MDBListenerImpl.createResources(MDBListenerImpl.java:542) com.ibm.ejs.jms.listener.MDBListenerImpl.internalStart(MDBListenerImpl.java:730) com.ibm.ejs.jms .listener.MDBListenerImpl.start(MDBListenerImpl.java:653) at com.ibm.ejs.jms.listener.MDBListenerManagerImpl.start(MDBListenerManagerImpl.java:851) at com.ibm.ejs.jms.listener.MsgListenerPort.start(MsgListenerPort.java:317) の sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) の sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:48) の sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java: 25) java.lang.reflect.Method.invoke(Method.java:600) で sun.reflect.misc.Trampoline.invoke(MethodUtil.java:37) で sun.reflect.GeneratedMethodAccessor5.invoke(不明なソース) で sun .reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で java.lang.reflect.Method.invoke(Method.java:600)、sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:244) で javax. management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1086) で javax.management.modelmbean.RequiredModelMBean.invoke(RequiredModelMBean.java:967) com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836) で com.sun.jmx.mbeanserver.JmxMBeanServer.invoke (JmxMBeanServer.java:761) com.ibm.ws.management.AdminServiceImpl$1.run(AdminServiceImpl.java:1332) com.ibm.ws.security.util.AccessController.doPrivileged(AccessController.java:118) com .ibm.ws.management.AdminServiceImpl.invoke(AdminServiceImpl.java:1225) com.ibm.ws.management.connector.AdminServiceDelegator.invoke(AdminServiceDelegator.java:181) com.ibm.ws.management.connector.ipc com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink の .CallRouter.route(CallRouter.java:242)。com.ibm.ws.management.connector.ipc.IPCConnectorInboundLink$IPCConnectorReadCallback.complete(IPCConnectorInboundLink.java:595) の doWork(IPCConnectorInboundLink.java:353) com.ibm.ws.ssl.channel.impl.SSLReadServiceContext$SSLReadCompletedCallback. complete(SSLReadServiceContext.java:1772) com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) com.ibm.io.async.ResultHandler.complete (ResultHandler.java:204) com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:816) com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) で com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1563) で
[1/13/12 17:21:26:264 GMT+08:00] 00000029 MDBListenerIm I WMSG0043I: JMSDestination jms/quexx の MDB リスナー lpquexx が停止しました [1/13/12 17:21:26:266 GMT+08: 00] 00000029 MDBListenerIm I WMSG0058I: リスナー・ポート lpquexx は 60 秒後に再始動を試みます
jms - スタンドアロンJavaアプリケーションでJMS接続をプールする方法は?
私たちはIBMWebSphereMQアプリケーションに取り組んでおり、JMSAPIを使用してメッセージを操作しています。ただし、接続に時間がかかりすぎるという問題があり、JMS接続をプールしたいと考えています。スタンドアロンアプリケーションであるため、JNDIまたはプールサービスを提供するアプリケーションコンテナがありません。それで、これを解決するための解決策はありますか?JDBCの場合、DBCPまたはc3p0を使用してプールデータソースをアーカイブできます。JMSで、JMS接続をプールできる同様のプロジェクトはありますか?
performance - WebSphereMQのパフォーマンス
私はMQサーバー7.1をmachine1で実行しています。マシン2で実行されているJavaアプリがあり、JMSを使用してマシン1のキューにメッセージを書き込みます。Javaアプリは1秒あたり数百のメッセージを処理します(他の場所からのデータ)。現在、キューにメッセージを書き込むには、200のテキストメッセージ(平均サイズ600バイト)または1秒あたり2000のメッセージに約100ミリ秒かかります。これは妥当なパフォーマンスですか。パフォーマンスをさらに向上させるためにできることのいくつかは何ですか。つまり、より速く?