2009-05-25 9 views
3

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

メッセージは、リモートキューに接続しようとしているという意味で正しいです。さて、リモートキューに接続しようとするMQクライアントとして私のWASを設定できないのですか? MQ Clientは、サーバークラスパスに必要なMQ JMS jarを持っています。

誰かがこれにいくつかの光を投げることができれば分かりますか?

答えて

4

私はこの同じ問題に取り組んでいます - 著者は、WebSphereが「クライアントからリモートキュー」モードが望まれていると言わざるを得ない記事を見つけましたが、それは、環境変数を言及する1人の著者を超えています。

まだ検索中です...私が見つけたら解決策を投稿します。

+0

解決策は、JMSキュー接続ファクトリの「転送タイプ」設定を「バインディング」ではなく「クライアント」に設定することでした。これはWAS管理コンソールの「リソース」→「JMSプロバイダ」→「WebSphere MQ」→「追加プロパティー」にあります。ここには「WebSphere MQキュー接続ファクトリー」という項目があります。キュー接続ファクトリのリスト使用しているキュー(リスナーポート設定で指定されている)は、変更する設定です。 希望します。 Matt –

+0

また、MQQueueConnectionFactory cf = new MQQueueConnectionFactory();のように表示されることがあります。 cf.setTransportType(JMSC.MQJMS_TP_CLIENT_MQ_TCPIP); //クライアントモード – jim

1

私は&をあなたのエラーメッセージをGoogleに貼り付けました。その独特のスタイルでは、hereが問題のIBMドキュメントです。役に立った?

ここで、連絡先のキューを設定しましたか。これは、デプロイしたWebSphereインスタンスと同じサーバー上で実行されているのですか、それともリモート・サーバーですか?後者の場合は、ブリッジやプロキシが必要かどうか疑問に思うので、メッセージをローカルに送信するように見えますが、プロキシ経由でリモートサーバーに表示されるようにしてください。

更新:私は知らないかもしれませんが、これを回避する方法の1つはローカルキューを設定することです。あなたの言うことと同様に、すべてのメッセージをリモートキューに転送するだけです。

+0

MQはリモートサーバーで実行されています。これは私が立ち往生しているところです - "メッセージをローカルに送信するように見えます" MQ 6とWASを同じシステムにインストールしようとしましたが、JMSは正常に動作しました。しかし、MQが遠隔システムにあり、JMSリソースの設定時にIPアドレスを指定すると、この例外が発生します。 – Subramanian

1

何かを明確にすることはできますか?ローカルWASから接続ファクトリーと待ち行列宛先を「作成」しているとします。自分でオブジェクトを構築しているということですか?

これは間違ったアプローチです。リソースをアプリケーション構成の一部として構成してから、JNDIを使用してリソースを検索する必要があります。この設定では、ローカルのJMSリソースが実際の実装にバインドされます。ここでは、リモートMQサーバです。コードは、特定の実装ではなく、JMSにのみバインドする必要があります。

+0

WebSphere MQリソース、つまりWASのMQキューConnectionFactoryとMQキュー宛先を「構成」しています。コードはJMSにのみバインドされ、実装にはバインドされません。これはこの変更を行うことを目的としたものです。私はオブジェクトを自分で構築していません。 「作成」という言葉をお詫びします。 – Subramanian

+0

@Subramanian - この問題は、JMSリソースを参照するときにMQを使用することにより多くなりました。 (すなわち、Queue ConnectionFactoryの代わりにMQ Queue ConnectionFactory)。 MQの代わりにMQ固有のアーティファクトを参照している可能性があります。 – Robin

関連する問題