Life cycle modules, also known as initialization services, provide a means of running short or long duration Java-based tasks within the Enterprise Server environment. These modules are automatically initiated at server startup and are notified at various phases of the server life cycle. Configured properties for a life cycle module are passed as properties during server initialization.
All life cycle module classes and interfaces are in the as-install/glassfish/modules/glassfish-api.jar file.
A life cycle module listens for and performs its tasks in response to the following Enterprise Server sequence of events:
Initialization. The server reads the configuration, initializes built-in subsystems (such as security and logging services), and creates the containers.
Startup. The server loads and initializes deployed applications.
Ready. The server begins servicing requests.
Shutdown. The server shuts down the applications and stops.
Termination. The server closes the containers, the built-in subsystems, and the server runtime environment.
These events are defined in the LifecycleEvent class. For information on creating life cycle modules, see Chapter 13, Developing Lifecycle Listeners, in Sun GlassFish Enterprise Server v3 Application Development Guide.
If the is-failure-fatal setting is set to true (the default is false), life cycle module failure prevents server initialization or startup, but not shutdown or termination.