Spec-Zone .ru
спецификации, руководства, описания, API
|
public class Timer extends NotificationBroadcasterSupport implements TimerMBean, MBeanRegistration
Этот class управляет списком датированных уведомлений о таймере. Метод позволяет пользователям добавлять/удалять так много уведомлений как требуется. Когда уведомление о таймере испускается таймером и становится устаревшим, это автоматически удаляется из списка уведомлений о таймере.
Дополнительные уведомления о таймере могут быть добавлены в регулярно повторяющиеся уведомления.
Отметьте:
Timer
class загружается. Слушатели могут получить несвоевременные уведомления, если у их узла есть различная системная дата. Чтобы избежать таких проблем, синхронизируйте системную дату всех хост-машин, где синхронизация необходима. Timer
. Чтобы использовать выполнение с фиксированной процентной ставкой, используйте перегруженный addNotification(String, String, Object, Date, long, long, boolean)
метод. NotificationBroadcasterSupport
. Модификатор и Тип | Поле и Описание |
---|---|
static long |
ONE_DAY
Число миллисекунд через один день.
|
static long |
ONE_HOUR
Число миллисекунд через один час.
|
static long |
ONE_MINUTE
Число миллисекунд через одну минуту.
|
static long |
ONE_SECOND
Число миллисекунд через одну секунду.
|
static long |
ONE_WEEK
Число миллисекунд через одну неделю.
|
Конструктор и Описание |
---|
Timer()
Конструктор по умолчанию.
|
Модификатор и Тип | Метод и Описание |
---|---|
Целое число |
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 и вставляет это в список уведомлений с данной датой, период и число возникновений. |
Vector<Integer> |
getAllNotificationIDs()
Получает все идентификаторы уведомления о таймере, зарегистрированные в список уведомлений.
|
Дата |
getDate(Integer id)
Получает копию даты, связанной с уведомлением о таймере.
|
Булев |
getFixedRate(Integer id)
Получает копию флага, указывающего, выполняется ли периодическое уведомление в фиксированной задержке или в с фиксированной процентной ставкой.
|
int |
getNbNotifications()
Получает число уведомлений о таймере, зарегистрированных в список уведомлений.
|
Долго |
getNbOccurences(Integer id)
Получает копию остающегося числа возникновений, связанных с уведомлением о таймере.
|
Vector<Integer> |
getNotificationIDs(String type)
Получает все идентификаторы уведомлений о таймере, соответствующих указанному типу.
|
MBeanNotificationInfo[] |
getNotificationInfo()
Возвращает указание массива, для каждого уведомления, которое этот MBean может отправить, имя Java class уведомления и типа уведомления.
|
Строка |
getNotificationMessage(Integer id)
Получает уведомление о таймере детализированное сообщение, соответствующее указанному идентификатору.
|
Строка |
getNotificationType(Integer id)
Получает тип уведомления о таймере, соответствующий указанному идентификатору.
|
Объект |
getNotificationUserData(Integer id)
Получает пользовательский объект данных уведомления о таймере, соответствующий указанному идентификатору.
|
Долго |
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. Ложь значения означает, что регистрационная фаза перестала работать.public void preDeregister() throws Exception
Останавливает таймер.
preDeregister
в интерфейсе MBeanRegistration
Exception
public void postDeregister()
Не используемый в этом контексте.
postDeregister
в интерфейсе MBeanRegistration
public MBeanNotificationInfo[] getNotificationInfo()
NotificationBroadcaster
Возвращает указание массива, для каждого уведомления, которое этот MBean может отправить, имя Java class уведомления и типа уведомления.
Это не недопустимо для MBean, чтобы отправить уведомления, не описанные в этом массиве. Однако, некоторые клиенты сервера MBean могут зависеть от массива, являющегося полным для их корректного функционирования.
getNotificationInfo
в интерфейсе NotificationBroadcaster
getNotificationInfo
в class NotificationBroadcasterSupport
public void start()
Если есть одно или более уведомлений о таймере прежде, чем время в списке уведомлений, уведомление будет отправлено согласно 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
и вставляет это в список уведомлений с данной датой, период и число возникновений. Если у уведомления о таймере, которое будет вставлено, есть дата, которая является перед текущей датой ведет себя метод, как будто указанная дата была текущей датой.
Поскольку некогда от уведомлений, уведомление сразу поставляется.
Для периодических уведомлений первое уведомление сразу поставляется, и последующие располагаются с интервалами как определено параметром периода.
Отметьте, что, как только уведомление о таймере было добавлено в список уведомлений, его связанная дата, период и число возникновений не может быть обновлена.
В случае периодического уведомления значение параметра, с фиксированной процентной ставкой, используется, чтобы определить схему выполнения, как определено в Timer
.
addNotification
в интерфейсе TimerMBean
type
- Тип уведомления о таймере.message
- Уведомление о таймере детализированное сообщение.userData
- Пользовательский объект данных уведомления о таймере.date
- Дата, когда уведомление происходит.period
- Период уведомления о таймере (в миллисекундах).nbOccurences
- Общее количество уведомление о таймере будет испускаться.fixedRate
- Если true
и если уведомление будет периодическим, то уведомление планируется со схемой выполнения с фиксированной процентной ставкой. Если false
и если уведомление будет периодическим, то уведомление планируется со схемой выполнения фиксированной задержки. Проигнорированный, если уведомление не является периодическим.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
и вставляет это в список уведомлений с данной датой, период и число возникновений. Если у уведомления о таймере, которое будет вставлено, есть дата, которая является перед текущей датой ведет себя метод, как будто указанная дата была текущей датой.
Поскольку некогда от уведомлений, уведомление сразу поставляется.
Для периодических уведомлений первое уведомление сразу поставляется, и последующие располагаются с интервалами как определено параметром периода.
Отметьте, что, как только уведомление о таймере было добавлено в список уведомлений, его связанная дата, период и число возникновений не может быть обновлена.
В случае периодического уведомления, использует схему выполнения фиксированной задержки, как определено в Timer
. Чтобы использовать схему выполнения с фиксированной процентной ставкой, использовать 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
и вставляет это в список уведомлений с данной датой и период и нулевое число возникновений. Уведомление о таймере повторит непрерывно использование периода таймера, используя схему выполнения фиксированной задержки, как определено в Timer
. Чтобы использовать схему выполнения с фиксированной процентной ставкой, использовать 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
и вставляет это в список уведомлений с данной датой и нулевой период и число возникновений. Уведомление о таймере будет обработано однажды в указанной дате.
Если у уведомления о таймере, которое будет вставлено, есть дата, которая является перед текущей датой ведет себя метод, как будто указанная дата была текущей датой, и уведомление сразу поставляется.
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
- Тип уведомления о таймере.Integer
объекты, содержащие все идентификаторы уведомлений о таймере с указанным type
. 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
если таймер MBean является активным, false
иначе.public boolean isEmpty()
isEmpty
в интерфейсе TimerMBean
true
если список уведомлений о таймере пуст, false
иначе.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92