blob: 3344e0ed864a61cf17fc2f7d3c78f4a9264e64fd [file] [log] [blame]
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 GlassFish Server Open Source Edition 5.0 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
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`/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 "link:../application-development-guide/lifecycle-listeners.html#GSDVG00014[Developing
Lifecycle Listeners]" in GlassFish Server Open Source Edition
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,oac_no_warn]
----
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,oac_no_warn]
----
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,oac_no_warn]
----
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,oac_no_warn]
----
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,oac_no_warn]
----
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.