WAS v8.5 > End-to-end paths > Schedulers

Use schedulers

Schedulers enable Java EE application tasks to run at a requested time.

Schedulers also enable developers to create stateless session EJB components to receive event notifications during a task life cycle, allowing the plugging-in of custom logging utilities or workflow applications.

Tasks we can schedule:

Stateless session EJB components are also used to provide generic calendaring. Developers can either use the supplied calendar bean or create their own for their existing business calendars. For example, a business process might involve invoicing for services. With the scheduler's use of stateless EJB components, we can schedule when periodic email distributions are to be sent to customers who have received invoices. The scheduler service performs these tasks, repeating as necessary, according to the metadata for that task.

A scheduler is the mechanism by which the timer service for EJBs runs for persistent timers. We can configure the EJB timer service to use features that schedulers provide. Non-persistent timers do not use the scheduler service, but they can use the work manager for the scheduler. Non-persistent timers use a work manager directly.

Persistent timer services...

Schedulers EJB timers
Run stateless session EJB components and send JMS messages Run all EJB types except for stateful session beans
Persistent, transactional and highly available Persistent, transactional and highly available
Tasks guaranteed to run only once Timers guaranteed to run only once, if the timer EJB uses a container-managed global transaction
Run repeating tasks using any calculation rules Run repeating tasks using a repeating interval defined in milliseconds
Uses a modified fixed-delay time calculation to determine repeating intervals (next run time based on the start-time of the previous task) Uses a fixed-rate time calculation to determine repeating intervals (time of the next task is based on the original scheduled time)
Programmatic task monitoring capability with the use of the NotificationSink stateless session EJB component No programmatic timer monitoring
Stop late or time-sensitive tasks from running. Stop late or time-sensitive tasks from running (achieved through manual detection within the javax.ejb.TimedObject implementation)
Manage any task lifecycle (find, suspend, resume, cancel and purge tasks programmatically and through JMX) Find and cancel its timers programmatically. Administrators find and cancel timers using a command-line utility.
Store a limited amount of text with the data, like a Name (arbitrary data stored externally) Store arbitrary data with a timer

This task demonstrates how to manage, develop and interoperate with schedulers and subsequent tasks.


Subtopics


Related


Configure a timer service
Create timers using the EJB timer service for enterprise beans


+

Search Tips   |   Advanced Search