type=page
status=published
title=delete-lifecycle-module
next=delete-local-instance.html
prev=delete-jvm-options.html
~~~~~~

delete-lifecycle-module
=======================

[[delete-lifecycle-module-1]][[GSRFM00095]][[delete-lifecycle-module]]

delete-lifecycle-module
-----------------------

Removes the lifecycle module

[[sthref834]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-lifecycle-module [--help]
[--target target] module_name
----

[[sthref835]]

=== Description

The `delete-lifecycle-module` subcommand removes a lifecycle module. A
lifecycle module provides a means of running a short or long duration
Java-based task at a specific stage in the server life cycle. This
subcommand is supported in remote mode only.

[[sthref836]]

=== Options

asadmin-options::
  Options for the `asadmin` utility. For information about these
  options, see the link:asadmin.html#asadmin-1m[`asadmin`(1M)] help page.
`--help`::
`-?`::
  Displays the help text for the subcommand.
`--target`::
  Indicates the location where the lifecycle module is to be deleted.
  Valid values are

  * `server`- Specifies the default server instance as the target for
  deleting the lifecycle module. `server` is the name of the default
  server instance and is the default value for this option.
  * cluster_name- Specifies a particular cluster as the target for
  deleting the lifecycle module.
  * instance_name- Specifies a particular server instance as the target
  for deleting the lifecycle module.

[[sthref837]]

=== Operands

module_name::
  This operand is a unique identifier for the deployed server lifecycle
  event listener module.

[[sthref838]]

=== Examples

[[GSRFM564]][[sthref839]]

==== Example 1   Deleting a Lifecycle Module

The following example deletes a lifecycle module named `customSetup`.

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

[[sthref840]]

=== Exit Status

0::
  command executed successfully
1::
  error in executing the command

[[sthref841]]

=== See Also

link:asadmin.html#asadmin-1m[`asadmin`(1M)]

link:create-lifecycle-module.html#create-lifecycle-module-1[`create-lifecycle-module`(1)],
link:list-lifecycle-modules.html#list-lifecycle-modules-1[`list-lifecycle-modules`(1)]


