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]
[--hungloggerprintonce={false|true}]
[--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.
`--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, 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)]


