Oracle GlassFish Server 3.0.1 Administration Guide

Chapter 9 Administering Life Cycle Modules

This chapter provides procedures for administering life cycle modules in the OracleGlassFish Server 3.0.1 environment.

The following topics are addressed here:

Instructions for accomplishing the tasks in this chapter by using the Administration Console are contained in the Administration Console online help.

About Life Cycle Modules

Life cycle modules, also known as initialization services, provide a means of running short or long duration Java-based tasks within the GlassFish 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 GlassFish Server sequence of events:

  1. Initialization. The server reads the configuration, initializes built-in subsystems (such as security and logging services), and creates the containers.

  2. Startup. The server loads and initializes deployed applications.

  3. Ready. The server begins servicing requests.

  4. Shutdown. The server shuts down the applications and stops.

  5. 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 Oracle GlassFish Server 3.0.1 Application Development Guide.


Note –

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.


Configuring Life Cycle Modules

The following topics are addressed here:

ProcedureTo Create a Life Cycle Module

Use the create-lifecycle-module subcommand in remote mode to create a life cycle module.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. Create a new life cycle modules by using the create-lifecycle-module(1) subcommand.

    Information about options and properties for the subcommand are included in this help page.

  3. Restart the server for your changes to take effect.

    See To Restart a Domain.


Example 9–1 Creating a Life Cycle Module

This example creates the customSetup life cycle module :


asadmin> create-lifecycle-module --classname "com.acme.CustomSetup" 
--classpath "/export/customSetup" --loadorder 1 --failurefatal=true 
--description "this is a sample customSetup" 
--property rmi="Server\=acme1\:7070":timeout=30 customSetup
Command create-lifecycle-module executed successfully

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help create-lifecycle-module at the command line.

ProcedureTo List Life Cycle Modules

Use the list-lifecycle-modules subcommand in remote mode to list the existing life cycle modules.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. List life cycle modules by using the list-lifecycle-modules(1) subcommand.


Example 9–2 Listing Life Cycle Modules

This example lists the existing life cycle modules.


asadmin> list-lifecycle-modules
WSTCPConnectorLCModule
Command list-lifecycle-modules executed successfully

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help list-lifecycle-modules at the command line.

ProcedureTo Update a Life Cycle Module

Use the set subcommand to update an existing life cycle module.

  1. List the properties that can be updated for a life cycle module by using the get(1) subcommand.

    For example (single mode):


    asadmin get "*" | grep sampleLCM
    applications.application.sampleLCMmodule.availability-enabled=false
    applications.application.sampleLCMmodule.directory-deployed=false
    applications.application.sampleLCMmodule.enabled=true
    applications.application.sampleLCMmodule.name=sampleLCMmodule
    applications.application.sampleLCMmodule.object-type=user
    applications.application.sampleLCMmodule.property.class-name=example.lc.SampleModule
    applications.application.sampleLCMmodule.property.classpath=/build/lcm.jar
    applications.application.sampleLCMmodule.property.is-failure-fatal=false
    applications.application.sampleLCMmodule.property.isLifecycle=true
  2. Update a life cycle module by using the set(1) subcommand.

  3. Restart the server for your changes to take effect.

    See To Restart a Domain.


Example 9–3 Updating a Life Cycle Module

This example updates the classpath property.


sadmin> set applications.application.sampleLCMmodule.
property.classpath=/build/lcm_new.jarapplications.application.
sampleLCMmodule.property.classpath=/build/lcm_new.jar
Command set executed successfully.

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help set at the command line.

ProcedureTo Delete a Life Cycle Module

Use the delete-lifecycle-module subcommand in remote mode to delete a life cycle module.

  1. Ensure that the server is running.

    Remote subcommands require a running server.

  2. List the current life cycle modules by using the list-lifecycle-modules(1) subcommand.

  3. Delete a life cycle module by using the delete-lifecycle-module(1) subcommand.


Example 9–4 Deleting a Life Cycle Module

This example deletes the customSetup life cycle module.


asadmin> delete-lifecycle-module customSetup
Command delete-lifecycle-module executed successfully

See Also

You can also view the full syntax and options of the subcommand by typing asadmin help delete-lifecycle-module at the command line.