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, sendNotification
public 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
、インタフェース: MBeanRegistration
server
- MBean サーバー。タイマー MBean はここに登録される。name
- タイマー MBean のオブジェクト名。Exception
public void postRegister(Boolean registrationDone)
このコンテキストでは使用しません。
postRegister
、インタフェース: MBeanRegistration
registrationDone
- MBean が MBean サーバーに正常に登録されたかどうかを示す。登録に失敗した場合の値は false。public void preDeregister() throws Exception
タイマーを停止します。
preDeregister
、インタフェース: MBeanRegistration
Exception
public void postDeregister()
このコンテキストでは使用しません。
postDeregister
、インタフェース: MBeanRegistration
public MBeanNotificationInfo[] getNotificationInfo()
NotificationBroadcaster
この MBean が送信する可能性のある各通知について、その通知の Java クラス名と通知タイプを示す配列を返します。
この配列に記述されていない通知を MBean が送信しても、不正ではありません。ただし一部の MBean サーバークライアントは、正しく機能するために、作成される配列に依存する場合があります。
getNotificationInfo
、インタフェース: NotificationBroadcaster
getNotificationInfo
、クラス: NotificationBroadcasterSupport
public void start()
通知リスト内に、その時間より前に発行されたタイマー通知が 1 つ以上ある場合、この通知は sendPastNotifications
フラグに従って送信され、間隔と残りの発行数に従って更新されます。タイマー通知の日付が現在の日付より前の場合、この通知は通知リストから削除されます。
start
、インタフェース: TimerMBean
public void stop()
stop
、インタフェース: TimerMBean
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(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
、インタフェース: TimerMBean
type
- タイマー通知タイプ。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
、インタフェース: TimerMBean
type
- タイマー通知タイプ。message
- タイマー通知の詳細メッセージ。userData
- タイマー通知のユーザーデータオブジェクト。date
- 通知が発行される日付。period
- タイマー通知の間隔 (ミリ秒)。IllegalArgumentException
- 日付が null
であるか、間隔が負の値の場合。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
である場合。public void removeNotification(Integer id) throws InstanceNotFoundException
removeNotification
、インタフェース: TimerMBean
id
- タイマー通知識別子。InstanceNotFoundException
- このタイマー MBean の通知リスト内に、指定された識別子に対応するタイマー通知が存在しない。public void removeNotifications(String type) throws InstanceNotFoundException
removeNotifications
、インタフェース: TimerMBean
type
- タイマー通知タイプ。InstanceNotFoundException
- このタイマー MBean の通知リスト内に、指定されたタイプに対応するタイマー通知が存在しない。public void removeAllNotifications()
removeAllNotifications
、インタフェース: TimerMBean
public int getNbNotifications()
getNbNotifications
、インタフェース: TimerMBean
public Vector<Integer> getAllNotificationIDs()
getAllNotificationIDs
、インタフェース: TimerMBean
Integer
オブジェクトのベクトル。public Vector<Integer> getNotificationIDs(String type)
getNotificationIDs
、インタフェース: TimerMBean
type
- タイマー通知タイプ。type
のすべてのタイマー通知識別子を含む Integer
オブジェクトのベクトル。type
のタイマー通知が登録されていない場合は空。public String getNotificationType(Integer id)
getNotificationType
、インタフェース: TimerMBean
id
- タイマー通知識別子。public String getNotificationMessage(Integer id)
getNotificationMessage
、インタフェース: TimerMBean
id
- タイマー通知識別子。public Object getNotificationUserData(Integer id)
getNotificationUserData
、インタフェース: TimerMBean
id
- タイマー通知識別子。public Date getDate(Integer id)
getDate
、インタフェース: TimerMBean
id
- タイマー通知識別子。public Long getPeriod(Integer id)
getPeriod
、インタフェース: TimerMBean
id
- タイマー通知識別子。public Long getNbOccurences(Integer id)
getNbOccurences
、インタフェース: TimerMBean
id
- タイマー通知識別子。public Boolean getFixedRate(Integer id)
getFixedRate
、インタフェース: TimerMBean
id
- タイマー通知識別子。public boolean getSendPastNotifications()
false
です。getSendPastNotifications
、インタフェース: TimerMBean
setSendPastNotifications(boolean)
public void setSendPastNotifications(boolean value)
false
です。setSendPastNotifications
、インタフェース: TimerMBean
value
- 過去の通知を送信するかどうかを指定するフラグ値。getSendPastNotifications()
public boolean isActive()
start
メソッドが呼び出されるとアクティブになります。stop
メソッドが呼び出されると非アクティブになります。false
です。isActive
、インタフェース: TimerMBean
true
、そうでない場合は false
。public boolean isEmpty()
isEmpty
、インタフェース: TimerMBean
true
、そうでない場合は false
。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.