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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。