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

= create-managed-scheduled-executor-service

[[create-managed-scheduled-executor-service-1]][[GSRFM680]][[create-managed-scheduled-executor-service]]

== create-managed-scheduled-executor-service

Creates a managed scheduled executor service resource

[[sthref405]]

=== Synopsis

[source]
----
asadmin [asadmin-options] create-managed-scheduled-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]
[--keepaliveseconds keepaliveseconds]
[--threadlifetimeseconds threadlifetimeseconds]
[--description description]
[--property property]
[--target target]
jndi_name
----

[[sthref406]]

=== Description

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

This subcommand is supported in remote mode only.

[[sthref407]]

=== 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, which means that a thread is created
  when the first task is scheduled.
`--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.
`--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.

[[sthref408]]

=== Operands

jndi_name::
  The JNDI name of this resource.

[[sthref409]]

=== Examples

[[GSRFM461]][[sthref410]]

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

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

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

[[sthref411]]

=== Exit Status

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

[[sthref412]]

=== See Also

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

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


