+

Search Tips   |   Advanced Search

Scheduler interface

Use the com.ibm.websphere.scheduler.Scheduler Java object (in the Java Naming and Directory Interface (JNDI) namespace for the scheduler configuration) to find a reference to a scheduler and work with tasks.

A com.ibm.websphere.scheduler.Scheduler Java object exists in the JNDI namespace for each scheduler configuration. A reference to a scheduler can be obtained by performing a lookup on the JNDI name; however, the lookup is valid only from the server process where the scheduler instance exists. Once a reference has been obtained, tasks can be created, suspended, cancelled, and so on, if the caller has access to the scheduler instance.

For details, see Interface Scheduler in the API documentation.

Task creation

The task is created in the persistent store using the global transactional context of the caller, if present. See the topic, Transactions and schedulers, for more details. Since this is a transactional operation, the task cannot be run or modified from another thread until the current transaction commits.

Task modification

Tasks created can be modified with the suspend(), resume(), cancel(), and purge() methods. These methods take a Task Identifier string as a parameter, which is generated by the create() method and can be found in the TaskStatus object. If a task is currently running or being modified by another thread, an operation that attempts to modify the state of the task might block on the attempt. Tasks can only be modified by the same application (EAR file) that was used to create the task.

Task execution

Tasks are run in the thread pool specified by the configuration's work manager. If multiple schedulers are configured to share the same database tables, the scheduler is clustered and the tasks found in the table can be run on any of the schedulers, whether or not they are in the same server, node, or cell.

Task lookup

Tasks can be located using the Name property that was assigned at creation time. This is useful when we need to modify a group of tasks and tracking individual task ID's is not convenient.


Related tasks

  • Develop and scheduling tasks
  • Manage schedulers

  • API documentation Reference topic