本文整理汇总了Java中javax.management.timer.Timer.stop方法的典型用法代码示例。如果您正苦于以下问题:Java Timer.stop方法的具体用法?Java Timer.stop怎么用?Java Timer.stop使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类javax.management.timer.Timer
的用法示例。
在下文中一共展示了Timer.stop方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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);
}
}
示例2: 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!");
}
示例3: 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!");
}
示例4: 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);
}
}