Complex software systems often require time-based processing, such as
delayed or periodic timer event handling. A timer service provides an
Application Programming Interface (API) for managing timers, and
therefore provides a developer abstraction for representing time-based
processing. In operation, the timer service infrastructure employs a
plurality of timer events, each having a corresponding timer handler, in
which each of the timer events is associated with a generic timer
reference, employed by a timer interface. The generic reference,
therefore, may refer to any of the plurality of timers. The timer service
may disable, or passivate modules including subscribers having timer
handlers without disrupting timer continuity and invocation. Upon timer
expiration, the timer service enables modules having subscribers to the
timer. The timer service therefore seamlessly enables inactive modules
upon timer expiration. Further, the common generic timer reference avoids
timer event specific stubs and references related to specific classes,
which tend to complicate deployment.