📄 timernotify.java
字号:
package com.liuyang.jmx.mbeans.timernotify;
import java.util.Date;
import javax.management.JMException;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
import javax.management.NotificationFilter;
import javax.management.ObjectName;
import javax.management.timer.Timer;
public class TimerNotify {
public static String MESSAGETYPE = "重要通知";
public static void main(String[] args) {
MBeanServer server = MBeanServerFactory.createMBeanServer();
System.out.println("程序启动了!");
try {
ObjectName timer = new ObjectName("book.liuyang:name=timer");
ObjectName receiver = new ObjectName("book.liuyang:name=listener,"+"source=timer");
server.registerMBean(new Timer(), timer);
server.registerMBean(new TimerReceiver(), receiver);
server.invoke(timer, "start", null, null);
Date date = new Date(System.currentTimeMillis() +Timer.ONE_SECOND * 3);
Integer id = (Integer)server.invoke(
timer,
"addNotification",
new Object[] {MESSAGETYPE,"停止这个程序的通知到达了!",null,date},
new String[] {
String.class.getName(),
String.class.getName(),
Object.class.getName(),
Date.class.getName()
}
);
NotificationFilter filter = new TimeNotifyFilter(id);
server.addNotificationListener(timer, receiver, filter, null);
} catch (JMException e) {
e.printStackTrace();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -