質問

Java アプリケーションは、Weblogic JMS メッセージ ブリッジを介して MQ シリーズ キューに書き込みます。実際の MQ Series 接続/キューの詳細は、アプリ サーバー上の MQ Series .bindings ファイルに保存されます。バインディング ファイルとすべてのエントリが何を意味するのか、まったく理解できませんでした。このファイルを理解するためのガイダンスを提供できる人はいますか?

役に立ちましたか?

解決

.bindings ファイルについて説明する前に、少し戻って JNDI (Java Naming and Directory Interface) と、JNDI が JMS でどのように使用されるかを検討する必要があります。キュー、トピック、およびさまざまなタイプの接続ファクトリーはすべて、メソッドと属性を持つ実行時 JMS オブジェクトです。ただし、それらを事前定義してレジストリに保存し、JMS アプリケーションが JNDI ルックアップを使用して取得できるようにすることができます。

オブジェクトは JMS 側とプロバイダー固有の側を持つという点でコインに似ているため、これは役立ちます。JMS 側では、どの管理対象オブジェクトもほぼ同じに見えます。基礎となるトランスポート プロバイダーに関係なく、ConnectionFactory には同じメソッドと属性があります。ただし、プロバイダー固有の側では、管理されるオブジェクトはトランスポート プロバイダーごとに大きく異なります。たとえば、WebSphere MQ トランスポートで使用される ConnectionFactory には、キュー マネージャーの属性があります。他のトランスポート プロバイダーには「キュー マネージャー」がないため、この属性は WMQ コンテキストでのみ有効です。

管理対象オブジェクトの 2 つの側面は、JMS がトランスポート プロバイダーから独立して動作できるようにする「接着剤」です。コード内で ConnectionFactory を検索するだけで、メソッド呼び出しの実行に適したオブジェクトを取得できます。内部では、プロバイダーの JMS クラスはプロバイダー固有のオブジェクト属性を使用してコンテキストを提供し、汎用 JMS API 呼び出しをプロバイダー固有の呼び出しに変換します。したがって、インスタンス化する接続オブジェクトにより、QMgr 名、ホスト、ポート、チャネル、およびその他のさまざまなパラメーターを指定する WMQ CONNECT 呼び出しが行われます。

OK、.bindings ファイルにアクセスすると約束しました。前に、JNDI ルックアップは「レジストリ」に対して行われると述べましたが、これは通常、LDAP などを意味します。しかし、Sun は、プログラムが使用する API と、レジストリが使用する SPI またはサービス プロバイダ インターフェイスがあるという点で、JMS と同様に JNDI を設計しました。したがって、JNDI ではありますが、 できる LDAP で実装される、それを示すものは何もありません しなければならない LDAP で実装されます。Sun がすぐに提供した基本実装の 1 つは、ローカル ファイルシステムをレジストリとして使用することでした。この実装では、ルート コンテキストはファイル フォルダーです。各コンテキストは、別のサブコンテキスト (別のファイル フォルダー) またはオブジェクト定義を保存できます。通常、ルート コンテキストには 1 つのフォルダーがあり、すべてのオブジェクトはそのレベルで定義されます。オブジェクト定義を保持するファイルは...ご想像のとおり....bindings ファイル。

.bindings ファイル内のオブジェクトは、名前、タイプ、値の 3 つの組み合わせで表されます。したがって、各 .bindings ファイルには通常、多くのオブジェクトが含まれます。各オブジェクトには多くの属性があります。各属性には、名前、値、および値を保持する変数の型があります。.bindings ファイルのハンドルを取得する最善の方法は、ファイルを並べ替えることです。これにより、すべてのオブジェクトとその属性がまとめられ、人間が読みやすくなります。可能なプロパティのリストについては、を参照してください。 マニュアル.

もちろん、.bindings ファイルはコンパイルされた成果物であると想定されており、人間が判読できるようにすることは意図されていません。IBM は、.bindings ファイルを生成および読み取るための JMSAdmin ツールを提供しています。WMQ エクスプローラーを使用して、.bindings ファイル内の管理オブジェクトを管理することもできます。これらについては、上にリンクされているマニュアルでも説明されています。また、developerWorks には優れたチュートリアル (と一部の人は言う) があります。 ここ.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top