SpringBoot下@Async不生效问题

JDog 发布于 2017/11/19 20:56
阅读 8K+
收藏 0
@Service
class A impl AA{

    @Autowired
    private B b;

    @Transactional
    private void a(){
        b.sync_1();
        b.sync_2();
        ///sync_2会执行,sync_1不执行
    }
}

@Service
class B impl BB{

    @Autowired
    private EDao eDao;

    @Async
    public void sync_1(){
        eDao.insert();
    }

    @Async
    public void sync_2(){
        System.out.print("sync2");
    }
}

 

加载中
0
J
JDog

人工置顶。。。。

0
哎码
哎码
该评论暂时无法显示,详情咨询 QQ 群:点此入群
哎码
哎码
回复 @JDog : 那就不清楚了,反正我只加了一个enableAsync别的都没配置就默认生效了
J
JDog
没有用的、我试过~ 已经在main上开启Async了
l
lanwp
该评论暂时无法显示,详情咨询 QQ 群:点此入群
0
技术家

你需要配置异步执行。创建一个配置类实现AsyncConfigurer。

@Configuration
@EnableAsync
public class SpringAsyncConfigurer implements AsyncConfigurer {

    @Override
    public Executor getAsyncExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(10);
        executor.setMaxPoolSize(20);
        executor.setQueueCapacity(20);
        executor.setThreadNamePrefix("MyExecutor-");
        executor.initialize();
        return executor;
    }

    @Override
    public AsyncUncaughtExceptionHandler getAsyncUncaughtExceptionHandler() {
        return null;
    }

}

 

技术家
回复 @JDog : 是不没有扫描到这个配置类。有没有报错之类
J
JDog
没有用、还是不能异步
0
rockingMan
rockingMan
该评论暂时无法显示,详情咨询 QQ 群:点此入群
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部