WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

実行時の .NET アセンブリーの識別

.NET アセンブリーが BAR ファイル内にパッケージ化されていない場合にそれをブローカー・ファイル・システムからロードする方法を制御する規則。

ブローカーの .NET 構成は、.NET ノードのプロパティーまたは ESQL プロシージャーのシグニチャーによって制御されます。 オプションで、より詳細な構成オプションが設定されるように DotNetAppDomain 構成可能サービスを定義することもできます。 メッセージ・フローは、Microsoft 共通言語ランタイム (CLR) を使用してブローカーの実行グループ内で実行されるアセンブリーを呼び出すことができます。 フロー開発者は、ロードされる .NET フレームワーク・アセンブリー、および使用される .NET アプリケーション・ドメインを制御することができます。 アセンブリーは、メッセージ・フロー内の .NET ノードから、または ESQL プロシージャーを呼び出すことによって呼び出されます。

アプリケーション・ドメイン

.NET フレームワークは、アプリケーションのリソースの範囲を提供する特定のアプリケーション・ドメインで実行されるようにアプリケーション・アセンブリーを分離します。 WebSphere® Message Broker では、実行グループのオペレーティング・システム・プロセス (DataFlowEngine) が CLR をホストします。 必要に応じて、このプロセス内の複数のアプリケーション・ドメイン内で、.NET アセンブリーを実行することができます。
  • .NET ノードの「AppDomain 名」プロパティーは、アセンブリーのロード先のアプリケーション・ドメインを指定します。 DotNetAppDomain 構成可能サービスがノードの「AppDomain 名」と同じ名前で定義されている場合、アセンブリーがロードされるときに構成可能サービスのプロパティーが優先されます。 その種のプロパティーには「アプリケーション基本ディレクトリー」プロパティーが含まれます。
  • ESQL プロシージャーが .NET アセンブリーを呼び出す際に、プロシージャーのシグニチャーで、アセンブリーのロード先とする必要があるアプリケーション・ドメインを指定することができます。 DotNetAppDomain 構成可能サービスが ESQL プロシージャーのシグニチャーのアプリケーション・ドメインで指定されている名前で定義されている場合、アセンブリーがロードされるときに構成可能サービスのプロパティー (例えば「アプリケーション基本ディレクトリー」) が優先されます。
前述の方法でアプリケーション・ドメインが指定されない場合、アセンブリーのロード先のアプリケーション・ドメインは次のものによって決定されます。
  • アプリケーションの名前 ( WebSphere Message Broker アプリケーション内にデプロイされる場合)
  • 実行グループの名前 ( WebSphere Message Broker アプリケーション内で定義されていないフローにデプロイされる場合)
アプリケーション・ドメインがアプリケーションの名前または実行グループの名前によって定義され、DotNetAppDomain 構成可能サービスが同じ名前で定義されている場合、アセンブリーがロードされるときに構成可能サービスのプロパティー (例えば「アプリケーション基本ディレクトリー」) が優先されます。 アプリケーション名または実行グループ名にスペース文字が含まれている場合、アプリケーション名または実行グループ名を構成可能サービスの名前と比較するときにそれらの文字は無視されます。

アプリケーション基本ディレクトリー

ロードされるアセンブリーのコピーを知るには、まずアプリケーション基本ディレクトリーを判別します。
  1. 「アプリケーション・ドメイン」プロパティーが構成可能サービスを指す場合、構成可能サービスの「アプリケーション基本」プロパティーが使用されます。 実稼働環境ではこのアプローチを使用します。
    注: アセンブリーを含んだ .NET アプリケーション・ドメインをランタイムにデプロイした場合でも、ApplicationBase などの構成可能サービス・プロパティーが常に優先されます。 この場合、.NET アセンブリーを、アプリケーション基本ディレクトリーからではなく .appdomainzip から確実にロードするために、構成可能サービスの ApplicationBase プロパティーを必ずブランクにしてください。
  2. .NET ノードの「アセンブリー名」プロパティー (または ESQL プロシージャー・シグニチャーのこれに相当する部分) がファイル・システム内の絶対ロケーションを指定する場合、「アプリケーション基本ディレクトリー」としてこの絶対ディレクトリー・パスが使用されます。
  3. .NET ノードの「アセンブリー名」プロパティー (または ESQL プロシージャー・シグニチャーのこれに相当する部分) がパスを持たない .dll ファイルの名前だけを指定する場合、ブローカーは「アプリケーション基本ディレクトリー」としてランタイム・ブローカーの作業パスのサブディレクトリーを使用します。 このディレクトリーは、変更される可能性があります。別のアプローチのいずれかを使用することを検討してください。

アセンブリーのロードとグローバル・アセンブリー・キャッシュ

ブローカーは、必要な .NET アセンブリーがアプリケーション基本ディレクトリーで見つかることを予期します。 しかし、アセンブリーはマシン全体のキャッシュに配置することができます。 このキャッシュをグローバル・アセンブリー・キャッシュ (GAC) といいます。 アセンブリーを GAC に配置するには、厳密な名前付き でなければなりません。 アセンブリーがコンパイルされると、バージョン、国別情報、公開鍵トークンのプロパティーが与えられます。 .NET ノードまたは呼び出しを ESQL から構成する際に、厳密な名前付きの アセンブリーが使用されるようにバージョン、国別情報、および公開鍵トークンを指定できます。

厳密な名前付きの アセンブリーを再ロードまたは更新する場合、実行グループを再始動する必要があります。

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:48:48


タスク・トピックタスク・トピック | バージョン 8.0.0.5 | bc34225_