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:
Create the timer service by instantiating the
Timerclass.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.
Add a notification listener to the timer service.
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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access