org.springframework.scheduling.concurrent

## 类 DefaultManagedAwareThreadFactory

- java.lang.Object
- - org.springframework.util.CustomizableThreadCreator
  - - org.springframework.scheduling.concurrent.CustomizableThreadFactory
    - - org.springframework.scheduling.concurrent.DefaultManagedAwareThreadFactory

- 所有已实现的接口:
    Serializable, ThreadFactory, org.springframework.beans.factory.InitializingBean

      public class DefaultManagedAwareThreadFactory
      extends CustomizableThreadFactory
      implements org.springframework.beans.factory.InitializingBean

  JNDI-based variant of `CustomizableThreadFactory`, performing a default lookup for JSR-236's "java:comp/DefaultManagedThreadFactory" in a Java EE 7 environment, falling back to the local `CustomizableThreadFactory` setup if not found.

  This is a convenient way to use managed threads when running in a Java EE 7 environment, simply using regular local threads otherwise - without conditional setup (i.e. without profiles).

  Note: This class is not strictly JSR-236 based; it can work with any regular `ThreadFactory` that can be found in JNDI. Therefore, the default JNDI name "java:comp/DefaultManagedThreadFactory" can be customized through the `"jndiName"` bean property.

  从以下版本开始:
    4.0
  作者:
    Juergen Hoeller
  另请参阅:
    序列化表格

- - ### 字段概要

    字段
    限定符和类型 | 字段和说明
    --- | ---
    `protected Log` | `logger`

  - ### 构造器概要

    构造器
    构造器和说明
    `DefaultManagedAwareThreadFactory()`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `afterPropertiesSet()`
    `Thread` | `newThread(Runnable runnable)`
    `void` | `setJndiEnvironment(Properties jndiEnvironment)` Set the JNDI environment to use for JNDI lookups.
    `void` | `setJndiName(String jndiName)` Specify a JNDI name of the `ThreadFactory` to delegate to, replacing the default JNDI name "java:comp/DefaultManagedThreadFactory".
    `void` | `setJndiTemplate(JndiTemplate jndiTemplate)` Set the JNDI template to use for JNDI lookups.
    `void` | `setResourceRef(boolean resourceRef)` Set whether the lookup occurs in a Java EE container, i.e. if the prefix "java:comp/env/" needs to be added if the JNDI name doesn't already contain it.

    - ### 从类继承的方法 org.springframework.util.CustomizableThreadCreator

      `createThread, getDefaultThreadNamePrefix, getThreadGroup, getThreadNamePrefix, getThreadPriority, isDaemon, nextThreadName, setDaemon, setThreadGroup, setThreadGroupName, setThreadNamePrefix, setThreadPriority`

    - ### 从类继承的方法 java.lang.Object

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

- - ### 字段详细资料

    - #### logger

          protected final Log logger

  - ### 构造器详细资料

    - #### DefaultManagedAwareThreadFactory

          public DefaultManagedAwareThreadFactory()

  - ### 方法详细资料

    - #### setJndiTemplate

          public void setJndiTemplate(JndiTemplate jndiTemplate)

      Set the JNDI template to use for JNDI lookups.
      另请参阅:
        `JndiAccessor.setJndiTemplate(org.springframework.jndi.JndiTemplate)`

    - #### setJndiEnvironment

          public void setJndiEnvironment(Properties jndiEnvironment)

      Set the JNDI environment to use for JNDI lookups.
      另请参阅:
        `JndiAccessor.setJndiEnvironment(java.util.Properties)`

    - #### setResourceRef

          public void setResourceRef(boolean resourceRef)

      Set whether the lookup occurs in a Java 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".
      另请参阅:
        `JndiLocatorSupport.setResourceRef(boolean)`

    - #### setJndiName

          public void setJndiName(String jndiName)

      Specify a JNDI name of the `ThreadFactory` to delegate to, replacing the default JNDI name "java:comp/DefaultManagedThreadFactory".

      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".

      另请参阅:
        `setResourceRef(boolean)`

    - #### afterPropertiesSet

          public void afterPropertiesSet()
                                  throws NamingException

      指定者:
        `afterPropertiesSet` 在接口中 `org.springframework.beans.factory.InitializingBean`
      抛出:
        `NamingException`

    - #### newThread

          public Thread newThread(Runnable runnable)

      指定者:
        `newThread` 在接口中 `ThreadFactory`
      覆盖:
        `newThread` 在类中 `CustomizableThreadFactory`