Package org.springframework.scheduling.concurrent

# Class DefaultManagedTaskScheduler

java.lang.Object
org.springframework.scheduling.concurrent.ConcurrentTaskExecutor
org.springframework.scheduling.concurrent.ConcurrentTaskScheduler
org.springframework.scheduling.concurrent.DefaultManagedTaskScheduler

All Implemented Interfaces:
  `Executor`, `org.springframework.beans.factory.InitializingBean`, `org.springframework.core.task.AsyncListenableTaskExecutor`, `org.springframework.core.task.AsyncTaskExecutor`, `org.springframework.core.task.TaskExecutor`, `SchedulingTaskExecutor`, `TaskScheduler`

public class DefaultManagedTaskScheduler extends ConcurrentTaskScheduler implements org.springframework.beans.factory.InitializingBean
JNDI-based variant of `ConcurrentTaskScheduler`, performing a default lookup for JSR-236's "java:comp/DefaultManagedScheduledExecutorService" in a Jakarta EE environment. Expected to be exposed as a bean, in particular as the default lookup happens in the standard `InitializingBean.afterPropertiesSet()` callback.

Note: This class is not strictly JSR-236 based; it can work with any regular `ScheduledExecutorService` that can be found in JNDI. The actual adapting to `ManagedScheduledExecutorService` happens in the base class `ConcurrentTaskScheduler` itself.

Since:
  4.0
Author:
  Juergen Hoeller
See Also:
  - `ManagedScheduledExecutorService`

## Nested Class Summary

## Nested classes/interfaces inherited from class org.springframework.scheduling.concurrent.ConcurrentTaskExecutor

`ConcurrentTaskExecutor.ManagedTaskBuilder`

## Field Summary

### Fields inherited from interface org.springframework.core.task.AsyncTaskExecutor

`TIMEOUT_IMMEDIATE, TIMEOUT_INDEFINITE`

## Constructor Summary

Constructors
Constructor
Description
`DefaultManagedTaskScheduler()`

## Method Summary

Modifier and Type
Method
Description
`void`
`afterPropertiesSet()`
`void`
`setJndiEnvironment(Properties jndiEnvironment)`
Set the JNDI environment to use for JNDI lookups.
`void`
`setJndiName(String jndiName)`
Specify a JNDI name of the `Executor` to delegate to, replacing the default JNDI name "java:comp/DefaultManagedScheduledExecutorService".
`void`
`setJndiTemplate(JndiTemplate jndiTemplate)`
Set the JNDI template to use for JNDI lookups.
`void`
`setResourceRef(boolean resourceRef)`
Set whether the lookup occurs in a Jakarta EE container, i.e.

### Methods inherited from class org.springframework.scheduling.concurrent.ConcurrentTaskScheduler

`execute, getClock, schedule, schedule, scheduleAtFixedRate, scheduleAtFixedRate, scheduleWithFixedDelay, scheduleWithFixedDelay, setClock, setErrorHandler, setScheduledExecutor, submit, submit, submitListenable, submitListenable`

### Methods inherited from class org.springframework.scheduling.concurrent.ConcurrentTaskExecutor

`execute, getConcurrentExecutor, setConcurrentExecutor, setTaskDecorator`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.springframework.core.task.AsyncTaskExecutor

`submitCompletable, submitCompletable`

### Methods inherited from interface org.springframework.scheduling.SchedulingTaskExecutor

`prefersShortLivedTasks`

### Methods inherited from interface org.springframework.scheduling.TaskScheduler

`schedule, scheduleAtFixedRate, scheduleAtFixedRate, scheduleWithFixedDelay, scheduleWithFixedDelay`

## Constructor Details

### DefaultManagedTaskScheduler

public DefaultManagedTaskScheduler()

## Method Details

### setJndiTemplate

public void setJndiTemplate(JndiTemplate jndiTemplate)
Set the JNDI template to use for JNDI lookups.

See Also:
  - `JndiAccessor.setJndiTemplate(org.springframework.jndi.JndiTemplate)`

### setJndiEnvironment

public void setJndiEnvironment(Properties jndiEnvironment)
Set the JNDI environment to use for JNDI lookups.

See Also:
  - `JndiAccessor.setJndiEnvironment(java.util.Properties)`

### setResourceRef

public void setResourceRef(boolean resourceRef)
Set whether the lookup occurs in a Jakarta EE container, i.e. if the prefix "java:comp/env/" needs to be added if the JNDI name doesn't already contain it. PersistenceAnnotationBeanPostProcessor's default is "true".

See Also:
  - `JndiLocatorSupport.setResourceRef(boolean)`

### setJndiName

public void setJndiName(String jndiName)
Specify a JNDI name of the `Executor` to delegate to, replacing the default JNDI name "java:comp/DefaultManagedScheduledExecutorService".

This can either be a fully qualified JNDI name, or the JNDI name relative to the current environment naming context if "resourceRef" is set to "true".

See Also:
  - `ConcurrentTaskExecutor.setConcurrentExecutor(java.util.concurrent.Executor)`
  - `setResourceRef(boolean)`

### afterPropertiesSet

public void afterPropertiesSet() throws NamingException

Specified by:
  `afterPropertiesSet` in interface `org.springframework.beans.factory.InitializingBean`
Throws:
  `NamingException`