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]
[--hungloggerprintonce={false|true}]
[--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.
`--hungloggerprintonce`::
  Specifies whether to print the warning message once or repeatedly.
  The default value is false. If set to true, the warning message is
  printed only once when detect a hung task exceeds "hungafterseconds".
`--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)]


