Using the Timer Service

In this section, we will look at two examples of possible applications of the timer service. We will look at enough of the source code in this chapter to discuss the fundamental concepts, but you will get the most benefit from this chapter by having the full source listings available. In the first example, we will use the timer service as a scheduler to start the sample application via a timer notification that is emitted once. The second example shows how to use the timer service to handle repeated timer notifications to write log messages to disk.

As we’ve seen, the minimal steps to use the timer service are:

  1. Create the timer service by instantiating the Timer class.

  2. Add a notification, which includes at a minimum the notification type (which is up to you to define) and the date the notification is to start.

  3. Add a notification listener to the timer service.

  4. Start the timer.

Step 2 is repeated for each notification type that is to be sent by the timer service. Step 3 is repeated for as many notification listeners as are needed in the system. In the sample application code for this chapter, there are two notification types:

sample.timer.startController

The notification type string that indicates the controller is to be started

sample.timer.flushlog

The notification type string that indicates that any queued messages are to be written (i.e., committed) to the log

There are also two notification listeners:

sample.timer.Scheduler

The class that is responsible ...

Get Java Management Extensions now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.