类javax.management.timer.Timer源码实例Demo

下面列出了怎么用javax.management.timer.Timer的API类实例代码及写法,或者点击链接到github查看源代码。

/**
 * This method is handles a notification when the Timer for the schedule
 * times out.
 * 
 * @see javax.management.NotificationListener#handleNotification(javax.management.Notification,
 *      java.lang.Object)
 * @param pNotification
 *            The Notification.
 * @param pHandback
 *            A Timer stating the time when the Notification should be
 *            invoked.
 */
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 {
        // execute the query and determine next scheduled execution time
        executeQuery();
        setNextScheduledExecutionTime(timer);
    }
}
 
源代码2 项目: quarks   文件: JMXControlServiceTest.java
@Test(expected=RuntimeException.class)
public void testDoubleRegister() 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());
    try {
        cs.registerControl(type, id, alias, TimerMBean.class, new Timer());
    } finally {
        cs.unregister(controlId);
    }
}
 
源代码3 项目: quarks   文件: JMXControlServiceTest.java
@Test(expected=RuntimeException.class)
public void testDoubleunregister() 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());
    cs.unregister(controlId);
    cs.unregister(controlId);
}
 
源代码4 项目: cacheonix-core   文件: Client.java
public static void main(String[] args) throws Exception
{
   // This JMXServiceURL works only if the connector server is in-VM with
   // the connector. If this is not the case, set the correct host name.
   JMXServiceURL address = new JMXServiceURL("soap", null, 8080, "/jmxconnector");

   // Connect a JSR 160 JMXConnector to the server side
   JMXConnector connector = JMXConnectorFactory.connect(address);

   // Retrieve an MBeanServerConnection that represent the MBeanServer
   // the remote connector server is bound to
   MBeanServerConnection connection = connector.getMBeanServerConnection();

   // Call the server side as if it is a local MBeanServer
   ObjectName delegateName = ObjectName.getInstance("JMImplementation:type=MBeanServerDelegate");
   Object proxy = MBeanServerInvocationHandler.newProxyInstance(connection, delegateName, MBeanServerDelegateMBean.class, true);
   MBeanServerDelegateMBean delegate = (MBeanServerDelegateMBean)proxy;

   System.out.println(delegate.getImplementationVendor() + " is cool !");

   // Register an MBean, and get notifications via the SOAP protocol
   connection.addNotificationListener(delegateName, new NotificationListener()
   {
      public void handleNotification(Notification notification, Object handback)
      {
         System.out.println("Got the following notification: " + notification);
      }
   }, null, null);

   ObjectName timerName = ObjectName.getInstance("services:type=Timer");
   connection.createMBean(Timer.class.getName(), timerName, null);

   // Unregistering the MBean to get another notification
   connection.unregisterMBean(timerName);

   // Allow the unregistration notification to arrive before killing this JVM
   Thread.sleep(1000);

   connector.close();
}
 
源代码5 项目: cacheonix-core   文件: Client.java
public static void main(String[] args) throws Exception
{
   // This JMXServiceURL works only if the connector server is on the same host of
   // the connector. If this is not the case, set the correct host name.
   JMXServiceURL address = new JMXServiceURL("hessian", null, 8080, "/hessian");

   // Connect a JSR 160 JMXConnector to the server side
   JMXConnector connector = JMXConnectorFactory.connect(address);

   // Retrieve an MBeanServerConnection that represent the MBeanServer
   // the remote connector server is bound to
   MBeanServerConnection connection = connector.getMBeanServerConnection();

   // Call the server side as if it is a local MBeanServer
   ObjectName delegateName = ObjectName.getInstance("JMImplementation:type=MBeanServerDelegate");
   Object proxy = MBeanServerInvocationHandler.newProxyInstance(connection, delegateName, MBeanServerDelegateMBean.class, true);
   MBeanServerDelegateMBean delegate = (MBeanServerDelegateMBean)proxy;

   System.out.println(delegate.getImplementationVendor() + " is cool !");

   // Register an MBean, and get notifications via the Hessian protocol
   connection.addNotificationListener(delegateName, new NotificationListener()
   {
      public void handleNotification(Notification notification, Object handback)
      {
         System.out.println("Got the following notification: " + notification);
      }
   }, null, null);

   ObjectName timerName = ObjectName.getInstance("services:type=Timer");
   connection.createMBean(Timer.class.getName(), timerName, null);

   // Unregistering the MBean to get another notification
   connection.unregisterMBean(timerName);

   // Allow the unregistration notification to arrive before killing this JVM
   Thread.sleep(1000);

   connector.close();
}
 
/**
 * Starts a Timer to get this query executed in specific time intervals.
 * 
 * @throws ImplementationException
 *             If the next scheduled date cannot be evaluated.
 */
private void startThread() throws ImplementationExceptionResponse {
    Timer nextAction = new Timer();
    nextAction.addNotificationListener(this, null, nextAction);

    Date nextSchedule = schedule.nextScheduledTime().getTime();
    nextAction.addNotification("SubscriptionSchedule", "Please do the query", null, nextSchedule);
    nextAction.start();
}
 
/**
 * Determines the next scheduled execution time for this subscribed query.
 * 
 * @param timer
 *            The Timer to set the next scheduled time.
 * @throws IllegalArgumentException
 */
protected void setNextScheduledExecutionTime(final Timer timer) throws IllegalArgumentException {
    try {
        Date nextSchedule = schedule.nextScheduledTime().getTime();
        LOG.debug("Next scheduled time for the subscribed query is '" + nextSchedule + "'.");
        timer.addNotification("SubscriptionSchedule", "Please do the query", timer, nextSchedule);
    } catch (ImplementationExceptionResponse e) {
        String msg = "The next scheduled date for the subscribed query with ID '" + getSubscriptionID()
                + "' cannot be evaluated: " + e.getMessage();
        LOG.error(msg, e);
    }
}
 
源代码8 项目: dragonwell8_jdk   文件: StartTest.java
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!");
}
 
源代码9 项目: dragonwell8_jdk   文件: MissingNotificationTest.java
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!");
}
 
源代码10 项目: TencentKona-8   文件: StartTest.java
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!");
}
 
源代码11 项目: TencentKona-8   文件: MissingNotificationTest.java
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!");
}
 
源代码12 项目: jdk8u60   文件: StartTest.java
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!");
}
 
源代码13 项目: jdk8u60   文件: MissingNotificationTest.java
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!");
}
 
源代码14 项目: openjdk-jdk8u   文件: StartTest.java
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!");
}
 
源代码15 项目: openjdk-jdk8u   文件: MissingNotificationTest.java
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!");
}
 
源代码16 项目: openjdk-jdk8u-backup   文件: StartTest.java
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!");
}
 
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!");
}
 
源代码18 项目: openjdk-jdk9   文件: StartTest.java
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!");
}
 
源代码19 项目: openjdk-jdk9   文件: MissingNotificationTest.java
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!");
}
 
源代码20 项目: jdk8u-jdk   文件: StartTest.java
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!");
}
 
源代码21 项目: jdk8u-jdk   文件: MissingNotificationTest.java
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!");
}
 
源代码22 项目: hottub   文件: StartTest.java
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!");
}
 
源代码23 项目: hottub   文件: MissingNotificationTest.java
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!");
}
 
源代码24 项目: openjdk-8-source   文件: StartTest.java
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!");
}
 
源代码25 项目: openjdk-8-source   文件: MissingNotificationTest.java
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!");
}
 
源代码26 项目: openjdk-8   文件: StartTest.java
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!");
}
 
源代码27 项目: openjdk-8   文件: MissingNotificationTest.java
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!");
}
 
源代码28 项目: jdk8u_jdk   文件: StartTest.java
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!");
}
 
源代码29 项目: jdk8u_jdk   文件: MissingNotificationTest.java
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!");
}
 
源代码30 项目: cacheonix-core   文件: Client.java
public static void main(String[] args) throws Exception
{
   // Replace the value with the file path of your keystore.
   // IMPORTANT: this should NOT be done in production environments, it is shown here just as an example.
   System.setProperty("javax.net.ssl.trustStore", "<your-keystore>");

   // This JMXServiceURL works only if the connector server is on the same host of
   // the connector. If this is not the case, set the correct host name.
   JMXServiceURL address = new JMXServiceURL("hessian+ssl", null, 8443, "/hessianssl");

   // Connect a JSR 160 JMXConnector to the server side
   JMXConnector connector = JMXConnectorFactory.connect(address);

   // Retrieve an MBeanServerConnection that represent the MBeanServer
   // the remote connector server is bound to
   MBeanServerConnection connection = connector.getMBeanServerConnection();

   // Call the server side as if it is a local MBeanServer
   ObjectName delegateName = ObjectName.getInstance("JMImplementation:type=MBeanServerDelegate");
   Object proxy = MBeanServerInvocationHandler.newProxyInstance(connection, delegateName, MBeanServerDelegateMBean.class, true);
   MBeanServerDelegateMBean delegate = (MBeanServerDelegateMBean)proxy;

   System.out.println(delegate.getImplementationVendor() + " is cool !");

   // Register an MBean, and get notifications via the Hessian protocol
   connection.addNotificationListener(delegateName, new NotificationListener()
   {
      public void handleNotification(Notification notification, Object handback)
      {
         System.out.println("Got the following notification: " + notification);
      }
   }, null, null);

   ObjectName timerName = ObjectName.getInstance("services:type=Timer");
   connection.createMBean(Timer.class.getName(), timerName, null);

   // Unregistering the MBean to get another notification
   connection.unregisterMBean(timerName);

   // Allow the unregistration notification to arrive before killing this JVM
   Thread.sleep(1000);

   connector.close();
}
 
 类所在包
 同包方法