구성 파일에서 include 요소 사용
단일의 server.xml 파일에 모든 구성을 보관하거나, 포함 요소를 사용하여 개별 파일의 구성을 통합하여 사용자에게 가장 적합한 구조를 작성할 수 있습니다.
이 태스크 정보
복잡한 구성은 파일 세트로 분할하는 것이 유지보수하는 데 더 쉬울 수 있습니다. 예를 들면 다음과 같은 경우가 있습니다.
- 기본 구성을 다수의 호스트에서 사용할 수 있도록 로컬 호스트의 특정 변수가 있는 파일을 포함시키려 할 수 있습니다.
- 특정 애플리케이션의 구성 전체를 애플리케이션 자체와 같이 버전화될 수 있는 별도의 파일에 보관하고자 할 수 있습니다.
예
다음은 구성 파일을 포함하기 위한 구문입니다.
찾을 수 없는 경우 포함 파일을 건너뛰려면 optional 속성을 true로 설정하십시오.
<include optional="true" location="pathname/filename"/>
또는
<include optional="true" location="url"/>
다음 목록은 가능한 위치를 나타내고 있습니다. 이들은 표시된 순서대로 검색됩니다.
- 상위 파일에 상대적으로 지정된 위치
- 서버 구성 디렉토리
- 절대 경로로 지정된 위치
- 웹 서버
포함 구성이 예상대로 동작하도록 하려면 포함된 구성 파일에 대한 다음 처리 규칙을 알고 있어야 합니다.
- 로깅 또는 애플리케이션 모니터링과 같은 싱글톤 서비스의 경우 항목은 파일에 나타나있는 순서대로 처리되며 이후에 들어온 항목이 이전 항목에 추가되거나 이를 대체합니다. 이는 구성 인스턴스들이 동일한 ID를 갖는, 애플리케이션 또는 데이터 소스와 같은 구성 인스턴스에도 적용됩니다.
- 포함 명령문은 <server /> 요소 안 어디에도 있을 수 있습니다.
- 포함된 각 파일은 상위 구성 파일에 있는 것과 일치하는 <server /> 요소를 포함하고 있어야 합니다.
- 포함된 파일은 다른 포함된 파일을 내포할 수 있습니다.
- 포함된 각 파일은 상위 파일의 <include /> 구문이 발생하는 위치에서 기본 구성으로 논리 병합됩니다.
다음 예제에서 1차 서버 구성 파일 server.xml은 공유 구성 디렉토리에 있는 blogDS.xml 구성 파일의 컨텐츠를 포함합니다. blogDS.xml 파일에는 데이터 소스 정의가 포함되어 있습니다. 이 정의는 여러 다른 server.xml 파일에 포함시켜 다중 서버 인스턴스에서 사용할 수 있도록 하기 위해 개별 구성 파일에 넣었습니다.
다음은 server.xml 파일의 예제
코드입니다.
<server>
<featureManager>
<feature>servlet-3.0</feature>
<feature>jdbc-4.0</feature>
</featureManager>
<application id="blog" location="blog.war" name="blog" type="war"/>
<include optional="true" location="${shared.config.dir}/blogDS.xml"/>
</server>
다음은 blogDS.xml
파일의 예제 코드입니다.
<server>
<dataSource id="blogDS" jndiName="jdbc/blogDS" jdbcDriverRef="derbyEmbedded">
<properties createDatabase="create" databaseName="C:/liberty/basics/derby/data/blogDB" />
</dataSource>
<jdbcDriver id="derbyEmbedded"/>
<library>
<fileset dir="C:/liberty/basics/derby" includes="derby.jar" />
</library>
</jdbcDriver>
</server>