关于使用Spring中的@Async注解异步任务

qq_27790801 2018-01-10 11:14:08
在使用@Async注解的时候 如果直接把这个注解标注在类上面 是可以正常运行的 类里所有的方法都变成异步的了。可是当把它标注在方法上的时候 这个注解就无效了 请问下可能的原因是什么呢?
...全文
521 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_27790801 2018-01-18
  • 打赏
  • 举报
回复
又试着瞎搞了一下 发现加仑@Async的方法在junit测试的时候是正常异步执行的 但是打开以后在网页里不正常执行的 求大佬帮忙
qq_27790801 2018-01-18
  • 打赏
  • 举报
回复
看了一下@EnableAsync这个注解 好像只有java类配置的方式才需要用到它吧?我是在xml文件中配置的 因为程序里面有用到quatz进行定期任务执行的配置 所以是这么写的 <task:executor id="executor" pool-size="10"/> <task:scheduler id="scheduler" pool-size="10"/> <task:annotation-driven scheduler="scheduler" executor="executor" proxy-target-class="true"/> 现在我直接把@Async加在类上面作为注解 整个类的方法都作为异步任务了 但是把这个注解加到类的方法中 却不是异步执行 也不会报错误 也没有在类内互相调用
qq_27790801 2018-01-18
  • 打赏
  • 举报
回复
的确没加@EnableAsync 这个注解 emm 是不是我在service里面的一个方法里面加了@Async 在使用它的controller类里要加@EnableAsync
托妞光环 2018-01-17
  • 打赏
  • 举报
回复
@EnableAsync 启动类上面没加这个注解吗
科比请留步 2018-01-10
  • 打赏
  • 举报
回复
标注在方法上只能在其他类比如controller类调用生效,如果在本类中调用,只会把它当作一个普通方法用,失去了异步的功能

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧