当前位置: 首页>>代码示例>>Java>>正文


Java Timer类代码示例

本文整理汇总了Java中javax.management.timer.Timer的典型用法代码示例。如果您正苦于以下问题:Java Timer类的具体用法?Java Timer怎么用?Java Timer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


Timer类属于javax.management.timer包,在下文中一共展示了Timer类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleNotification

import javax.management.timer.Timer; //导入依赖的package包/类
/**
 * 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);
    }
}
 
开发者ID:Fosstrak,项目名称:fosstrak-epcis,代码行数:28,代码来源:QuerySubscriptionScheduled.java

示例2: testDoubleRegister

import javax.management.timer.Timer; //导入依赖的package包/类
@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);
    }
}
 
开发者ID:quarks-edge,项目名称:quarks,代码行数:16,代码来源:JMXControlServiceTest.java

示例3: testDoubleunregister

import javax.management.timer.Timer; //导入依赖的package包/类
@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);
}
 
开发者ID:quarks-edge,项目名称:quarks,代码行数:13,代码来源:JMXControlServiceTest.java

示例4: main

import javax.management.timer.Timer; //导入依赖的package包/类
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();
}
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:41,代码来源:Client.java

示例5: main

import javax.management.timer.Timer; //导入依赖的package包/类
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();
}
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:41,代码来源:Client.java

示例6: startThread

import javax.management.timer.Timer; //导入依赖的package包/类
/**
 * 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();
}
 
开发者ID:Fosstrak,项目名称:fosstrak-epcis,代码行数:15,代码来源:QuerySubscriptionScheduled.java

示例7: setNextScheduledExecutionTime

import javax.management.timer.Timer; //导入依赖的package包/类
/**
 * 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);
    }
}
 
开发者ID:Fosstrak,项目名称:fosstrak-epcis,代码行数:19,代码来源:QuerySubscriptionScheduled.java

示例8: startTimer

import javax.management.timer.Timer; //导入依赖的package包/类
/**
 * Start of the timer service
 */
private void startTimer() {
    try {
        server = MBeanServerFactory.createMBeanServer();
        timer = new Timer();
        timerName = new ObjectName("test:type=timer");
        server.registerMBean(timer, timerName);
        server.addNotificationListener(timerName, this, null, null);
        timer.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 
开发者ID:freeVM,项目名称:freeVM,代码行数:16,代码来源:BaseTimerTest.java

示例9: main

import javax.management.timer.Timer; //导入依赖的package包/类
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!");
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:43,代码来源:StartTest.java

示例10: main

import javax.management.timer.Timer; //导入依赖的package包/类
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!");
}
 
开发者ID:lambdalab-mirror,项目名称:jdk8u-jdk,代码行数:43,代码来源:MissingNotificationTest.java

示例11: main

import javax.management.timer.Timer; //导入依赖的package包/类
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();
}
 
开发者ID:cacheonix,项目名称:cacheonix-core,代码行数:45,代码来源:Client.java

示例12: getExpires

import javax.management.timer.Timer; //导入依赖的package包/类
public Date getExpires() {
	long expires = (this.getIssued().getTime() + ((this.getDuration()) * Timer.ONE_DAY));
	return new Date(expires);
}
 
开发者ID:GoldenGnu,项目名称:jeveassets,代码行数:5,代码来源:MyMarketOrder.java

示例13: handleNotification

import javax.management.timer.Timer; //导入依赖的package包/类
/**
 * {@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);
    }
}
 
开发者ID:Fosstrak,项目名称:fosstrak-epcis,代码行数:60,代码来源:QuerySubscriptionTriggered.java

示例14: testControlObject

import javax.management.timer.Timer; //导入依赖的package包/类
@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));  
}
 
开发者ID:quarks-edge,项目名称:quarks,代码行数:29,代码来源:JMXControlServiceTest.java

示例15: testAdditionalKeys

import javax.management.timer.Timer; //导入依赖的package包/类
@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));  
}
 
开发者ID:quarks-edge,项目名称:quarks,代码行数:37,代码来源:JMXControlServiceTest.java


注:本文中的javax.management.timer.Timer类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。