type=page
status=published
title=set-batch-runtime-configuration
next=set-log-attributes.html
prev=set.html
~~~~~~
set-batch-runtime-configuration
===============================

[[set-batch-runtime-configuration-1]][[GSRFM897]][[set-batch-runtime-configuration]]

set-batch-runtime-configuration
-------------------------------

configures the batch runtime

[[sthref2034]]

Synopsis

[source,oac_no_warn]
----
asadmin [asadmin-options] set-batch-runtime-configuration [--help]
[--target target]
[--datasourcelookupname datasource-lookup-name]
[--executorservicelookupname executor-service-lookup-name]
----

[[sthref2035]]

Description

The `set-batch-runtime-configuration` subcommand configures the batch
runtime. The runtime uses a data source and a managed executor service
to execute batch jobs. Batch runtime configuration data is stored in the
`config` element in `domain.xml`.

[[sthref2036]]

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 configure the batch runtime. Valid
  values are as follows: +
  `server`;;
    Configures the batch runtime for the default server instance
    `server` and is the default value.
  cluster-name;;
    Configures the batch runtime for every server instance in the
    cluster.
  instance-name;;
    Configures the batch runtime for a particular server instance.
`--datasourcelookupname`::
`-d`::
  The JNDI lookup name of the data source to be used to store job
  information. The default data source is `jdbc/__TimerPool`. +
  Do not change the data source after the first batch job has been
  submitted to the batch runtime for execution. If the data source must
  be changed, stop and restart the domain and then make the change
  before any jobs are started or restarted. However, once the data
  source has been changed, information stored in the previous data
  source becomes inaccessible.
`--executorservicelookupname`::
`-x`::
  The JNDI lookup name of the managed executor service to be used to
  provide threads to jobs. The default managed executor service is
  `concurrent/__defaultManagedExecutorService`. +
  The managed executor service can be changed after a batch job has been
  submitted to the batch runtime without impacting execution of the job.

[[sthref2037]]

Examples

[[GSRFM898]][[sthref2038]]

Example 1   Configuring the Batch Runtime

The following example configures the batch runtime for the default
server instance to use an existing managed executor service named
`concurrent/myExecutor`.

[source,oac_no_warn]
----
asadmin> set-batch-runtime-configuration --executorservicelookupname concurrent/myExecutor
Command set-batch-runtime-configuration executed successfully.
----

[[sthref2039]]

Exit Status

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

[[sthref2040]]

See Also

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

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)],
link:list-batch-runtime-configuration.html#list-batch-runtime-configuration-1[`list-batch-runtime-configuration`(1)]


