我在 Spring Async 带注释的服务方法中持久化 Grails 域对象时遇到问题。
这是简化的代码:
class DocumentService {
@Async
def process(Long documentId, Organization organization) {
...
def organizationCari = new OrganizationCari(organization: organization, active: true)
organizationCari.save(flush: true, failOnError: true)
print "Document processing..."
...
print "Document processed..."
}
}
我有异步运行的方法,但是我似乎无法在控制台上打印任何内容,因为线程在保存操作时结束。我没有收到任何错误,并且域对象仍然没有持久化。
删除 Async 注释可以解决问题,但我必须异步运行该方法。
我将 Grails 2.1.1 与 Spring 3.1.2 一起使用。