Creating a Scheduler

    Procedure
  1. Create a scheduler using the function Cluster.createScheduler().

    You can do this, for example, in a startup rule function, or other rule function or rule:

    void createScheduler(String schedulerName, long pollInterval, long refreshAhead)			 

    schedulerName - A unique ID for the scheduler you are creating.

    pollInterval - TIBCO BusinessEvents checks the scheduler cache every pollInterval milliseconds, for scheduler work items whose scheduledTime falls in the current interval.

    refreshAhead - Time in milliseconds (into the future) used to pre-load the scheduled events from the backing store.

    Note: In this release, the larger value of pollInterval and refreshAhead is used for both these settings.

    For example:

    Cluster.createScheduler("myScheduler", 1000, 5000);
  2. Schedule the Event to be Sent
Result

You use the function Cluster.scheduleEvent() to schedule an event to be sent at a certain time, using a scheduler you created earlier. You can do this in a rule or rule function as needed:

void scheduleEvent(StringschedulerName,StringworkKey, SimpleEventevt, longscheduledTime)		

Where:

  • schedulerName is the unique ID for the scheduler you created at an earlier time.
  • workKey is a unique key that identifies the work item (that is, the scheduled task). This key can be used to identify the work item later, for example to cancel it.
  • evt is the simple event to be scheduled.
  • scheduledTime is used to specify the time the event is sent to its default destination. The value is interpreted as an absolute time. To schedule a time relative to the present, use the System.currentTimeMillis() function, as shown below.

For example:

Cluster.scheduleEvent("MyScheduler", myworkKey, Event.createEvent("xslt:// 
		  details omitted "), 
		  System.currentTimeMillis() + 5000)