type=page
status=published
title=create-managed-executor-service
next=create-managed-scheduled-executor-service.html
prev=create-local-instance.html
~~~~~~

= create-managed-executor-service

[[create-managed-executor-service-1]][[GSRFM840]][[create-managed-executor-service]]

== create-managed-executor-service

Creates a managed executor service resource

[[sthref397]]

=== Synopsis

[source]
----
asadmin [asadmin-options] create-managed-executor-service [--help]
[--enabled={false|true}]
[--contextinfoenabled={false|true}]
[--contextinfo={Classloader|JNDI|Security|WorkArea}]
[--threadpriority threadpriority]
[--longrunningtasks={false|true}]
[--hungafterseconds hungafterseconds]
[--hungloggerinitialdelayseconds hungloggerinitialdelayseconds]
[--hungloggerintervalseconds hungloggerintervalseconds]
[--corepoolsize corepoolsize]
[--maximumpoolsize maximumpoolsize]
[--keepaliveseconds keepaliveseconds]
[--threadlifetimeseconds threadlifetimeseconds]
[--taskqueuecapacity taskqueuecapacity]
[--description description]
[--property property]
[--target target]
jndi_name
----

[[sthref398]]

=== Description

The `create-managed-executor-service` subcommand creates a managed
executor service resource.

This subcommand is supported in remote mode only.

[[sthref399]]

=== 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.
`--enabled`::
  Determines whether the resource is enabled at runtime. The default
  value is `true`.
`--contextinfoenabled`::
  Determines whether container contexts are propagated to threads. If
  set to `true`, the contexts specified in the `--contextinfo` option
  are propagated. If set to `false`, no contexts are propagated and the
  `--contextinfo` option is ignored. The default value is `true`.
`--contextinfo`::
  Specifies individual container contexts to propagate to threads. Valid
  values are Classloader, JNDI, Security, and WorkArea. Values are
  specified in a comma-separated list and are case-insensitive. All
  contexts are propagated by default.
`--threadpriority`::
  Specifies the priority to assign to created threads. The default value
  is 5.
`--longrunningtasks`::
  Specifies whether the resource should be used for long-running tasks.
  The default value is `false`. If set to `true`, long-running tasks are
  not reported as stuck.
`--hungafterseconds`::
  Specifies the number of seconds that a task can execute before it is
  considered unresponsive. The default value is 0, which means that
  tasks are never considered unresponsive.
`--hungloggerinitialdelayseconds`::
  Specifies the number of seconds to delay logging the detection of hung
  tasks. The default value is 60.
`--hungloggerintervalseconds`::
  Specifies the number of seconds between logging the detection of hung
  tasks. The default value is 60.
`--corepoolsize`::
  Specifies the number of threads to keep in a thread pool, even if they
  are idle. The default value is 0. +
  When a new task is submitted and the number of running threads is less
  than `corepoolsize`, a new thread is created to handle the request.
  When the value for `corepoolsize` is 0 (the default), new threads are
  never created unless the task queue is full or the resource is using
  direct queuing. Direct queuing occurs when `taskqueuecapacity` is 0,
  or when `taskqueuecapacity` is 2147483647 and `corepoolsize` is 0.
`--maximumpoolsize`::
  Specifies the maximum number of threads that a thread pool can
  contain. The default value is 2147483647, which means that the thread
  pool is essentially unbounded and can contain any number of threads.
`--keepaliveseconds`::
  Specifies the number of seconds that threads can remain idle when the
  number of threads is greater than `corepoolsize`. The default value is 60.
`--threadlifetimeseconds`::
  Specifies the number of seconds that threads can remain in a thread
  pool before being purged, regardless of whether the number of threads
  is greater than `corepoolsize` or whether the threads are idle. The
  default value is 0, which means that threads are never purged.
`--taskqueuecapacity`::
  Specifies the number of submitted tasks that can be stored in the task
  queue awaiting execution. The default value is 2147483647, which means
  that the task queue is essentially unbounded and can store any number
  of submitted tasks.
`--description`::
  Descriptive details about the resource.
`--property`::
  Optional attribute name/value pairs for configuring the resource. +
  {productName} does not define any additional properties for this
  resource. Moreover, this resource does not currently use any
  additional properties.
`--target`::
  Specifies the target for which you are creating the resource. Valid
  targets are:

  `server`;;
    Creates the resource for the default server instance. This is the
    default value.
  `domain`;;
    Creates the resource for the domain.
  cluster_name;;
    Creates the resource for every server instance in the specified
    cluster.
  instance_name;;
    Creates the resource for the specified server instance.

[[sthref400]]

=== Operands

jndi_name::
  The JNDI name of this resource.

[[sthref401]]

=== Examples

[[GSRFM841]][[sthref402]]

==== Example 1   Creating a Managed Executor Service Resource

This example creates a managed executor service resource named
`concurrent/myExecutor`.

[source]
----
asadmin> create-managed-executor-service concurrent/myExecutor
Managed executor service concurrent/myExecutor created successfully.
Command create-managed-executor-service executed successfully.
----

[[sthref403]]

=== Exit Status

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

[[sthref404]]

=== See Also

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

link:delete-managed-executor-service.html#delete-managed-executor-service-1[`delete-managed-executor-service`(1)],
link:list-managed-executor-services.html#list-managed-executor-services-1[`list-managed-executor-services`(1)]


