Administering Life Cycle Modules
This chapter provides procedures for administering life cycle modules in the Payara Server environment.
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 Payara Server environment. These modules are automatically initiated at server startup and are notified at various phases of the server lifecycle. 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 Payara 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 Developing Lifecycle Listeners in the Payara Server Application Development section.
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
To Create a Life Cycle Module
Use the create-lifecycle-module
subcommand in remote mode to create a life cycle module.
-
Ensure that the server is running. Remote subcommands require a running server.
-
Create a new life cycle modules by using the
create-lifecycle-module
subcommand. Information about options and properties for the subcommand are included in this help page. -
Restart the server for your changes to take effect. To Restart a Domain.
Example 9-1 Creating a 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
This example creates the customSetup
life cycle module :
To List Life Cycle Modules
Use the list-lifecycle-modules
subcommand in remote mode to list the existing life cycle modules.
-
Ensure that the server is running. Remote subcommands require a running server.
-
List life cycle modules by using the
list-lifecycle-modules
subcommand.
To Update a Life Cycle Module
Use the set
subcommand to update an existing life cycle module.
-
List the properties that can be updated for a life cycle module by
get
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
-
Update a life cycle module by using the
set
subcommand. -
Restart the server for your changes to take effect. See To Restart a Domain.
To Delete a Life Cycle Module
Use the delete-lifecycle-module
subcommand in remote mode to delete a life cycle module.
-
Ensure that the server is running. Remote subcommands require a running server.
-
List the current life cycle modules by using the
list-lifecycle-modules
subcommand. -
Delete a life cycle module by using the
delete-lifecycle-module
subcommand.