【问题标题】:Spring @Async not working on an anonymous classSpring @Async 不适用于匿名类
【发布时间】:2017-07-13 07:50:03
【问题描述】:

我在 Anonymous 类的方法中使用 @Async 标记。 Spring AOP 是否支持这个:

  private void scheduleProcessing(final SomePojo somepojo) {
      taskScheduler.schedule(new Runnable() {
          @Override
          @Async("myThreadPoolTaskExecutor")
          public void run() {
            // biz logic
          }
      }, 20, TimeUnit.SECONDS);
  }

【问题讨论】:

  • 显然,应从类外部(AOP 代理)调用使用 Spring 注释(如 Async、Transactional 等)表示的方法。当线程启动时,这里的 run 将在内部某处被调用

标签: spring-scheduled spring-async


【解决方案1】:

显然,使用 @Async、@Transactional 等 spring 注释表示的方法应该从类外部调用(AOP 代理)。当线程启动时,这里的 run 将在内部某处被调用,因此不会将异步性应用于该方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 2012-09-03
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多