type=page
status=published
title=delete-context-service
next=delete-custom-resource.html
prev=delete-connector-work-security-map.html
~~~~~~
delete-context-service
======================

[[delete-context-service-1]][[GSRFM846]][[delete-context-service]]

delete-context-service
----------------------

removes a context service resource with the specified JNDI name

[[sthref658]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] delete-context-service [--help]
[--target target]
context-service-name
----

[[sthref659]]

Description

The `delete-context-service` subcommand removes a context service
resource with the specified JNDI name.

This subcommand is supported in remote mode only.

[[sthref660]]

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.

[[sthref661]]

Operands

context-service-name::
  The JNDI name of the resource to be deleted.

[[sthref662]]

Examples

[[GSRFM847]][[sthref663]]

Example 1   Deleting a Context Service Resource

This example deletes the context service resource named
`concurrent/myContextService`.

[source,oac_no_warn]
----
asadmin> delete-context-service concurrent/myContextService
Context service concurrent/myContextService deleted successfully.
Command delete-context-service executed successfully.
----

[[sthref664]]

Exit Status

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

[[sthref665]]

See Also

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

link:create-context-service.html#create-context-service-1[`create-context-service`(1)],
link:list-context-services.html#list-context-services-1[`list-context-services`(1)]


