type=page
status=published
title=Administering Life Cycle Modules
next=batch.html
prev=monitoring.html
~~~~~~

= Administering Life Cycle Modules

[[GSADG00013]][[giury]]


[[administering-life-cycle-modules]]
== 9 Administering Life Cycle Modules

This chapter provides procedures for administering life cycle modules in
the {productName} 7 environment.

The following topics are addressed here:

* link:#giuxo[About Life Cycle Modules]
* link:#giuue[Configuring Life Cycle Modules]

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

[[giuxo]][[GSADG00566]][[about-life-cycle-modules]]

=== 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
{productName} 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``/modules/glassfish-api.jar`` file.

A life cycle module listens for and performs its tasks in response to
the following {productName} 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 "link:application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing
Lifecycle Listeners]" in {productName}
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.
====


[[giuue]][[GSADG00567]][[configuring-life-cycle-modules]]

=== Configuring Life Cycle Modules

The following topics are addressed here:

* link:#giuus[To Create a Life Cycle Module]
* link:#giuvh[To List Life Cycle Modules]
* link:#giuyh[To Update a Life Cycle Module]
* link:#giuux[To Delete a Life Cycle Module]

[[giuus]][[GSADG00399]][[to-create-a-life-cycle-module]]

==== To 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
link:reference-manual/create-lifecycle-module.html#GSRFM00043[`create-lifecycle-module`] 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 link:domains.html#ginqj[To Restart a Domain].

[[GSADG00206]][[giuyo]]
Example 9-1 Creating a Life Cycle Module

This example creates the `customSetup` life cycle module :

[source]
----
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
----

[[GSADG927]]

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.

[[giuvh]][[GSADG00400]][[to-list-life-cycle-modules]]

==== To 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
link:reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`] subcommand.

[[GSADG00207]][[giuyr]]
Example 9-2 Listing Life Cycle Modules

This example lists the existing life cycle modules.

[source]
----
asadmin> list-lifecycle-modules
WSTCPConnectorLCModule
Command list-lifecycle-modules executed successfully
----

[[GSADG928]]

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.

[[giuyh]][[GSADG00401]][[to-update-a-life-cycle-module]]

==== To 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 link:reference-manual/get.html#GSRFM00139[`get`] subcommand.
+
For example (single mode):
+
[source]
----
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 olink:GSRFM00226[`set`]
subcommand.
3. Restart the server for your changes to take effect.
+
See link:domains.html#ginqj[To Restart a Domain].

[[GSADG00208]][[giuyq]]
Example 9-3 Updating a Life Cycle Module

This example updates the `classpath` property.

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

[[GSADG929]]

See Also

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

[[giuux]][[GSADG00402]][[to-delete-a-life-cycle-module]]

==== To 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
link:reference-manual/list-lifecycle-modules.html#GSRFM00181[`list-lifecycle-modules`] subcommand.
3. Delete a life cycle module by using the
link:reference-manual/delete-lifecycle-module.html#GSRFM00095[`delete-lifecycle-module`] subcommand.

[[GSADG00209]][[giuyi]]
Example 9-4 Deleting a Life Cycle Module

This example deletes the `customSetup` life cycle module.

[source]
----
asadmin> delete-lifecycle-module customSetup
Command delete-lifecycle-module executed successfully
----

[[GSADG930]]

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.


