BEA Systems, Inc.

weblogic.time.common
Interface Schedulable

All Known Subinterfaces:
ScheduleDef

Deprecated. As of WebLogic Server 7.0, replaced by Timer.

public interface Schedulable

Interface for user-written schedulers. The Schedulable object differs from a ScheduleDef object in that it cannot be initialized and has no access to WebLogic services. Schedulers that require access to WebLogic Services or have initialization parameters should implement ScheduleDef rather that Schedulable.

Here's an example of how this interface is used. This example illustrates a recurring trigger that is scheduled and executed on the client.

class myclient implements Schedulable, Triggerable {
 
   public myclient() throws TimeTriggerException {
     // Create a T3Client
     T3Client t3 = new T3Client("t3://host:port");
     t3.connect();
 
     // Set up a scheduled trigger, using this object for
     // scheduling and execution
     ScheduledTriggerDef std =
       t3.services.time().getScheduledTrigger(this, this);

     std.schedule(); // start the ball rolling
     .
     .
     std.cancel();  // cancel the trigger
   }

   public long schedule(long time) {
     return time+5000;  // 5 seconds
   }

   public void trigger() {
     System.out.println("trigger called");
   } 
 }

A Scheduler object -- one that implements either Schedulable or ScheduleDef -- is used to schedule recurring actions (triggers) and in calls to the TimeServicesDef.getScheduledTrigger() method. The Scheduler is passed the current time, in milliseconds since the epoch, with your implementation of the schedule() method from this interface. To schedule execution for delta milliseconds in the future, the schedule() method should simply return time + delta. To schedule the callback for a specific future time, the schedule() method may perform date arithmetic using the standard java classes such as java.util.Date, and methods like Date.getTime() to return the millisecond representation of a specific time.

If the schedule() method returns a value less than or equal to 0, then the trigger is unscheduled from future execution. Returning 0 is probably more efficient, in fact, than calling cancel().

See Also:
TimeServicesDef, ScheduleDef, Triggerable, TriggerDef, TimeRepeat

Method Summary
 long schedule(long time)
          Deprecated. Deprecated in WebLogic Server 6.1
 

Method Detail

schedule

long schedule(long time)
Deprecated. Deprecated in WebLogic Server 6.1

Schedules an object for the specified time.

Parameters:
time - Time in milliseconds
Returns:
Scheduled time

Documentation is available at
http://download.oracle.com/docs/cd/E13222_01/wls/docs92
Copyright 2006 BEA Systems Inc.