Raindrop

Overview

A Raindrop application is built as a set of individual Stages that communicate through named TaskQueues. The Raindrop runtime is responsible for removing objects from a TaskQueue and passing them onto the appropriate Stage. Each stage contains a Handler. This is the logic for handling the processing of the events/objects that are transferred.

Back to top

Components

Handlers

A Handler contains the basic business logic of the application. It is called by the Raindrop runtime and receives Objects that have been placed onto its TaskQueue by other Handlers. Handlers implement the com.ewansilver.raindrop.Handler interface.

Stages

A Stage provides a runtime framework within which a Handler can run.

TaskQueues

TaskQueues join Stages together. They are a queueing mechanism that allows Handlers in different stages to communicate with each other. TaskQueues allow any type of Object to be enqueued/placed on them. However it is possible for a TaskQueue to reject an Object. Access to a TaskQueue is controlled by a QueueAdmissionsController. QueueAdmissionControllers exist to reject further objects being enqueued because the TaskQueue is growing to big (this normally indicates that the Stage that is dequeeing the Objects is becoming overloaded). Other controllers will reject Objects because of their class types, etc.

Back to top


Copyright © 2007, Ewan Silver