java类javax.management.timer.Timer的实例源码

StartTest.java 文件源码 项目:OLD-OpenJDK8 阅读 18 收藏 0 点赞 0 评论 0
public static void main(String[] args) throws Exception {
    System.out.println(
        ">>> Test on timer start method with past notifications.");

    System.out.println(">>> Create a Timer object.");
    Timer timer = new Timer();

    System.out.println(
        ">>> Set the flag (setSendPastNotification) to true.");
    timer.setSendPastNotifications(true);

    timer.addNotificationListener(myListener, null, null);

    System.out.println(">>> Add notifications: " + SENT);

    Date date = new Date();
    for (int i = 0; i < SENT; i++) {
        timer.addNotification(
            "testType" + i, "testMsg" + i, "testData" + i, date);
    }

    System.out.println(">>> The notifications should be sent at " + date);
    System.out.println(">>> Sleep 100 ms to have past notifications.");
    Thread.sleep(100);

    System.out.println(">>> Start the timer at " + new Date());
    timer.start();

    System.out.println(">>> Stop the timer.");
    Thread.sleep(100);
    stopping = true;
    timer.stop();

    if (received != SENT) {
        throw new RuntimeException(
            "Expected to receive " + SENT + " but got " + received);
    }

    System.out.println(">>> Received all expected notifications.");

    System.out.println(">>> Bye bye!");
}
MissingNotificationTest.java 文件源码 项目:OLD-OpenJDK8 阅读 18 收藏 0 点赞 0 评论 0
public static void main(String[] args) throws Exception {
    System.out.println(
        ">>> Test for missing notifications.");

    System.out.println(">>> Create a Timer object.");
    final Timer timer = new Timer();

    timer.start();

    NotifListener listener = new NotifListener();
    timer.addNotificationListener(listener, null, null);

    ExecutorService executor = Executors.newFixedThreadPool(100);
    final Random rand = new Random();


    for (int i = 0; i < TASK_COUNT; i++) {
        executor.execute(new Runnable() {
            public void run() {
                long dateMillis = System.currentTimeMillis() + fixedDelay + rand.nextInt(2000);
                Date date = new Date(dateMillis);
                timer.addNotification("type", "msg", "userData", date);
            }
        });

    }

    executor.shutdown();
    executor.awaitTermination(20, TimeUnit.SECONDS);

    waitForNotificationsToEnd(listener);

    timer.stop();

    if (listener.count < TASK_COUNT) {
        throw new RuntimeException("Not fired: " + (TASK_COUNT - listener.count));
    } else {
        System.out.println(">>> All notifications handled OK");
    }

    System.out.println(">>> Bye bye!");
}
StartTest.java 文件源码 项目:JAVA_UNIT 阅读 16 收藏 0 点赞 0 评论 0
public static void main(String[] args) throws Exception {
    System.out.println(
        ">>> Test on timer start method with past notifications.");

    System.out.println(">>> Create a Timer object.");
    Timer timer = new Timer();

    System.out.println(
        ">>> Set the flag (setSendPastNotification) to true.");
    timer.setSendPastNotifications(true);

    timer.addNotificationListener(myListener, null, null);

    System.out.println(">>> Add notifications: " + SENT);

    Date date = new Date();
    for (int i = 0; i < SENT; i++) {
        timer.addNotification(
            "testType" + i, "testMsg" + i, "testData" + i, date);
    }

    System.out.println(">>> The notifications should be sent at " + date);
    System.out.println(">>> Sleep 100 ms to have past notifications.");
    Thread.sleep(100);

    System.out.println(">>> Start the timer at " + new Date());
    timer.start();

    System.out.println(">>> Stop the timer.");
    Thread.sleep(100);
    stopping = true;
    timer.stop();

    if (received != SENT) {
        throw new RuntimeException(
            "Expected to receive " + SENT + " but got " + received);
    }

    System.out.println(">>> Received all expected notifications.");

    System.out.println(">>> Bye bye!");
}
StartTest.java 文件源码 项目:openjdk-jdk7u-jdk 阅读 16 收藏 0 点赞 0 评论 0
public static void main(String[] args) throws Exception {
    System.out.println(
        ">>> Test on timer start method with past notifications.");

    System.out.println(">>> Create a Timer object.");
    Timer timer = new Timer();

    System.out.println(
        ">>> Set the flag (setSendPastNotification) to true.");
    timer.setSendPastNotifications(true);

    timer.addNotificationListener(myListener, null, null);

    System.out.println(">>> Add notifications: " + SENT);

    Date date = new Date();
    for (int i = 0; i < SENT; i++) {
        timer.addNotification(
            "testType" + i, "testMsg" + i, "testData" + i, date);
    }

    System.out.println(">>> The notifications should be sent at " + date);
    System.out.println(">>> Sleep 100 ms to have past notifications.");
    Thread.sleep(100);

    System.out.println(">>> Start the timer at " + new Date());
    timer.start();

    System.out.println(">>> Stop the timer.");
    Thread.sleep(100);
    stopping = true;
    timer.stop();

    if (received != SENT) {
        throw new RuntimeException(
            "Expected to receive " + SENT + " but got " + received);
    }

    System.out.println(">>> Received all expected notifications.");

    System.out.println(">>> Bye bye!");
}
QuerySubscriptionTriggered.java 文件源码 项目:oliot-epcis 阅读 20 收藏 0 点赞 0 评论 0
/**
 * {@inheritDoc} First checks on the trigger condition: if fulfilled then
 * execute Query.
 * 
 * @see org.fosstrak.epcis.repository.query.QuerySubscriptionScheduled#handleNotification(javax.management.Notification,
 *      java.lang.Object)
 */
@Override
public void handleNotification(final Notification pNotification, final Object pHandback) {
    if (pHandback == null) {
        LOG.error("The timer stating the next scheduled query execution time is null!");
        return;
    }
    Timer timer = (Timer) pHandback;

    if (!doItAgain.booleanValue()) {
        timer.stop();
    } else {
        try {
            LOG.debug("Checking trigger condition ...");
            String queryName = "SimpleEventQuery";
            QueryParams params = new QueryParams();

            // add MATCH_anyEPC query param
            QueryParam param = new QueryParam();
            param.setName("MATCH_anyEPC");
            ArrayOfString strings = new ArrayOfString();
            strings.getString().add(trigger);
            param.setValue(strings);
            params.getParam().add(param);

            // add GE_recordTime query param
            param = new QueryParam();
            param.setName("GE_recordTime");
            param.setValue(initialRecordTime);
            params.getParam().add(param);

            // send the query
            Poll poll = new Poll();
            poll.setParams(params);
            poll.setQueryName(queryName);
            QueryResults results = executePoll(poll);
            if (results != null && results.getResultsBody() != null
                    && results.getResultsBody().getEventList() != null) {
                LOG.debug("Trigger condition fulfilled!");
                LOG.debug("Executing subscribed query associated with trigger event ...");
                super.executeQuery();
                LOG.debug("Triggered query successfully executed!");
            }
        } catch (Exception e) {
            String msg = "An error occurred while checking trigger condition for query with subscriptionID '"
                    + subscriptionID + "': " + e.getMessage();
            LOG.error(msg, e);
        }

        // determine next scheduled execution time
        setNextScheduledExecutionTime(timer);
    }
}
StartTest.java 文件源码 项目:openjdk-icedtea7 阅读 18 收藏 0 点赞 0 评论 0
public static void main(String[] args) throws Exception {
    System.out.println(
        ">>> Test on timer start method with past notifications.");

    System.out.println(">>> Create a Timer object.");
    Timer timer = new Timer();

    System.out.println(
        ">>> Set the flag (setSendPastNotification) to true.");
    timer.setSendPastNotifications(true);

    timer.addNotificationListener(myListener, null, null);

    System.out.println(">>> Add notifications: " + SENT);

    Date date = new Date();
    for (int i = 0; i < SENT; i++) {
        timer.addNotification(
            "testType" + i, "testMsg" + i, "testData" + i, date);
    }

    System.out.println(">>> The notifications should be sent at " + date);
    System.out.println(">>> Sleep 100 ms to have past notifications.");
    Thread.sleep(100);

    System.out.println(">>> Start the timer at " + new Date());
    timer.start();

    System.out.println(">>> Stop the timer.");
    Thread.sleep(100);
    stopping = true;
    timer.stop();

    if (received != SENT) {
        throw new RuntimeException(
            "Expected to receive " + SENT + " but got " + received);
    }

    System.out.println(">>> Received all expected notifications.");

    System.out.println(">>> Bye bye!");
}
JMXControlServiceTest.java 文件源码 项目:quarks 阅读 21 收藏 0 点赞 0 评论 0
@Test
public void testControlObject() throws Exception {

    ControlService cs = new JMXControlService(DOMAIN, new Hashtable<>());

    String type = "timer";
    String id = "a";
    String alias = "ControlA";
    String controlId = cs.registerControl(type, id, alias, TimerMBean.class, new Timer());

    assertNotNull(controlId);

    ObjectName on = ObjectName.getInstance(controlId);

    assertEquals(DOMAIN, on.getDomain());

    assertEquals(type, ObjectName.unquote(on.getKeyProperty("type")));
    assertEquals(id, ObjectName.unquote(on.getKeyProperty("id")));
    assertEquals(alias, ObjectName.unquote(on.getKeyProperty("alias")));
    assertEquals(TimerMBean.class.getName(), ObjectName.unquote(on.getKeyProperty("interface")));

    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

    assertTrue(mbs.isRegistered(on));

    cs.unregister(controlId);
    assertFalse(mbs.isRegistered(on));  
}
JMXControlServiceTest.java 文件源码 项目:quarks 阅读 18 收藏 0 点赞 0 评论 0
@Test
public void testAdditionalKeys() throws Exception {

    Hashtable<String,String> addKeys = new Hashtable<>();
    addKeys.put("job", "jobid");
    addKeys.put("device", ObjectName.quote("pi"));

    ControlService cs = new JMXControlService(DOMAIN, addKeys);

    String type = "timer";
    String id = "a";
    String alias = "ControlA";
    String controlId = cs.registerControl(type, id, alias, TimerMBean.class, new Timer());

    assertNotNull(controlId);

    ObjectName on = ObjectName.getInstance(controlId);

    assertEquals(DOMAIN, on.getDomain());

    assertEquals(type, ObjectName.unquote(on.getKeyProperty("type")));
    assertEquals(id, ObjectName.unquote(on.getKeyProperty("id")));
    assertEquals(alias, ObjectName.unquote(on.getKeyProperty("alias")));
    assertEquals(TimerMBean.class.getName(), ObjectName.unquote(on.getKeyProperty("interface")));

    assertEquals("jobid", on.getKeyProperty("job"));
    assertEquals("pi", ObjectName.unquote(on.getKeyProperty("device")));


    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();

    assertTrue(mbs.isRegistered(on));

    cs.unregister(controlId);
    assertFalse(mbs.isRegistered(on));  
}


问题


面经


文章

微信
公众号

扫码关注公众号