Spring @Async与App Engine?

时间:2015-05-14 17:08:44

标签: java spring google-app-engine servlets

我试图使用两个@Async带注释的方法在App Engine上异步调用两个单独的servlet。 App Enging上运行的代码不使用Spring。它只是使用普通的Java Servlet API。调用servlet的代码使用的是Spring。

调用方法的@Async似乎不起作用。每个方法都被调用,并按正常顺序返回。 (method-> return,method-> return)

我对每种公开方法都有@Async个注释 我在调用方法的类上有@EnableAsync注释。 这是两个单独的类。没有涉及静态类。

我不确定这是因为App Engine不支持Servlet 3.0,还是我没有正确配置@Async属性。

提前致谢!

2 个答案:

答案 0 :(得分:0)

不幸的是,GAE不支持this issue上显示的Serlvet 3.0规范。你可以显然转移到托管虚拟机并使用它但沙盒GAE暂时不会使用3.0。

答案 1 :(得分:0)

问题解决了!

问题在于我在哪里放置 xmlns:task =“http://www.springframework.org/schema/task”任务:注释驱动条目。

我们的应用程序中有几个XML文件(导入其他XML文件)。最初,我将这些条目放在XML中,该XML包含包含 @Async 注释的bean的配置。为了让它工作,我不得不把它放在 applicationContext.xml

调用是在不同的线程上异步进行的,App Engine正在处理它们。