1. jeusadmin 명령어 실행
Ant Build 파일(일반적으로 build.xml)을 편집하여 jeusadmin 명령어를 실행하는 방법을 소개한다. 예제를 통해 Ant Target을 작성하는 방법을 설명한다.
예제
다음은 Ant를 사용하여 server-info 명령어 수행하는 예제이다.
<project name="check-server-state-example" default="check-server-state">
<property environment="env"/>
<property name="jeus.home" value="${env.JEUS_HOME}"/>
<property name="jeus.home.bin" value="${jeus.home}/bin"/>
<property name="unix.jeusadmin" value="${jeus.home.bin}/jeusadmin"/>
<property name="windows.jeusadmin" value="${jeus.home.bin}/jeusadmin.cmd"/>
<property name="jeusadmin.args" value="-u administrator -p jeus -host host1 -port 9736 -verbose"/>
<property name="server.name" value="adminServer"/>
<property name="cmd.target" value="server-info -server ${server.name} -state"/>
<condition property="isWindows">
<os family="windows"/>
</condition>
<condition property="isUnix">
<os family="unix"/>
</condition>
<target name="check-server-state">
<antcall target="check-server-state-unix"/>
<antcall target="check-server-state-windows"/>
</target>
<target name="check-server-state-windows" if="isWindows">
<echo>${windows.jeusadmin} ${jeusadmin.args} ${cmd.target}</echo>
<exec executable="${windows.jeusadmin}" osfamily="windows" spawn="false"
failonerror="true">
<arg line="${jeusadmin.args}"/>
<arg value="${cmd.target}"/>
</exec>
</target>
<target name="check-server-state-unix" if="isUnix">
<echo>${unix.jeusadmin} ${jeusadmin.args} ${cmd.target}</echo>
<exec executable="${unix.jeusadmin}" osfamily="unix" spawn="false"
failonerror="true">
<arg line="${jeusadmin.args}"/>
<arg value="${cmd.target}"/>
</exec>
</target>
</project>
-
jeus.home은 JEUS가 설치되어 있는 위치를 가리킨다. 위 예제에서는 시스템 환경 변수 JEUS_HOME에 해당 위치가 저장되어 있는 것으로 가정하였다.
JEUS에서 제공하는 jant 스크립트를 사용하여 ant를 실행할 경우 JEUS_HOME을 별도로 지정하지 않아도 된다.
-
unix.jeusadmin과 windows.jeusadmin은 jeusadmin 툴을 실행하기 위한 스크립트의 위치를 가리킨다. 일반적으로 jeusadmin 스크립트는 JEUS_HOME/bin 아래에 위치한다. UNIX와 Windows 운영체제에서 스크립트 이름이 다르기 때문에 property를 2개 사용하였다.
-
jeusadmin.args는 jeusadmin 툴을 실행할 때 사용할 인자값들이다. 사용자 이름, 비밀번호, 호스트 주소, 포트 번호, 상세 출력(verbose) 여부 등 필요한 옵션을 설정한다. 옵션에 대한 자세한 내용은 jeusadmin을 참고한다.
-
cmd.target은 실행할 명령어를 지정한다. 예제에서는 server-info 명령어를 사용하여 서버 상태를 확인하고자 하였으므로, 'server-info -server ${server.name} -state’로 설정하였다. jeusadmin에서 사용할 수 있는 명령어에 대한 자세한 사항은 Part II. 콘솔 명령어와 툴을 참고한다.
-
check-server-state-windows와 check-server-state-unix target들에서는 exec task를 사용하여 jeusadmin을 실행한다. osfamily 속성을 사용하여 운영체제의 종류에 맞는 스크립트가 실행될 수 있게 하였다. <exec> 태그에서 spawn 속성을 false로 주어야 Ant를 통해 수행 결과를 확인할 수 있다. 만약 명령어 수행이 실패하였을 때 Ant build가 실패하게 할 경우 failonerror 속성을 true로 설정한다.
예제를 UNIX 운영체제에서 실행한 결과는 다음과 같다.
JEUS_HOME/bin$jant check-server-state Buildfile: JEUS_HOME/bin/build.xml check-server-state: check-server-state-unix: [echo] JEUS_HOME/bin/jeusadmin -u administrator -p jeus -host host1 -port 9736 -verbose server-info -server adminServer -state [exec] Verbose output is enabled. [exec] Attempting to connect to localhost:9736. [exec] The connection has been established to Domain Administration Server adminServer in the domain domain1. [exec] RUNNING [exec] check-server-state-windows: BUILD SUCCESSFUL Total time: 1 second JEUS_HOME/bin$