type=page
status=published
title=delete-threadpool
next=delete-transport.html
prev=delete-system-property.html
~~~~~~

delete-threadpool
=================

[[delete-threadpool-1]][[GSRFM00111]][[delete-threadpool]]

delete-threadpool
-----------------

Removes a thread pool

[[sthref991]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-threadpool [--help]
[--target target] threadpool-id
----

[[sthref992]]

=== Description

Removes the thread pool with the specified ID. This subcommand is
supported in remote mode only.

[[sthref993]]

=== 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`::
  This option specifies the target from which you are removing the
  thread pool. Valid values are as follows:

  `server`;;
    Deletes the thread pool for the default {productName} instance
    `server` and is the default value.
  configuration-name;;
    Deletes the thread pool for the named configuration.
  cluster-name;;
    Deletes the thread pool for every instance in the cluster.
  instance-name;;
    Deletes the thread pool for a particular instance.

[[sthref994]]

=== Operands

threadpool-id::
  An ID for the work queue, for example, `thread-pool1`, `threadpool-2`,
  and so forth.

[[sthref995]]

=== Examples

[[GSRFM581]][[sthref996]]

==== Example 1   Deleting a Thread Pool

This example deletes `threadpool-l`.

[source]
----
asadmin> delete-threadpool threadpool-1
Command delete-threadpool executed successfully
----

[[sthref997]]

=== Exit Status

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

[[sthref998]]

=== See Also

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

link:create-threadpool.html#create-threadpool-1[`create-threadpool`(1)],
link:list-threadpools.html#list-threadpools-1[`list-threadpools`(1)]


