- すべての実装されたインタフェース:
MBeanRegistration
,NotificationBroadcaster
,NotificationEmitter
,TimerMBean
このクラスは、日付の指定されたタイマー通知のリストを管理します。 単一のメソッドで、必要な数の通知を追加または削除できます。 タイマーから発行されたタイマー通知は、古くなると自動的にタイマー通知リストから削除されます。
定期的に繰り返す通知として、タイマー通知を追加できます。
ノート:
- タイマー通知の送信時、タイマーは、すべての通知タイプの通知シーケンス番号を更新します。
- タイマー・サービスは、
Timer
クラスがロードされたホストのシステム時間に依存しています。 ホストのシステム時間が異なっていると、リスナーが正しい時間に通知を受け取れないことがあります。 こうした問題を避けるには、タイミングの必要なすべてのホスト・マシンのシステム時間を同期化します。 - 定期通知のデフォルトの動作は、
Timer
に指定されているようにfixed-delay実行です。 fixed-rate実行を使用するには、オーバーロードされたaddNotification(String, String, Object, Date, long, long, boolean)
メソッドを使用します。 - 通知リスナー全部が同じスレッドで実行される可能性があります。 ほかのリスナーの処理を妨害したり、fixed-delay実行の規則性を乱すことがないように、これらのリスナーはすばやく実行する必要があります。
NotificationBroadcasterSupport
を参照してください。
- 導入されたバージョン:
- 1.5
-
フィールドのサマリー
フィールド修飾子と型フィールド説明static final long
1日のミリ秒数。static final long
1時間のミリ秒数。static final long
1分のミリ秒数。static final long
1秒のミリ秒数。static final long
1週間のミリ秒数。 -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明addNotification
(String type, String message, Object userData, Date date) 指定されたtype
、message
、およびuserData
で新しいタイマー通知を作成し、これを指定の日付、間隔null、およびオカレンス数とともに通知リストに挿入します。addNotification
(String type, String message, Object userData, Date date, long period) 指定されたtype
、message
、およびuserData
で新しいタイマー通知を作成し、これを指定の日付、間隔null、およびオカレンス数とともに通知リストに挿入します。addNotification
(String type, String message, Object userData, Date date, long period, long nbOccurences) 指定されたtype
、message
、およびuserData
で新しいタイマー通知を作成し、これを指定の日付、間隔、およびオカレンス数とともに通知リストに挿入します。addNotification
(String type, String message, Object userData, Date date, long period, long nbOccurences, boolean fixedRate) 指定されたtype
、message
、およびuserData
で新しいタイマー通知を作成し、これを指定の日付、間隔、およびオカレンス数とともに通知リストに挿入します。通知リストに登録されているすべてのタイマー通知識別子を取得します。タイマー通知に関連付けられている日付のコピーを取得します。getFixedRate
(Integer id) 定期通知をfixed-delayで実行するかfixed-rateで実行するかを示すフラグのコピーを取得します。int
通知リストに登録されているタイマー通知の数を取得します。タイマー通知に関連付けられている残りの発行数のコピーを取得します。getNotificationIDs
(String type) 指定されたタイプに対応するすべてのタイマー通知識別子を取得します。指定された識別子に対応するタイマー通知の詳細メッセージを取得します。指定された識別子に対応するタイマー通知タイプを取得します。指定された識別子に対応するタイマー通知のユーザー・データ・オブジェクトを取得します。タイマー通知に関連付けられている間隔(ミリ秒)のコピーを取得します。boolean
タイマーが過去の通知を送信するかどうかを示すフラグを取得します。boolean
isActive()
タイマーMBeanがアクティブかどうかをテストします。boolean
isEmpty()
タイマー通知のリストが空かどうかを判定します。void
MBeanサーバーから登録解除したあと、タイマーMBeanが必要なオペレーションを実行できるようにします。void
postRegister
(Boolean registrationDone) MBeanサーバーへの登録が成功または失敗したあと、タイマーMBeanが必要なオペレーションを実行できるようにします。void
MBeanサーバーから登録解除する前に、タイマーMBeanが必要なオペレーションを実行できるようにします。preRegister
(MBeanServer server, ObjectName name) MBeanサーバーに登録する前に必要なオペレーションをタイマーMBeanが実行することを許可します。void
通知リストからすべてのタイマー通知を削除し、タイマー通知識別子を更新するためのカウンタをリセットします。void
指定された識別子に対応するタイマー通知を通知リストから削除します。void
removeNotifications
(String type) 指定されたタイプに対応するすべてのタイマー通知を通知リストから削除します。void
setSendPastNotifications
(boolean value) タイマーが過去の通知を送信するかどうかを示すフラグを設定します。void
start()
タイマーを起動します。void
stop()
タイマーを停止します。クラス javax.management.NotificationBroadcasterSupportで宣言されたメソッド
addNotificationListener, getNotificationInfo, handleNotification, removeNotificationListener, removeNotificationListener, sendNotification
-
フィールド詳細
-
ONE_SECOND
public static final long ONE_SECOND1秒のミリ秒数。addNotification
メソッドで使用される定数。- 関連項目:
-
ONE_MINUTE
public static final long ONE_MINUTE1分のミリ秒数。addNotification
メソッドで使用される定数。- 関連項目:
-
ONE_HOUR
public static final long ONE_HOUR1時間のミリ秒数。addNotification
メソッドで使用される定数。- 関連項目:
-
ONE_DAY
public static final long ONE_DAY1日のミリ秒数。addNotification
メソッドで使用される定数。- 関連項目:
-
ONE_WEEK
public static final long ONE_WEEK1週間のミリ秒数。addNotification
メソッドで使用される定数。- 関連項目:
-
-
コンストラクタの詳細
-
Timer
public Timer()デフォルトのコンストラクタです。
-
-
メソッドの詳細
-
preRegister
public ObjectName preRegister(MBeanServer server, ObjectName name) throws Exception MBeanサーバーに登録する前に必要なオペレーションをタイマーMBeanが実行することを許可します。このコンテキストでは使用しません。
- 定義:
preRegister
、インタフェースMBeanRegistration
- パラメータ:
server
- MBeanサーバー。タイマーMBeanはここに登録される。name
- タイマーMBeanのオブジェクト名。- 戻り値:
- 登録済みタイマーMBeanの名前。
- 例外:
Exception
- 何かがうまくいかない場合
-
postRegister
public void postRegister(Boolean registrationDone) MBeanサーバーへの登録が成功または失敗したあと、タイマーMBeanが必要なオペレーションを実行できるようにします。このコンテキストでは使用しません。
- 定義:
postRegister
、インタフェースMBeanRegistration
- パラメータ:
registrationDone
- MBeanがMBeanサーバーに正常に登録されたかどうかを示す。 登録に失敗した場合の値はfalse。
-
preDeregister
public void preDeregister() throws ExceptionMBeanサーバーから登録解除する前に、タイマーMBeanが必要なオペレーションを実行できるようにします。タイマーを停止します。
- 定義:
preDeregister
、インタフェースMBeanRegistration
- 例外:
Exception
- 何かがうまくいかない場合
-
postDeregister
public void postDeregister()MBeanサーバーから登録解除したあと、タイマーMBeanが必要なオペレーションを実行できるようにします。このコンテキストでは使用しません。
- 定義:
postDeregister
、インタフェースMBeanRegistration
-
start
public void start()タイマーを起動します。通知リスト内に、その時間より前に発行されたタイマー通知が1つ以上ある場合、この通知は
sendPastNotifications
フラグに従って送信され、間隔と残りの発行数に従って更新されます。 タイマー通知の日付が現在の日付より前の場合、この通知は通知リストから削除されます。- 定義:
start
、インタフェースTimerMBean
-
stop
public void stop()タイマーを停止します。- 定義:
stop
、インタフェースTimerMBean
-
addNotification
public 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
、インタフェースTimerMBean
- パラメータ:
type
- タイマー通知タイプ。message
- タイマー通知の詳細メッセージ。userData
- タイマー通知のユーザー・データ・オブジェクト。date
- 通知が発行される日付。period
- タイマー通知の間隔(ミリ秒)。nbOccurences
- 発行されるタイマー通知の合計数。fixedRate
-true
であり、定期通知である場合、fixed-rate実行スキームでスケジュールされる。false
であり、定期通知である場合、fixed-delay実行スキームでスケジュールされる。 定期通知でない場合は無視される。- 戻り値:
- 新しく作成されたタイマー通知の識別子。
- 例外:
IllegalArgumentException
- 日付がnull
であるか、間隔または発行数が負の値の場合。- 関連項目:
-
addNotification
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
、インタフェースTimerMBean
- パラメータ:
type
- タイマー通知タイプ。message
- タイマー通知の詳細メッセージ。userData
- タイマー通知のユーザー・データ・オブジェクト。date
- 通知が発行される日付。period
- タイマー通知の間隔(ミリ秒)。nbOccurences
- 発行されるタイマー通知の合計数。- 戻り値:
- 新しく作成されたタイマー通知の識別子。
- 例外:
IllegalArgumentException
- 日付がnull
であるか、間隔または発行数が負の値の場合。- 関連項目:
-
addNotification
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
、インタフェースTimerMBean
- パラメータ:
type
- タイマー通知タイプ。message
- タイマー通知の詳細メッセージ。userData
- タイマー通知のユーザー・データ・オブジェクト。date
- 通知が発行される日付。period
- タイマー通知の間隔(ミリ秒)。- 戻り値:
- 新しく作成されたタイマー通知の識別子。
- 例外:
IllegalArgumentException
- 日付がnull
であるか、間隔が負の値の場合。
-
addNotification
public Integer addNotification(String type, String message, Object userData, Date date) throws IllegalArgumentException 指定されたtype
、message
、およびuserData
で新しいタイマー通知を作成し、これを指定の日付、間隔null、およびオカレンス数とともに通知リストに挿入します。タイマー通知は指定された日付にまとめて処理されます。
挿入されるタイマー通知の日付が現在の日付より前の場合、このメソッドは、指定された日付が現在の日付であるとして動作します。通知はただちに配信されます。
- 定義:
addNotification
、インタフェースTimerMBean
- パラメータ:
type
- タイマー通知タイプ。message
- タイマー通知の詳細メッセージ。userData
- タイマー通知のユーザー・データ・オブジェクト。date
- 通知が発行される日付。- 戻り値:
- 新しく作成されたタイマー通知の識別子。
- 例外:
IllegalArgumentException
- 日付がnull
である場合。
-
removeNotification
public void removeNotification(Integer id) throws InstanceNotFoundException 指定された識別子に対応するタイマー通知を通知リストから削除します。- 定義:
removeNotification
、インタフェースTimerMBean
- パラメータ:
id
- タイマー通知識別子。- 例外:
InstanceNotFoundException
- このタイマーMBeanの通知リスト内に、指定された識別子に対応するタイマー通知が存在しない。
-
removeNotifications
public void removeNotifications(String type) throws InstanceNotFoundException 指定されたタイプに対応するすべてのタイマー通知を通知リストから削除します。- 定義:
removeNotifications
、インタフェースTimerMBean
- パラメータ:
type
- タイマー通知タイプ。- 例外:
InstanceNotFoundException
- このタイマーMBeanの通知リスト内に、指定されたタイプに対応するタイマー通知が存在しない。
-
removeAllNotifications
public void removeAllNotifications()通知リストからすべてのタイマー通知を削除し、タイマー通知識別子を更新するためのカウンタをリセットします。- 定義:
removeAllNotifications
、インタフェースTimerMBean
-
getNbNotifications
public int getNbNotifications()通知リストに登録されているタイマー通知の数を取得します。- 定義:
getNbNotifications
、インタフェースTimerMBean
- 戻り値:
- タイマー通知の数。
-
getAllNotificationIDs
通知リストに登録されているすべてのタイマー通知識別子を取得します。- 定義:
getAllNotificationIDs
、インタフェースTimerMBean
- 戻り値:
- すべてのタイマー通知識別子を含む
Integer
オブジェクトのベクトル。
このタイマーMBeanにタイマー通知が登録されていない場合は空。
-
getNotificationIDs
指定されたタイプに対応するすべてのタイマー通知識別子を取得します。- 定義:
getNotificationIDs
、インタフェースTimerMBean
- パラメータ:
type
- タイマー通知タイプ。- 戻り値:
- 指定された
type
のすべてのタイマー通知識別子を含むInteger
オブジェクトのベクトル。
このタイマーMBeanに指定されたtype
のタイマー通知が登録されていない場合は空。
-
getNotificationType
指定された識別子に対応するタイマー通知タイプを取得します。- 定義:
getNotificationType
、インタフェースTimerMBean
- パラメータ:
id
- タイマー通知識別子。- 戻り値:
- タイマー通知タイプ。識別子がこのタイマーMBeanに登録されたタイマー通知に対応していない場合はnull。
-
getNotificationMessage
指定された識別子に対応するタイマー通知の詳細メッセージを取得します。- 定義:
getNotificationMessage
、インタフェースTimerMBean
- パラメータ:
id
- タイマー通知識別子。- 戻り値:
- タイマー通知の詳細メッセージ。識別子がこのタイマーMBeanに登録されたタイマー通知に対応していない場合はnull。
-
getNotificationUserData
指定された識別子に対応するタイマー通知のユーザー・データ・オブジェクトを取得します。- 定義:
getNotificationUserData
、インタフェースTimerMBean
- パラメータ:
id
- タイマー通知識別子。- 戻り値:
- タイマー通知のユーザー・データ・オブジェクト。識別子がこのタイマーMBeanに登録されたタイマー通知に対応していない場合はnull。
-
getDate
タイマー通知に関連付けられている日付のコピーを取得します。- 定義:
getDate
、インタフェースTimerMBean
- パラメータ:
id
- タイマー通知識別子。- 戻り値:
- 日付のコピー。識別子がこのタイマーMBeanに登録されたタイマー通知に対応していない場合はnull。
-
getPeriod
タイマー通知に関連付けられている間隔(ミリ秒)のコピーを取得します。- 定義:
getPeriod
、インタフェースTimerMBean
- パラメータ:
id
- タイマー通知識別子。- 戻り値:
- 間隔のコピー。識別子がこのタイマーMBeanに登録されたタイマー通知に対応していない場合はnull。
-
getNbOccurences
タイマー通知に関連付けられている残りの発行数のコピーを取得します。- 定義:
getNbOccurences
、インタフェースTimerMBean
- パラメータ:
id
- タイマー通知識別子。- 戻り値:
- 残りの発行数のコピー。識別子がこのタイマーMBeanに登録されたタイマー通知に対応していない場合はnull。
-
getFixedRate
定期通知をfixed-delayで実行するかfixed-rateで実行するかを示すフラグのコピーを取得します。- 定義:
getFixedRate
、インタフェースTimerMBean
- パラメータ:
id
- タイマー通知識別子。- 戻り値:
- 定期通知をfixed-delayで実行するかfixed-rateで実行するかを示すフラグのコピー。
-
getSendPastNotifications
public boolean getSendPastNotifications()タイマーが過去の通知を送信するかどうかを示すフラグを取得します。
過去の通知を送信するかどうかを指定するフラグのデフォルト値はfalse
です。- 定義:
getSendPastNotifications
、インタフェースTimerMBean
- 戻り値:
- 過去の通知を送信するかどうかを指定するフラグ値。
- 関連項目:
-
setSendPastNotifications
public void setSendPastNotifications(boolean value) タイマーが過去の通知を送信するかどうかを示すフラグを設定します。
過去の通知を送信するかどうかを指定するフラグのデフォルト値はfalse
です。- 定義:
setSendPastNotifications
、インタフェースTimerMBean
- パラメータ:
value
- 過去の通知を送信するかどうかを指定するフラグ値。- 関連項目:
-
isActive
public boolean isActive()タイマーMBeanがアクティブかどうかをテストします。 タイマーMBeanは、start
メソッドが呼び出されるとアクティブになります。stop
メソッドが呼び出されると非アクティブになります。
アクティブと非アクティブの切替えフラグのデフォルト値はfalse
です。- 定義:
isActive
、インタフェースTimerMBean
- 戻り値:
- タイマーMBeanがアクティブな場合は
true
、そうでない場合はfalse
。
-
isEmpty
public boolean isEmpty()タイマー通知のリストが空かどうかを判定します。- 定義:
isEmpty
、インタフェースTimerMBean
- 戻り値:
- タイマー通知のリストが空の場合は
true
、そうでない場合はfalse
。
-