타이머 관리자
타이머 관리자는 비동기 Bean 알람 관리자의 기능과 비동기 범위를 결합합니다. 따라서 타이머 관리자를 작성하면 타이머 관리자는 내부적으로 비동기 범위를 사용하여 타이머 관리자 라이프 사이클 기능을 제공합니다.

JNDI(Java Naming and Directory Interface) 네임스페이스에서 타이머 관리자를 찾을 수 있습니다. 이 성능은 비동기 Bean 범위를 통해 검색되는 알람 관리자와는 차이가 있습니다. 타이머 관리자의 찾아보기를 수행할 때마다 새 논리 타이머 관리자를 리턴하는데, 이는 다른 모든 타이머 관리자와 독립적으로 제거될 수 있습니다.
타이머 관리자는 관리 콘솔을 통해 여러 개의 스레드 풀을 사용하여 구성될 수 있습니다. 배치를 위해 어셈블리 시간에 이 타이머 관리자를 자원 참조에 바인드하여 애플리케이션이 이 자원 참조를 사용하여 타이머 관리자를 찾아볼 수 있게 할 수 있습니다.
타이머 관리자를 찾기 위한 Java 코드는 다음과 같습니다.
InitialContext ic = new InitialContext();
TimerManager tm = (TimerManager)ic.lookup("java:comp/env/tm/TimerManager");
알람 리스너 및 타이머 리스너를 설정하는 프로그래밍 모델은 차이가 있습니다. 다음 코드 예는 차이점을 보여줍니다.
비동기 Bean | CommonJ |
---|---|
public class ABAlarmListener implements AlarmListener { public void fired(Alarm alarm) { System.out.println(“Alarm fired. Context =” + alarm.getContext()); } |
public class StockQuoteTimerListener implements TimerListener { String context; String url; public StockQuoteTimerListener(String context, String url){ this.context = context; This.url = url; } public void timerExpired(Timer timer) { System.out.println(“Timer fired. Context =”+ ((StockQuoteTimerListener)timer.getTimerListener()) .getContext()); } public String getContext() { return context; } } |
참고: CommonJ 타이머 관리자를 사용할 때는 java:app 또는
java:global 컨텍스트의 application.xml에서
자원 참조를 구성하는 것을 기억하십시오. 예를 들어, application.xml
파일은 다음과 비슷해야 합니다.
<res-ref-name>java:app/env/timerManger</res-ref-name>
그리고 ibm-application-bnd.xml 파일은
다음과 비슷한 항목을 포함해야 합니다. <resource-ref-name="java:app/env/timerManager" binding-name="tm/default"/>
Spring 구성 파일이 비슷한 값을 포함하는지 확인하십시오. value="java:app/env/timerManager"