type=page
status=published
title=list-context-services
next=list-custom-resources.html
prev=list-containers.html
~~~~~~
list-context-services
=====================

[[list-context-services-1]][[GSRFM865]][[list-context-services]]

list-context-services
---------------------

lists context service resources

[[sthref1445]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] list-context-services [--help]
[target]
----

[[sthref1446]]

Description

The `list-context-services` subcommand lists context service resources.

This subcommand is supported in remote mode only.

[[sthref1447]]

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.

[[sthref1448]]

Operands

target::
  Specifies the target for which context service resources are to be
  listed. Valid targets are: +
  `server`;;
    Lists the resources on the default server instance. This is the
    default value.
  `domain`;;
    Lists the resources for the domain.
  cluster-name;;
    Lists the resources on all server instances in the specified
    cluster.
  instance-name;;
    Lists the resources on a specified server instance.

[[sthref1449]]

Examples

[[GSRFM866]][[sthref1450]]

Example 1   Listing Context Service Resources

This example lists context service resources on the default server
instance.

[source,oac_no_warn]
----
asadmin> list-context-services
concurrent/__defaultContextService
concurrent/myContextService1
concurrent/myContextService2
Command list-context-services executed successfully.
----

[[sthref1451]]

Exit Status

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

[[sthref1452]]

See Also

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

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


