[17.0.0.1 and later]

애플리케이션 바인딩

애플리케이션 서버에 설치된 애플리케이션을 시작하려면, 우선 애플리케이션에 정의된 모든 엔터프라이즈 Bean(EJB) 참조 및 자원 참조를 애플리케이션 서버에 정의된 실제 아티팩트(엔터프라이즈 Bean 또는 자원)에 바인드해야 합니다.

애플리케이션 바인딩 및 확장기능은 애플리케이션 자원을 정의하고 다양한 애플리케이션 동작을 제어하는 방법을 제공합니다. 애플리케이션 바인딩은 엔터프라이즈 애플리케이션, 웹 애플리케이션 또는 EJB 애플리케이션에 적용될 수 있습니다.

일반적으로, 이러한 바인딩 및 확장기능은 애플리케이션 아카이브 내의 XML 파일에 지정되어 있습니다. 예를 들어, 웹 애플리케이션 바인딩은 ibm-web-bnd.xml 파일에 정의될 수 있습니다. Liberty 버전 17.0.0.1 이상에서, 바인딩 및 확장기능은 server.xml 파일에서 애플리케이션 구성의 일부로서 지정될 수 있습니다.

Liberty는 애플리케이션의 일부로서 바인딩 및 확장기능을 정의하는 일반적인 방법을 지원합니다. 정보가 server.xml 파일과 애플리케이션 모두에 지정된 경우에는 효과적인 바인딩 또는 확장기능 세트의 작성을 위해 두 소스가 병합됩니다.

server.xml 파일에 지정된 정보는 애플리케이션 아티팩트에 지정된 동일한 정보에 우선합니다. 예를 들어, ibm-web-bnd.xmlserver.xml 파일 모두가 웹 애플리케이션에 대한 가상 호스트를 지정하는 경우에는 server.xml 파일에 지정된 값이 사용됩니다. 지정되는 정보에 여러 개의 값이 있을 수 있는 경우에는 server.xml 파일의 값이 애플리케이션의 값에 추가됩니다. 예를 들어, ibm-application-bnd.xml 파일이 두 개의 보안 역할을 정의하고 server.xml 파일이 하나의 보안 역할을 정의하는 경우에는 세 개의 보안 역할이 모두 사용됩니다. server.xml 파일에 정의된 보안 역할이 ibm-application-bnd.xml에 정의된 보안 역할과 동일한 이름을 갖는 경우에는 server.xml 파일의 역할이 애플리케이션의 역할을 겹쳐씁니다.

애플리케이션 내의 특정 모듈에 적용되는 바인딩 및 확장기능의 경우에는 구성에서 moduleName 속성을 지정해야 할 수 있습니다. 이 지정사항은 통상적으로 ibm-web-ext.xml 파일, ibm-web-bnd.xml 파일, ibm-ejb-jar-bnd.xmlibm-ejb-jar-ext.xml 파일에 지정되는 정보에 적용됩니다. 이 모듈 이름 속성은 파일 확장자가 없는 모듈의 이름입니다. 예를 들어, 아카이브 stockDisplay.war에 웹 모듈이 포함된 stockPrices.ear 파일에 정의된 엔터프라이즈 애플리케이션의 경우에는 다음 구성이 웹 모듈의 기본 오류 페이지를 설정합니다.
<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 파일에 있으며 webApplication 또는 ejbApplication 요소를 사용하여 server.xml 파일에 정의된 경우에는 모듈 이름 매개변수가 필요하지 않습니다. 예를 들어, 위 예제의 stockDisplay.warstockData.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 런타임에 의해 사용되지 않습니다. 예를 들어, Liberty에서 재로드 작동이 applicationMonitor 구성에 의해 제어되므로 웹 애플리케이션 확장기능에서는 재로드 간격 속성의 값이 무시됩니다. server.xml 구성에 이러한 요소를 지정해도 오류가 발생하지 않습니다. 오류가 발생하지 않으므로 애플리케이션 바인딩 및 확장기능 파일의 컨텐츠를 server.xml 파일로 복사할 수 있습니다. 그러나 이처럼 복사할 경우 WebSphere Developer Tools에서 구성을 편집할 때 인식할 수 없는 요소 경고가 발생할 수 있습니다.

server.xml 파일에 지정할 수 있는 바인딩 및 확장기능의 전체 목록은 server.xml 파일의 구성 요소를 참조하십시오.

다음 예제는 EJB 애플리케이션 내의 관리 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>
다음 구성은 웹 애플리케이션의 가상 호스트를 설정합니다.
<application location="myApplication.ear">
	<web-bnd moduleName="myWebModule">
		<virtual-host name="default_host" />
	</web-bnd>
</application>

주제의 유형을 표시하는 아이콘 개념 주제

파일 이름: cwlp_app_bindings.html