사용자 정의 서비스 작성
애플리케이션 서버에 대해 하나 이상의 사용자 정의 서비스를 작성할 수 있습니다. 각 사용자 정의 서비스는 서버가 시작되고 종료될 때마다 로드되고 초기화되는 클래스를 정의합니다. 각각의 이들 클래스는 com.ibm.websphere.runtime.CustomService 인터페이스를 구현해야 합니다. 사용자 정의 서비스를 작성한 후 관리 콘솔을 사용하여 애플리케이션 서버에 대해 해당 사용자 정의 서비스를 구성하십시오.
이 태스크 정보
사용자 정의 서비스는 제어기가 아닌 하위(servant)에서 실행합니다.
예를 들어 서버의 주기 동안 하나 이상의 하위(servant)가 시작되었기 때문에,
이러한 하위(servant)는 서버(제어기)가 실행된 지 한참 후에 시작할 수 있으며,
WLM에서 필요한대로, 사용자 정의 서비스는 각 하위(servant)를 시작하는 동안 실행합니다.
서버 시작 및 시스템 종료 시 실행하는
연결점을 정의해야 하는 경우, 사용자 정의 서비스 클래스를 작성한 다음 관리 콘솔을 사용하여 사용자 정의 서비스 인스턴스를
구성하십시오. 애플리케이션 서버가 시작할 때
사용자 정의 서비스가 시작하고 초기화합니다.
서버 또는 노드 에이전트가
시작하고 시스템 종료할 때마다 실행하는 루틴을 정의하기 위해 사용자 정의 서비스 클래스를 개발한 다음 사용자 정의 서비스 인스턴스를
구성합니다. 애플리케이션 서버 또는 노드 에이전트가 시작할 때
사용자 정의 서비스가 시작하고 초기화합니다.
- initialize 및 shutdown 메소드는 런타임에 제어를 리턴해야 합니다.
- 모든 사용자 정의 서비스 초기화 메소드가 리턴될 때까지 서버 인스턴스로 작업이 디스패치되지 않습니다.
- initialize 및 shutdown 메소드는 각 서비스에 한 번, 그리고 서버 인스턴스를 구성하는 각 운영 체제 프로세스에 한 번씩 호출됩니다.
- 프로세스를 남겨두지 않는 프로세스 레벨 정적 데이터의 초기화가 지원됩니다.
- JDBC RMLT(자원 관리자 로컬 트랜잭션) 조작만 지원됩니다. 모든 UOW(Unit of Work)는 메소드가 리턴되기 전에 완료되어야 합니다.
- 스레드 작성은 지원되지 않습니다.
- I/O 파일 이외의 I/O 및 소켓 작성은 지원되지 않습니다.
- 표준 Java EE(Java™ Platform, Enterprise Edition) 코드(예: 클라이언트 코드, 서블릿 및 엔터프라이즈 Bean)의 실행은 지원되지 않습니다.
- JTA(Java Transaction API) 인터페이스를 사용할 수 없습니다.
- 이 기능은 Java EE 서버 프로세스 및 분배된 일반 서버 프로세스에서만 사용 가능합니다.
- 런타임에 시스템 종료를 호출하려고 하면 프로세스 종료 이전에 시스템 종료가 호출되는지 보증할 수 없습니다.
- 자원을 요청하는 JNDI 조작은 제공되지 않습니다.
프로시저
결과
서버 또는 노드 에이전트가
시작하고 중지할 때마다 사용자 정의 서비스를 로드하고 초기화합니다.
서버가 시작하고 중지할 때마다
사용자 정의 서비스를 로드하고 초기화합니다.
예
public class ServerInit implements com.ibm.websphere.runtime.CustomService
{
/**
* The initialize method is called by the 애플리케이션 서버 runtime when the
* server starts. The Properties object that the 애플리케이션 서버 passes
* to this method must contain all of the configuration information that this
* service needs to initialize properly.
*
* @param configProperties java.util.Properties
*/
static final java.lang.String externalConfigURLKey =
"com.ibm.websphere.runtime.CustomService.externalConfigURLKey";
static String ConfigFileName="";
public void initialize(java.util.Properties configProperties) throws Exception
{
if (configProperties.getProperty(externalConfigURLKey) != null)
{
ConfigFileName = configProperties.getProperty(externalConfigURLKey);
}
// Implement rest of initialize method
}
/**
* The shutdown method is called by the 애플리케이션 서버 runtime when the
* server begins its shutdown processing.
*
public void shutdown() throws Exception
{
// Implement shutdown method
}
다음에 수행할 작업
애플리케이션 서버 또는 노드 에이전트를 검사하여
사용자 정의 서비스의 initialize 및 shutdown 메소드가 실행하려는 방법으로 실행했는지
확인하십시오.
애플리케이션 서버를 검사하여 사용자 정의 서비스의
initialize 및 shutdown 메소드가 실행하려는 방법으로 실행했는지 확인하십시오.