![[17.0.0.1 and later]](../ng_v17001plus.gif)
アプリケーションのバインディング
アプリケーション・サーバーにインストールしたアプリケーションを開始するには、そのアプリケーションで定義されたすべてのエンタープライズ 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 ファイルのロールにより、アプリケーションのロールが上書きされます。
<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>
<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 ファイル内の構成エレメントを参照してください。
<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>
<application location="myApplication.ear">
<application-ext shared-session-context="false" />
</application>
<application location="myApplication.ear">
<web-bnd moduleName="myWebModule">
<virtual-host name="default_host" />
</web-bnd>
</application>