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


