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)]


