Столкнулся с проблемой при переходе на весеннюю загрузку 2. У меня есть такой класс конфигурации:
@Configuration
@EnableScheduling
@EnableAsync(mode = AdviceMode.ASPECTJ)
public class AsyncConfig implements SchedulingConfigurer, AsyncConfigurer
{
// ...
}
Вероятно, что когда я устанавливаю mode = AdviceMode.ASPECTJ, я получаю исключения при создании пользовательских бинов:
@Bean
public EhCacheCleaner ehcacheCleaner()
{
EhCacheCleaner cacheCleaner = new EhCacheCleaner();
cacheCleaner.setCacheManagersNames("hibernateCache", "sampleCache");
return cacheCleaner;
}
Исключение:
org.springframework.beans.factory.UnsatisfiedDependencyException: Ошибка создания бина с именем 'cacheCleanerService': неудовлетворительная зависимость, выраженная через поле 'ehcacheCleaner';вложенным исключением является org.springframework.beans.factory.BeanCreationException: ошибка создания компонента с именем 'ehcacheCleaner', определенным в ресурсе пути к классу [com / panbet / externalbet / core / config / AsyncConfig.class]: не найден соответствующий метод фабрики: factory bean'asyncConfig';фабричный метод 'ehcacheCleaner ()'.Убедитесь, что метод с указанным именем существует и не является статичным.
Если я удаляю mode = AdviceMode.ASPECTJ , это исключение исчезает, НО методы @Async не работают.Исключение:
BeanFactory должен быть установлен на AnnotationAsyncExecutionAspect для доступа к квалифицированному исполнителю
Как избавиться от этого?В чем причина исключений?Спасибо.