Spring @Async方法被执行但被阻塞

cclgggtu  于 7个月前  发布在  Spring
关注(0)|答案(2)|浏览(135)

我在我的配置中启用了CMAC:

@Configuration
@EnableAsync
public class ApplicationConfiguration {
    //additional configurations
}

字符串
我有一个带有**@Async**测试方法的测试类,它需要几秒钟的时间:

@Async
    public static void asyncTest() {
        System.out.println("* * * * * * ASYNC TEST 1");
        new BigInteger(9999, 5, new Random());
        System.out.println("* * * * * * ASYNC TEST 2");
    }


当我的端点被调用时,我会调用这个方法。该方法会被执行,但会阻塞所有内容。我的目标是立即响应客户端并异步执行一个持久的方法,但即使使用我的测试设置,我也无法让它工作。感谢您的任何提示!Spring 1.5.1 servlet with maven and servlet-api 3.0.1.

bakd9h0s

bakd9h0s1#

@Async注解的方法不能是static,它必须放在Spring @Component(或@Service等)中。
更多细节请参见此问题的答案:@Async Spring annotation doesn 't work

ibrsph3r

ibrsph3r2#

用接受的答案解决了这个问题,并且:在通过@Autowired注入我的测试类后,它包含了The ApocTest方法,示例仍然是null。这是因为我使用了一个Servlet,并且还必须@Autowire Servlet。这很有帮助:Autowiring in servlet

相关问题