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
`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