Jini Technology Programming Model: Distributed Events

Distributed Events is a particularly important feature of the Java technology programming model.  It is designed to address the peculiarities of handling messaging in a networked environment, including latency and recovery from network failure.
Distributed Events extends the Java Technology platform event model to enable it to work in a distributed network.  For example, when services join or leave a Lookup Service, Events are signaled, and objects that have registered interest in such events get notifications when new services become available or old services cease to be active.
An object may allow other objects to register interest in events in the object and receive a notification of the occurrence of such an event. This enables distributed event-based programs to be written with a variety of reliability and scalability guarantees.  This event mechanism approach also allows for easy use of event managers and can use many different distributed delivery models such as pushing, pulling, or filter designs.
Distributed Events also uses the Leasing protocol for efficiency and simplified design.