タイマー・マネージャーは、非同期 Bean アラーム・マネージャーおよび非同期有効範囲の機能を結合します。 そのためタイマー・マネージャーは、その作成時に、内部的に非同期有効範囲を使用して、タイマー・マネージャーのライフ・サイクル機能を提供します。
タイマー・マネージャーは JNDI ネーム・スペースにおいてルックアップできます。この機能は、非同期 Bean 有効範囲を介して取り出されるアラーム・マネージャーと異なります。タイマー・マネージャーをルックアップするたびに、新規の論理タイマー・マネージャーが戻されます。この論理タイマー・マネージャーは、他のすべてのタイマー・マネージャーとは独立に破棄することができます。
タイマー・マネージャーは、管理コンソールを介して、多くのスレッド・プールのメンバーを使用して構成できます。デプロイメントの場合は、アセンブリー時にこのタイマー・マネージャーをリソース参照にバインドできるので、アプリケーションはこのリソース参照を使用して、タイマー・マネージャーをルックアップできます。
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; } } |