type=page
status=published
title=delete-managed-thread-factory
next=delete-message-security-provider.html
prev=delete-managed-scheduled-executor-service.html
~~~~~~

delete-managed-thread-factory
=============================

[[delete-managed-thread-factory-1]][[GSRFM852]][[delete-managed-thread-factory]]

delete-managed-thread-factory
-----------------------------

Removes a managed thread factory resource with the specified JNDI name

[[sthref866]]

=== Synopsis

[source]
----
asadmin [asadmin-options] delete-managed-thread-factory [--help]
[--target target]
managed_thread_factory_name
----

[[sthref867]]

=== Description

The `delete-managed-thread-factory` subcommand removes a managed thread
factory resource with the specified JNDI name.

This subcommand is supported in remote mode only.

[[sthref868]]

=== 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`::
  Specifies the target from which you are deleting the resource. Valid
  targets are:

  `server`;;
    Deletes the resource from the default server instance. This is the
    default value.
  `domain`;;
    Deletes the resource from the domain.
  cluster_name;;
    Deletes the resource from every server instance in the specified
    cluster.
  instance_name;;
    Deletes the resource from the specified server instance.

[[sthref869]]

=== Operands

managed_thread_factory_name::
  The JNDI name of the resource to be deleted.

[[sthref870]]

=== Examples

[[GSRFM853]][[sthref871]]

==== Example 1   Deleting a Managed Thread Factory Resource

This example deletes the managed thread factory resource named
`concurrent/myThreadFactory`.

[source]
----
asadmin> delete-managed-thread-factory concurrent/myThreadFactory
Managed thread factory concurrent/myThreadFactory deleted successfully.
Command delete-managed-thread-factory executed successfully.
----

[[sthref872]]

=== Exit Status

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

[[sthref873]]

=== See Also

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

link:create-managed-thread-factory.html#create-managed-thread-factory-1[`create-managed-thread-factory`(1)],
link:list-managed-thread-factories.html#list-managed-thread-factories-1[`list-managed-thread-factories`(1)]


