스케줄러 구성 또는 토폴로지

데이터베이스는 실행할 태스크 및 시기에 대한 정보를 지속시키기 위해 데이터베이스를 사용합니다. 애플리케이션 서버 토폴로지를 변경하거나 애플리케이션 또는 서버 구성을 변경할 때 오류가 발생할 수 있습니다. 구성 또는 토폴로지를 변경할 경우, 이 조치가 스케줄러에 어떻게 영향을 미치는지 신중히 고려하십시오.

EJB 타이머/스케줄러 구성

문제점 방지 문제점 방지: EJB 타이머/스케줄러를 구성할 때 기본 스케줄러는 기본적으로 단순한 파일 기반의 Apache Derby 데이터베이스를 사용하기 때문에 신속하게 작동 환경을 실행할 수 있습니다. Derby 데이터베이스는 프로덕션 환경에 사용하지 마십시오. 더구나 기본 Derby 데이터베이스는 클러스터된 작업 스케줄러 또는 클러스터된 일괄처리 컨테이너도 지원하지 않습니다. gotcha

보안 제한

보안이 사용 불가능한 동안 애플리케이션 서버에서 태스크를 작성하고 나중에 보안을 사용 가능하게 하기로 결정하면 스케줄러가 태스크를 실행하기 어려울 수 있습니다. 태스크를 작성하면 애플리케이션 스레드의 보안 컨텍스트는 자동으로 태스크와 함께 저장됩니다. 보안이 태스크와 함께 저장되지 않은 경우(스케줄러 태스크 사용자 권한 참조) 나중에 태스크가 실행될 서버 또는 애플리케이션에서 보안을 사용 가능하게 하면 다음 오류가 로그될 수 있습니다.
SECJ0053E: Authorization failed for /UNAUTHENTICATED while invoking (Home)com/ibm/websphere/scheduler
/TaskHandler create:2 securityName: /UNAUTHENTICATED;accessID: UNAUTHENTICATED is not granted any of
the required roles: MySecurityRole

서버 또는 애플리케이션에서 보안을 사용 가능하게 하기 전에 부정적인 영향을 받는 태스크가 있을 수 있는지 판별하십시오. 있는 경우, 스케줄러 API 또는 WASScheduler MBean을 사용하여 이들 태스크를 취소하고 보안을 구성한 후 태스크를 다시 작성하십시오.

애플리케이션 서버 토폴로지 변경

태스크가 작성되면 스케줄러가 TaskHandler, NotificationSink 및 UserCalendar homes에 대한 javax.ejb.HomeHandle 오브젝트를 저장합니다. 나중에 태스크를 실행하는 경우 EJB(Enterprise JavaBeans) 컴포넌트 홈에 액세스하도록 이러한 홈 핸들을 채우고 사용합니다. 홈 핸들이 단일 서버 환경의 EJB를 참조할 경우, 홈 핸들은 이 서버에 대한 선호도를 지닙니다. 홈 핸들이 클러스터의 EJB 컴포넌트를 참조할 경우, 홈 핸들은 이 클러스터에 대한 선호도를 지닙니다.

홈 핸들이 참조 중인 WLM(Workload Managed) 클러스터 또는 애플리케이션 서버가 사용 가능하지 않을 경우, 스케줄러는 태스크를 실행하는 데 실패하고 다음 오류가 로그됩니다.
SCHD0063E: A task with ID 123 failed to run on Scheduler MyScheduler (sched/MyScheduler) because of
an exception: {cause of failure}

애플리케이션 서버를 클러스터로 업그레이드하거나 오브젝트 요청 브로커(ORB) ORB_LISTENER_ADDRESS가 고정된 포트 번호(인바운드 전송 구성 참조)로 설정되지 않은 경우, 홈 핸들에 저장된 정보가 원하는 서버를 찾는 데 적합한 정보를 포함하고 있지 않으므로 태스크에 실패할 수 있습니다.

스케줄러 클러스터로 업그레이드

스케줄러 클러스터(WLM 클러스터로 구성되지 않음)는 동일한 JNDI(Java Naming and Directory Interface) 이름, JDBC(Java Database Connectivity) 데이터 소스 및 테이블 접두부를 공유하는 서로 다른 애플리케이션 서버에서 스케줄러 구성의 콜렉션입니다. 독립형 스케줄러를 클러스터된 스케줄러로 업그레이드할 경우에는 애플리케이션 및 이 애플리케이션이 필요로 하는 모든 연관된 자원이 사용 가능해야 합니다. 그렇지 않으면 스케줄된 태스크가 실행하는 데 실패하여 다음 오류 메시지가 로그될 수 있습니다.
SCHD0103W: The Scheduler MyScheduler (sched/MyScheduler) was unable to run task 123 because the
application or module is unavailable: MyTaskHandlerEJB

애플리케이션 가용성에 대한 문제점을 방지하고 최적 결과를 얻으려면 WLM 클러스터에서 사용한 것과 동일한 서버를 스케줄러 클러스터에 사용하십시오.

스케줄러 테이블 재사용

토폴로지를 변경하거나 개발 환경에서 프로덕션 환경으로 이동할 때 또는 환경을 좀 더 제한적으로 만드는 구성 변경사항을 작성할 때 다른 세트의 스케줄러 테이블을 사용하면 최적 결과를 얻을 수도 있습니다. 신중하게 계획하지 않고 이전 릴리스의 태스크를 스케줄했던 스케줄러 테이블을 다시 사용하면 다음과 같은 문제점을 일으킬 수 있습니다.
  • EJB 구성요소가 예기치 않은 애플리케이션 서버에서 실행됩니다.
  • 유효하지 않거나 누락된 보안 신임 때문에 태스크가 실패합니다.
  • 올바르지 않거나 누락된 Java EE(Java Platform, Enterprise Edition) 컨텍스트 정보로 인해 태스크 실행에 실패합니다.

이러한 문제점을 진단해 볼 필요가 있으며 스케줄러가 설치되고 구성된 모든 서버에 있는 로그를 분석해 보아야 합니다. 문제점이 있는 태스크를 찾으면 스케줄러 API를 사용하여 이들 태스크를 취소하거나 태스크를 삭제한 후 다시 작성할 수 있습니다.


주제 유형을 표시하는 아이콘 참조 주제



시간소인 아이콘 마지막 업데이트 날짜: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=rsch_changes
파일 이름:rsch_changes.html