[cdi-dev] Cluster lifecycle events

Kristoffer Sjögren stoffe at gmail.com
Wed Oct 26 06:23:59 EDT 2011


CDI 1.1 defines a set of lifecycle events related to different context
within the application, but we see a need to define cluster lifecycle
events for applications.

These events could, for example, be used for subscribing/allocating
and unsubscribing/deallocating external services/resources.

More specifically, a @Cluster event that gets fired when an
application gets @Initialized in the cluster, that is, post
@Application @Initialized. And another @Cluster event that gets fired
when the application get @Destroyed in the cluster, that is, pre
@Application @Destroyed. These events only fires once per application
and cluster, independent on how many cluster instances exists.

Events are fault tolerant meaning that events are not affected by
failing instances going out-of-service, as long as the cluster is
still working. Notice that the @Destroyed event is of course only
invoked if the cluster terminates gracefully.

Is this something you have considered earlier or is it worth
discussing/specifying further?


More information about the cdi-dev mailing list