javax.management.timer.Timer Java Examples

The following examples show how to use javax.management.timer.Timer. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: QuerySubscriptionScheduled.java    From fosstrak-epcis with GNU Lesser General Public License v2.1 6 votes vote down vote up
/**
 * 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);
    }
}
 
Example #2
Source File: QuerySubscriptionScheduled.java    From fosstrak-epcis with GNU Lesser General Public License v2.1 5 votes vote down vote up
/**
 * 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);
    }
}
 
Example #3
Source File: QuerySubscriptionScheduled.java    From fosstrak-epcis with GNU Lesser General Public License v2.1 5 votes vote down vote up
/**
 * 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();
}
 
Example #4
Source File: JMXControlServiceTest.java    From quarks with Apache License 2.0 5 votes vote down vote up
@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);
    }
}
 
Example #5
Source File: JMXControlServiceTest.java    From quarks with Apache License 2.0 5 votes vote down vote up
@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);
}
 
Example #6
Source File: Client.java    From cacheonix-core with GNU Lesser General Public License v2.1 5 votes vote down vote up
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();
}
 
Example #7
Source File: Client.java    From cacheonix-core with GNU Lesser General Public License v2.1 5 votes vote down vote up
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();
}
 
Example #8
Source File: MyMarketOrder.java    From jeveassets with GNU General Public License v2.0 4 votes vote down vote up
public Date getExpires() {
	long expires = (this.getIssued().getTime() + ((this.getDuration()) * Timer.ONE_DAY));
	return new Date(expires);
}
 
Example #9
Source File: StartTest.java    From dragonwell8_jdk with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #10
Source File: StartTest.java    From jdk8u_jdk with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #11
Source File: MissingNotificationTest.java    From jdk8u_jdk with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #12
Source File: Client.java    From cacheonix-core with GNU Lesser General Public License v2.1 4 votes vote down vote up
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();
}
 
Example #13
Source File: MissingNotificationTest.java    From openjdk-8 with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #14
Source File: StartTest.java    From jdk8u-jdk with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #15
Source File: MissingNotificationTest.java    From jdk8u-jdk with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #16
Source File: StartTest.java    From jdk8u-dev-jdk with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #17
Source File: MissingNotificationTest.java    From jdk8u-dev-jdk with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #18
Source File: QuerySubscriptionTriggered.java    From fosstrak-epcis with GNU Lesser General Public License v2.1 4 votes vote down vote up
/**
 * {@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);
    }
}
 
Example #19
Source File: StartTest.java    From openjdk-jdk9 with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #20
Source File: MissingNotificationTest.java    From dragonwell8_jdk with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #21
Source File: StartTest.java    From TencentKona-8 with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #22
Source File: MissingNotificationTest.java    From TencentKona-8 with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #23
Source File: StartTest.java    From jdk8u60 with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #24
Source File: MissingNotificationTest.java    From jdk8u60 with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #25
Source File: StartTest.java    From openjdk-jdk8u with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #26
Source File: MissingNotificationTest.java    From openjdk-jdk8u with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #27
Source File: StartTest.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #28
Source File: MissingNotificationTest.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #29
Source File: StartTest.java    From openjdk-8 with GNU General Public License v2.0 4 votes vote down vote up
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!");
}
 
Example #30
Source File: MissingNotificationTest.java    From openjdk-jdk9 with GNU General Public License v2.0 4 votes vote down vote up
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!");
}