public class Timer extends NotificationBroadcasterSupport implements TimerMBean, MBeanRegistration
このクラスは、日付の指定されたタイマー通知のリストを管理します。単一のメソッドで、必要な数の通知を追加または削除できます。タイマーから発行されたタイマー通知は、古くなると自動的にタイマー通知リストから削除されます。
定期的に繰り返す通知として、タイマー通知を追加できます。
注:
Timerクラスがロードされたホストのシステム時間に依存しています。ホストのシステム時間が異なっていると、リスナーが正しい時間に通知を受け取れないことがあります。こうした問題を避けるには、タイミングの必要なすべてのホスト・マシンのシステム時間を同期化します。
Timerに指定されているようにfixed-delay実行です。fixed-rate実行を使用するには、オーバーロードされたaddNotification(String, String, Object, Date, long, long, boolean)メソッドを使用します。
NotificationBroadcasterSupportを参照してください。
| 修飾子と型 | フィールドと説明 |
|---|---|
static long |
ONE_DAY
1日のミリ秒数。
|
static long |
ONE_HOUR
1時間のミリ秒数。
|
static long |
ONE_MINUTE
1分のミリ秒数。
|
static long |
ONE_SECOND
1秒のミリ秒数。
|
static long |
ONE_WEEK
1週間のミリ秒数。
|
| コンストラクタと説明 |
|---|
Timer()
デフォルトのコンストラクタです。
|
| 修飾子と型 | メソッドと説明 |
|---|---|
Integer |
addNotification(String type, String message, Object userData, Date date)
指定された
type、message、およびuserDataで新しいタイマー通知を作成し、これを指定の日付、間隔null、およびオカレンス数とともに通知リストに挿入します。 |
Integer |
addNotification(String type, String message, Object userData, Date date, long period)
指定された
type、message、およびuserDataで新しいタイマー通知を作成し、これを指定の日付、間隔null、およびオカレンス数とともに通知リストに挿入します。 |
Integer |
addNotification(String type, String message, Object userData, Date date, long period, long nbOccurences)
指定された
type、message、およびuserDataで新しいタイマー通知を作成し、これを指定の日付、間隔、およびオカレンス数とともに通知リストに挿入します。 |
Integer |
addNotification(String type, String message, Object userData, Date date, long period, long nbOccurences, boolean fixedRate)
指定された
type、message、およびuserDataで新しいタイマー通知を作成し、これを指定の日付、間隔、およびオカレンス数とともに通知リストに挿入します。 |
Vector<Integer> |
getAllNotificationIDs()
通知リストに登録されているすべてのタイマー通知識別子を取得します。
|
Date |
getDate(Integer id)
タイマー通知に関連付けられている日付のコピーを取得します。
|
Boolean |
getFixedRate(Integer id)
定期通知をfixed-delayで実行するかfixed-rateで実行するかを示すフラグのコピーを取得します。
|
int |
getNbNotifications()
通知リストに登録されているタイマー通知の数を取得します。
|
Long |
getNbOccurences(Integer id)
タイマー通知に関連付けられている残りの発行数のコピーを取得します。
|
Vector<Integer> |
getNotificationIDs(String type)
指定されたタイプに対応するすべてのタイマー通知識別子を取得します。
|
MBeanNotificationInfo[] |
getNotificationInfo()
このMBeanが送信する可能性のある各通知について、その通知のJavaクラス名と通知タイプを示す配列を返します。
|
String |
getNotificationMessage(Integer id)
指定された識別子に対応するタイマー通知の詳細メッセージを取得します。
|
String |
getNotificationType(Integer id)
指定された識別子に対応するタイマー通知タイプを取得します。
|
Object |
getNotificationUserData(Integer id)
指定された識別子に対応するタイマー通知のユーザー・データ・オブジェクトを取得します。
|
Long |
getPeriod(Integer id)
タイマー通知に関連付けられている間隔(ミリ秒)のコピーを取得します。
|
boolean |
getSendPastNotifications()
タイマーが過去の通知を送信するかどうかを示すフラグを取得します。
|
boolean |
isActive()
タイマーMBeanがアクティブかどうかをテストします。
|
boolean |
isEmpty()
タイマー通知のリストが空かどうかを判定します。
|
void |
postDeregister()
MBeanサーバーから登録解除したあと、タイマーMBeanが必要なオペレーションを実行できるようにします。
|
void |
postRegister(Boolean registrationDone)
MBeanサーバーへの登録が成功または失敗したあと、タイマーMBeanが必要なオペレーションを実行できるようにします。
|
void |
preDeregister()
MBeanサーバーから登録解除する前に、タイマーMBeanが必要なオペレーションを実行できるようにします。
|
ObjectName |
preRegister(MBeanServer server, ObjectName name)
MBeanサーバーに登録する前に必要なオペレーションをタイマーMBeanが実行することを許可します。
|
void |
removeAllNotifications()
通知リストからすべてのタイマー通知を削除し、タイマー通知識別子を更新するためのカウンタをリセットします。
|
void |
removeNotification(Integer id)
指定された識別子に対応するタイマー通知を通知リストから削除します。
|
void |
removeNotifications(String type)
指定されたタイプに対応するすべてのタイマー通知を通知リストから削除します。
|
void |
setSendPastNotifications(boolean value)
タイマーが過去の通知を送信するかどうかを示すフラグを設定します。
|
void |
start()
タイマーを起動します。
|
void |
stop()
タイマーを停止します。
|
addNotificationListener, handleNotification, removeNotificationListener, removeNotificationListener, sendNotificationpublic static final long ONE_SECOND
addNotificationメソッドで使用される定数。public static final long ONE_MINUTE
addNotificationメソッドで使用される定数。public static final long ONE_HOUR
addNotificationメソッドで使用される定数。public static final long ONE_DAY
addNotificationメソッドで使用される定数。public static final long ONE_WEEK
addNotificationメソッドで使用される定数。public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception
このコンテキストでは使用しません。
preRegister、インタフェース: MBeanRegistrationserver - MBeanサーバー。タイマーMBeanはここに登録される。name - タイマーMBeanのオブジェクト名。Exceptionpublic void postRegister(Boolean registrationDone)
このコンテキストでは使用しません。
postRegister、インタフェース: MBeanRegistrationregistrationDone - MBeanがMBeanサーバーに正常に登録されたかどうかを示す。登録に失敗した場合の値はfalse。public void preDeregister()
throws Exception
タイマーを停止します。
preDeregister、インタフェース: MBeanRegistrationExceptionpublic void postDeregister()
このコンテキストでは使用しません。
postDeregister、インタフェース: MBeanRegistrationpublic MBeanNotificationInfo[] getNotificationInfo()
NotificationBroadcasterこのMBeanが送信する可能性のある各通知について、その通知のJavaクラス名と通知タイプを示す配列を返します。
この配列に記述されていない通知をMBeanが送信しても、不正ではありません。ただし一部のMBeanサーバー・クライアントは、正しく機能するために、作成される配列に依存する場合があります。
getNotificationInfo、インタフェース: NotificationBroadcastergetNotificationInfo、クラス: NotificationBroadcasterSupportpublic void start()
通知リスト内に、その時間より前に発行されたタイマー通知が1つ以上ある場合、この通知はsendPastNotificationsフラグに従って送信され、間隔と残りの発行数に従って更新されます。タイマー通知の日付が現在の日付より前の場合、この通知は通知リストから削除されます。
start、インタフェース: TimerMBeanpublic void stop()
stop、インタフェース: TimerMBeanpublic Integer addNotification(String type, String message, Object userData, Date date, long period, long nbOccurences, boolean fixedRate) throws IllegalArgumentException
type、message、およびuserDataで新しいタイマー通知を作成し、これを指定の日付、間隔、およびオカレンス数とともに通知リストに挿入します。
挿入されるタイマー通知の日付が現在の日付より前の場合、このメソッドは、指定された日付が現在の日付であるとして動作します。
1回だけの通知は、ただちに配信されます。
定期的な通知の場合、最初の通知はただちに配信され、以降の通知は間隔パラメータで指定された間隔で配信されます。
タイマー通知が通知リストに追加されたあと、関連付けられている日付、間隔、および発行数を更新することはできません。
定期通知の場合、Timerに指定されているように、fixedRateパラメータの値が実行スキームの指定に使用されます。
addNotification、インタフェース: TimerMBeantype - タイマー通知タイプ。message - タイマー通知の詳細メッセージ。userData - タイマー通知のユーザー・データ・オブジェクト。date - 通知が発行される日付。period - タイマー通知の間隔(ミリ秒)。nbOccurences - 発行されるタイマー通知の合計数。fixedRate - trueであり、定期通知である場合、fixed-rate実行スキームでスケジュールされる。falseであり、定期通知である場合、fixed-delay実行スキームでスケジュールされる。定期通知でない場合は無視される。IllegalArgumentException - 日付がnullであるか、間隔または発行数が負の値の場合。addNotification(String, String, Object, Date, long, long)public Integer addNotification(String type, String message, Object userData, Date date, long period, long nbOccurences) throws IllegalArgumentException
type、message、およびuserDataで新しいタイマー通知を作成し、これを指定の日付、間隔、およびオカレンス数とともに通知リストに挿入します。
挿入されるタイマー通知の日付が現在の日付より前の場合、このメソッドは、指定された日付が現在の日付であるとして動作します。
1回だけの通知は、ただちに配信されます。
定期的な通知の場合、最初の通知はただちに配信され、以降の通知は間隔パラメータで指定された間隔で配信されます。
タイマー通知が通知リストに追加されたあと、関連付けられている日付、間隔、および発行数を更新することはできません。
定期通知の場合、Timerに指定されているようにfixed-delay実行スキームを使用します。fixed-rate実行スキームを使用するには、代わりにaddNotification(String, String, Object, Date, long, long, boolean)を使用します。
addNotification、インタフェース: TimerMBeantype - タイマー通知タイプ。message - タイマー通知の詳細メッセージ。userData - タイマー通知のユーザー・データ・オブジェクト。date - 通知が発行される日付。period - タイマー通知の間隔(ミリ秒)。nbOccurences - 発行されるタイマー通知の合計数。IllegalArgumentException - 日付がnullであるか、間隔または発行数が負の値の場合。addNotification(String, String, Object, Date, long, long, boolean)public Integer addNotification(String type, String message, Object userData, Date date, long period) throws IllegalArgumentException
type、message、およびuserDataで新しいタイマー通知を作成し、これを指定の日付、間隔null、およびオカレンス数とともに通知リストに挿入します。
タイマー通知は、Timerに指定されているように、fixed-delay実行スキームを使用するタイマー間隔で連続的に繰り返されます。fixed-rate実行スキームを使用するには、代わりにaddNotification(String, String, Object, Date, long, long, boolean)を使用します。
挿入されるタイマー通知の日付が現在の日付より前の場合、このメソッドは、指定された日付が現在の日付であるとして動作します。最初の通知はただちに配信され、以降の通知は間隔パラメータで指定された間隔で配信されます。
addNotification、インタフェース: TimerMBeantype - タイマー通知タイプ。message - タイマー通知の詳細メッセージ。userData - タイマー通知のユーザー・データ・オブジェクト。date - 通知が発行される日付。period - タイマー通知の間隔(ミリ秒)。IllegalArgumentException - 日付がnullであるか、間隔が負の値の場合。public Integer addNotification(String type, String message, Object userData, Date date) throws IllegalArgumentException
type、message、およびuserDataで新しいタイマー通知を作成し、これを指定の日付、間隔null、およびオカレンス数とともに通知リストに挿入します。
タイマー通知は指定された日付にまとめて処理されます。
挿入されるタイマー通知の日付が現在の日付より前の場合、このメソッドは、指定された日付が現在の日付であるとして動作します。通知はただちに配信されます。
addNotification、インタフェース: TimerMBeantype - タイマー通知タイプ。message - タイマー通知の詳細メッセージ。userData - タイマー通知のユーザー・データ・オブジェクト。date - 通知が発行される日付。IllegalArgumentException - 日付がnullである場合。public void removeNotification(Integer id) throws InstanceNotFoundException
removeNotification、インタフェース: TimerMBeanid - タイマー通知識別子。InstanceNotFoundException - このタイマーMBeanの通知リスト内に、指定された識別子に対応するタイマー通知が存在しない。public void removeNotifications(String type) throws InstanceNotFoundException
removeNotifications、インタフェース: TimerMBeantype - タイマー通知タイプ。InstanceNotFoundException - このタイマーMBeanの通知リスト内に、指定されたタイプに対応するタイマー通知が存在しない。public void removeAllNotifications()
removeAllNotifications、インタフェース: TimerMBeanpublic int getNbNotifications()
getNbNotifications、インタフェース: TimerMBeanpublic Vector<Integer> getAllNotificationIDs()
getAllNotificationIDs、インタフェース: TimerMBeanIntegerオブジェクトのベクトル。public Vector<Integer> getNotificationIDs(String type)
getNotificationIDs、インタフェース: TimerMBeantype - タイマー通知タイプ。typeのすべてのタイマー通知識別子を含むIntegerオブジェクトのベクトル。typeのタイマー通知が登録されていない場合は空。public String getNotificationType(Integer id)
getNotificationType、インタフェース: TimerMBeanid - タイマー通知識別子。public String getNotificationMessage(Integer id)
getNotificationMessage、インタフェース: TimerMBeanid - タイマー通知識別子。public Object getNotificationUserData(Integer id)
getNotificationUserData、インタフェース: TimerMBeanid - タイマー通知識別子。public Date getDate(Integer id)
getDate、インタフェース: TimerMBeanid - タイマー通知識別子。public Long getPeriod(Integer id)
getPeriod、インタフェース: TimerMBeanid - タイマー通知識別子。public Long getNbOccurences(Integer id)
getNbOccurences、インタフェース: TimerMBeanid - タイマー通知識別子。public Boolean getFixedRate(Integer id)
getFixedRate、インタフェース: TimerMBeanid - タイマー通知識別子。public boolean getSendPastNotifications()
falseです。getSendPastNotifications、インタフェース: TimerMBeansetSendPastNotifications(boolean)public void setSendPastNotifications(boolean value)
falseです。setSendPastNotifications、インタフェース: TimerMBeanvalue - 過去の通知を送信するかどうかを指定するフラグ値。getSendPastNotifications()public boolean isActive()
startメソッドが呼び出されるとアクティブになります。stopメソッドが呼び出されると非アクティブになります。falseです。isActive、インタフェース: TimerMBeantrue、そうでない場合はfalse。public boolean isEmpty()
isEmpty、インタフェース: TimerMBeantrue、そうでない場合はfalse。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.