- 所有已实现的接口:
MBeanRegistration
,NotificationBroadcaster
,NotificationEmitter
,TimerMBean
此类管理过时计时器通知列表。一种方法允许用户根据需要添加/删除尽可能多的通知。当计时器发出计时器通知并变得过时时,它会自动从计时器通知列表中删除。
可以将额外的计时器通知添加到定期重复的通知中。
笔记:
- 发送定时器通知时,无论通知类型如何,定时器都会更新通知序列号。
- 计时器服务依赖于加载
Timer
类的主机的系统日期。如果他们的主机有不同的系统日期,听众可能会收到不合时宜的通知。为避免此类问题,请同步所有需要计时的主机的系统日期。 - 定期通知的默认行为是固定延迟执行,如
Timer
中所述。为了使用固定利率执行使用重载的addNotification(String, String, Object, Date, long, long, boolean)
方法。 - 通知监听器可能都在同一个线程中执行。因此,它们应该快速执行以避免阻碍其他监听器或扰乱固定延迟执行的规律性。参见
NotificationBroadcasterSupport
。
- 自从:
- 1.5
-
字段摘要
字段修饰符和类型Field描述static final long
一天中的毫秒数。static final long
一小时内的毫秒数。static final long
一分钟内的毫秒数。static final long
一秒内的毫秒数。static final long
一周内的毫秒数。 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述addNotification
(String type, String message, Object userData, Date date) 使用指定的type
、message
和userData
创建一个新的计时器通知,并将其插入到具有给定日期、空周期和出现次数的通知列表中。addNotification
(String type, String message, Object userData, Date date, long period) 使用指定的type
、message
和userData
创建新的计时器通知,并将其插入到具有给定日期和时间段以及出现次数为空的通知列表中。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) 获取标志的副本,指示是否在执行定期通知固定延迟或固定利率.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()
停止计时器。
-
字段详细信息
-
ONE_SECOND
public static final long ONE_SECOND一秒内的毫秒数。addNotification
方法的有用常量。- 参见:
-
ONE_MINUTE
public static final long ONE_MINUTE一分钟内的毫秒数。addNotification
方法的有用常量。- 参见:
-
ONE_HOUR
public static final long ONE_HOUR一小时内的毫秒数。addNotification
方法的有用常量。- 参见:
-
ONE_DAY
public static final long ONE_DAY一天中的毫秒数。addNotification
方法的有用常量。- 参见:
-
ONE_WEEK
public static final long ONE_WEEK一周内的毫秒数。addNotification
方法的有用常量。- 参见:
-
-
构造方法详细信息
-
Timer
public Timer()默认构造方法。
-
-
方法详情
-
preRegister
允许计时器 MBean 在注册到 MBean 服务之前执行它需要的任何操作。不在此上下文中使用。
- 指定者:
preRegister
在接口MBeanRegistration
中- 参数:
server
- 将在其中注册计时器 MBean 的 MBean 服务。name
- 计时器 MBean 的对象名称。- 返回:
- 已注册的计时器 MBean 的名称。
- 抛出:
Exception
- 如果出现问题
-
postRegister
允许计时器 MBean 在 MBean 服务中注册后或注册失败后执行所需的任何操作。不在此上下文中使用。
- 指定者:
postRegister
在接口MBeanRegistration
中- 参数:
registrationDone
- 指示 MBean 是否已在 MBean 服务中成功注册。值 false 表示注册阶段失败。
-
preDeregister
允许计时器 MBean 在被 MBean 服务注销之前执行它需要的任何操作。停止计时器。
- 指定者:
preDeregister
在接口MBeanRegistration
中- 抛出:
Exception
- 如果出现问题
-
postDeregister
public void postDeregister()允许计时器 MBean 在被 MBean 服务注销后执行任何需要的操作。不在此上下文中使用。
- 指定者:
postDeregister
在接口MBeanRegistration
中
-
start
public void start()启动定时器。如果通知列表中时间之前有一个或多个定时器通知,则根据
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
创建新的计时器通知,并将其插入到具有给定日期、周期和发生次数的通知列表中。如果要插入的计时器通知的日期早于当前日期,则该方法的行为就像指定日期是当前日期一样。
对于一次性通知,会立即发送通知。
对于周期性通知,第一个通知会立即发送,后续通知的间隔时间由 period 参数指定。请注意,一旦将计时器通知添加到通知列表中,其关联的日期、周期和发生次数将无法更新。
在定期通知的情况下,参数的值固定利率用于指定执行方案,如
Timer
中所指定。- 指定者:
addNotification
在接口TimerMBean
中- 参数:
type
- 计时器通知类型。message
- 计时器通知详细信息。userData
- 计时器通知用户数据对象。date
- 通知发生的日期。period
- 计时器通知的周期(以毫秒为单位)。nbOccurences
- 计时器通知将发出的总数。fixedRate
- 如果true
并且通知是周期性的,则通知会安排在固定利率执行方案。如果false
并且通知是周期性的,则通知会安排在固定延迟执行方案。如果通知不是定期的,则忽略。- 返回:
- 新创建的定时器通知的标识符。
- 抛出:
IllegalArgumentException
- 日期为null
或周期或出现次数为负数。- 参见:
-
addNotification
public Integer addNotification(String type, String message, Object userData, Date date, long period, long nbOccurences) throws IllegalArgumentException 使用指定的type
、message
和userData
创建新的计时器通知,并将其插入到具有给定日期、周期和发生次数的通知列表中。如果要插入的计时器通知的日期早于当前日期,则该方法的行为就像指定日期是当前日期一样。
对于一次性通知,会立即发送通知。
对于周期性通知,第一个通知会立即发送,后续通知的间隔时间由 period 参数指定。请注意,一旦将计时器通知添加到通知列表中,其关联的日期、周期和发生次数将无法更新。
在定期通知的情况下,使用固定延迟
Timer
中指定的执行方案。为了使用固定利率执行方案,请改用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
创建新的计时器通知,并将其插入到具有给定日期和时间段以及出现次数为空的通知列表中。定时器通知将使用定时器周期连续重复固定延迟
Timer
中指定的执行方案。为了使用固定利率执行方案,请改用addNotification(String, String, Object, Date, long, long, boolean)
。如果要插入的计时器通知的日期早于当前日期,则该方法的行为就像指定日期是当前日期一样。第一个通知立即发送,随后的通知间隔由 period 参数指定。
- 指定者:
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
创建一个新的计时器通知,并将其插入到具有给定日期、空周期和出现次数的通知列表中。定时器通知将在指定日期处理一次。
如果要插入的计时器通知的日期早于当前日期,则该方法的行为就像指定的日期是当前日期一样,并且会立即发送通知。
- 指定者:
addNotification
在接口TimerMBean
中- 参数:
type
- 计时器通知类型。message
- 计时器通知详细信息。userData
- 计时器通知用户数据对象。date
- 通知发生的日期。- 返回:
- 新创建的定时器通知的标识符。
- 抛出:
IllegalArgumentException
- 日期是null
。
-
removeNotification
从通知列表中删除与指定标识符对应的计时器通知。- 指定者:
removeNotification
在接口TimerMBean
中- 参数:
id
- 计时器通知标识符。- 抛出:
InstanceNotFoundException
- 指定的标识符不对应于此计时器 MBean 的通知列表中的任何计时器通知。
-
removeNotifications
从通知列表中删除与指定类型对应的所有计时器通知。- 指定者:
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
- 计时器通知类型。- 返回:
Integer
对象的向量,包含具有指定type
的计时器通知的所有标识符。
如果没有为具有指定type
的此计时器 MBean 注册的计时器通知,则向量为空。
-
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
获取标志的副本,指示是否在执行定期通知固定延迟或固定利率.- 指定者:
getFixedRate
在接口TimerMBean
中- 参数:
id
- 计时器通知标识符。- 返回:
- 标志的副本,指示是否执行定期通知固定延迟或固定利率.
-
getSendPastNotifications
public boolean getSendPastNotifications()获取指示计时器是否发送过去通知的标志。
过去通知发送开/关标志的默认值为false
。- 指定者:
getSendPastNotifications
在接口TimerMBean
中- 返回:
- 过去的通知发送开/关标志值。
- 参见:
-
setSendPastNotifications
public void setSendPastNotifications(boolean value) 设置指示计时器是否发送过去通知的标志。
过去通知发送开/关标志的默认值为false
。- 指定者:
setSendPastNotifications
在接口TimerMBean
中- 参数:
value
- 过去的通知发送开/关标志值。- 参见:
-
isActive
public boolean isActive()- 指定者:
isActive
在接口TimerMBean
中- 返回:
true
如果计时器 MBean 处于活动状态,false
否则。
-
isEmpty
public boolean isEmpty()测试定时器通知列表是否为空。- 指定者:
isEmpty
在接口TimerMBean
中- 返回:
true
如果计时器通知列表为空,false
否则。
-