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


