type=page
status=published
title=list-batch-runtime-configuration
next=list-clusters.html
prev=list-batch-job-steps.html
~~~~~~

= list-batch-runtime-configuration

[[list-batch-runtime-configuration-1]][[GSRFM863]][[list-batch-runtime-configuration]]

== list-batch-runtime-configuration

Displays the configuration of the batch runtime

[[sthref1364]]

=== Synopsis

[source]
----
asadmin [asadmin-options] list-batch-runtime-configuration [--help]
[--target target]
[--output output]
[--header={false|true}]
----

[[sthref1365]]

=== Description

The `list-batch-runtime-configuration` subcommand displays the
configuration of the batch runtime. Batch runtime configuration data is
stored in the `config` element in `domain.xml`.

[[sthref1366]]

=== 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 for which to list the batch runtime
  configuration. Valid values are as follows:

  `server`;;
    Lists the batch runtime configuration for the default server
    instance `server` and is the default value.
  cluster-name;;
    Lists the batch runtime configuration for every server instance in
    the cluster.
  instance-name;;
    Lists the batch runtime configuration for a particular server
    instance.

`--output`::
`-o`::
  Displays specific details about the batch runtime configuration. Use a
  comma-separated list to specify the details to display and their
  order. The values are case-insensitive. The `datasourcelookupname` and
  `executorservicelookupname` column headings are displayed by default. +
  Possible values are as follows:

  `datasourcelookupname`;;
    The JNDI lookup name of the data source used to store job
    information. By default, the batch runtime uses the default data
    source `jdbc/__TimerPool`.
  `executorservicelookupname`;;
    The JNDI lookup name of the managed executor service used to provide
    threads to jobs. By default, the batch runtime uses the default
    managed executor service `concurrent/__defaultManagedExecutorService`.

`--header`::
`-h`::
  Specifies whether column headings are displayed when the `--long`
  option is used. The default value is `true`. To suppress the headings,
  set the `--header` option to `false`.

[[sthref1367]]

=== Examples

[[GSRFM864]][[sthref1368]]

==== Example 1   Listing Batch Runtime Configuration

The following example lists the configuration of the batch runtime for
the default server instance.

[source]
----
asadmin> list-batch-runtime-configuration
DATASOURCELOOKUPNAME     EXECUTORSERVICELOOKUPNAME
jdbc/_default            concurrent/__defaultManagedExecutorService
Command list-batch-runtime-configuration executed successfully.
----

[[sthref1369]]

=== Exit Status

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

[[sthref1370]]

=== See Also

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

link:set-batch-runtime-configuration.html#set-batch-runtime-configuration-1[`set-batch-runtime-configuration`(1)],
link:list-batch-jobs.html#list-batch-jobs-1[`list-batch-jobs`(1)],
link:list-batch-job-executions.html#list-batch-job-executions-1[`list-batch-job-executions`(1)],
link:list-batch-job-steps.html#list-batch-job-steps-1[`list-batch-job-steps`(1)]


