[17.0.0.1 and later]

アプリケーションのバインディング

アプリケーション・サーバーにインストールしたアプリケーションを開始するには、そのアプリケーションで定義されたすべてのエンタープライズ Bean (EJB) 参照およびリソース参照が、アプリケーション・サーバーで定義された実際の成果物 (エンタープライズ Bean またはリソース) にバインドされている必要があります。

アプリケーション・バインディングおよび拡張は、アプリケーション・リソースを定義し、さまざまなアプリケーションの動作を制御する手段を提供します。アプリケーション・バインディングは、エンタープライズ・アプリケーション、Web アプリケーション、および EJB アプリケーションに適用できます。

従来、このようなバインディングおよび拡張は、アプリケーション・アーカイブ内の XML ファイルで指定してきました。例えば、Web アプリケーション・バインディングは、ibm-web-bnd.xml ファイルで定義できます。Liberty バージョン 17.0.0.1 以降では、バインディングおよび拡張は、server.xml ファイル内にアプリケーション構成の一部として指定できます。

Liberty では、アプリケーションの一部としてバインディングおよび拡張を定義する従来型の方法がサポートされます。server.xml とアプリケーションの両方で情報が指定されている場合、2 つのソースをマージしてバインディングまたは拡張の実効セットが作成されます。

server.xml ファイルに指定されている情報が、アプリケーション成果物で指定されている同じ情報よりも優先されます。例えば、ibm-web-bnd.xml ファイルと server.xml ファイルの両方で Web アプリケーションの仮想ホストが指定されている場合、server.xml ファイルに指定されている値が使用されます。指定対象の情報に複数の値を含めることができる場合、server.xml ファイルの値がアプリケーションの値に追加されます。例えば、ibm-application-bnd.xml ファイルで 2 つのセキュリティー・ロールが定義されていて、server.xml ファイルで 1 つのセキュリティー・ロールが定義されている場合、3 つすべてのセキュリティー・ロールが使用されます。server.xml ファイルに定義されているセキュリティー・ロールの名前が、ibm-application-bnd.xml ファイルに定義されているセキュリティー・ロールと同じ場合、server.xml ファイルのロールにより、アプリケーションのロールが上書きされます。

アプリケーション内の特定のモジュールに適用されるバインディングおよび拡張については、構成で moduleName 属性を指定する必要が生じることがあります。この指定は、従来であれば ibm-web-ext.xml ファイル、ibm-web-bnd.xml ファイル、ibm-ejb-jar-bnd.xml、および ibm-ejb-jar-ext.xml ファイル に指定していた情報に適用されます。モジュール名属性は、ファイル拡張子を除いたモジュールの名前です。例えば、アーカイブ stockDisplay.war 内に Web モジュールを含む、stockPrices.ear ファイルに定義されているエンタープライズ・アプリケーションの場合、以下の構成で、Web モジュールのデフォルト・エラー・ページを設定します。
<application location="stockPrices.ear">
   <web-ext moduleName="stockDisplay" default-error-page="error.html"/>
</application>
同様に、stockData.jar ファイルで定義されている EJB アプリケーションでは、以下の server.xml 構成で、データ・ソース・バインディングを指定します。
<application location="stockPrices.ear">
   <ejb-jar-bnd moduleName="stockData">
	<session name="StockBean">				
		<data-source name="jdbc/stockDS" binding-name="stockDataSource"/>
 			</session>
   </ejb-jar></application>
アプリケーションがスタンドアロンの WAR ファイルまたは JAR ファイル内にあり、server.xml ファイルで webApplication エレメントまたは ejbApplication エレメントを使用して定義されている場合、モジュール名パラメーターは不要です。例えば、前の例の stockDisplay.war ファイルおよび stockData.jar ファイルが、stockPrices.ear アプリケーションのモジュールではなく、スタンドアロン・アプリケーションだった場合、以下の構成を使用できます。
<webApplication location="stockPrices.ear">
   <web-ext default-error-page="error.html"/>
</webApplication>

<ejbApplication location="stockPrices.jar">
   <ejb-jar-bnd>
	<session name="StockBean">				
		<data-source name="jdbc/stockDS" binding-name="stockDataSource"/>
 			</session>
   </ejb-jar></ejbApplication>

バインディング・ファイルおよび拡張ファイルで指定された一部のエレメントは、Liberty ランタイムによって使用されていません。例えば、Web アプリケーション拡張で、再ロード間隔属性の値は無視されます。これは、Liberty における再ロードの動作が、applicationMonitor 構成によって制御されるためです。server.xml 構成でそのようなエレメントを指定してもエラーは生成されません。エラーがないため、 アプリケーション・バインディング・ファイルおよび拡張ファイルの内容を server.xml ファイルにコピーすることが可能です。ただし、このコピー操作の結果として、WebSphere Developer Tools で構成を編集するときに、認識されないエレメントという警告が生じることがあります。

server.xml ファイルで指定可能なバインディングおよび拡張の完全なリストについては、server.xml ファイル内の構成エレメントを参照してください。

以下の例では、EJB アプリケーション内の Managed Bean のリソース参照を指定します。
<ejbApplication location="someBean.jar">
<managed-bean-bnd>
	<managed-bean class="com.ibm.MyBean">
		<resource-ref name="jdbc/myBinding" binding-name="jdbc/TestDataSource" />
	</managed-bean>
</managed-bean-bnd></ejbApplication>
以下の構成では、アプリケーションの共有セッション・コンテキスト属性を false に設定します。
<application location="myApplication.ear">
	<application-ext shared-session-context="false" />
</application>
以下の構成では、Web アプリケーションの仮想ホストを設定します。
<application location="myApplication.ear">
	<web-bnd moduleName="myWebModule">
		<virtual-host name="default_host" />
	</web-bnd>
</application>

トピックのタイプを示すアイコン 概念トピック

ファイル名: cwlp_app_bindings.html