org.springframework.scheduling.annotation

## Class AsyncConfigurationSelector

- java.lang.Object
- - org.springframework.context.annotation.AdviceModeImportSelector<EnableAsync>
  - - org.springframework.scheduling.annotation.AsyncConfigurationSelector

- All Implemented Interfaces:
    ImportSelector

      public class AsyncConfigurationSelector
      extends AdviceModeImportSelector<EnableAsync>

  Selects which implementation of `AbstractAsyncConfiguration` should be used based on the value of `EnableAsync.mode()` on the importing `@Configuration` class.
  Since:
    3.1
  Author:
    Chris Beams
  See Also:
    `EnableAsync`, `ProxyAsyncConfiguration`, `AnnotationConfigUtils.ASYNC_EXECUTION_ASPECT_CONFIGURATION_CLASS_NAME`

- - ### Field Summary

    - ### Fields inherited from class org.springframework.context.annotation.AdviceModeImportSelector

      `DEFAULT_ADVICE_MODE_ATTRIBUTE_NAME`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `AsyncConfigurationSelector()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `String[]` | `selectImports(AdviceMode adviceMode)` Determine which classes should be imported based on the given `AdviceMode`.

    - ### Methods inherited from class org.springframework.context.annotation.AdviceModeImportSelector

      `getAdviceModeAttributeName, selectImports`

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

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

- - ### Constructor Detail

    - #### AsyncConfigurationSelector

          public AsyncConfigurationSelector()

  - ### Method Detail

    - #### selectImports

          public String[] selectImports(AdviceMode adviceMode)

      Determine which classes should be imported based on the given `AdviceMode`.

      Returning `null` from this method indicates that the `AdviceMode` could not be handled or was unknown and that an `IllegalArgumentException` should be thrown.

      Specified by:
        `selectImports` in class `AdviceModeImportSelector<EnableAsync>`
      Parameters:
        `adviceMode` - the value of the advice mode attribute for the annotation specified via generics.
      Returns:
        `ProxyAsyncConfiguration` or `AspectJAsyncConfiguration` for `PROXY` and `ASPECTJ` values of `EnableAsync.mode()`, respectively