如何使用grails 2.3.11在后台运行一个线程

时间:2015-06-18 07:37:02

标签: multithreading grails grails-plugin

尝试编写后台运行的exportservice。 逻辑:

1:当用户点击导出按钮

2:导出功能将在backgound中运行。并且用户将继续其他工作..无需等到导出功能完成

我正在使用 grails 2.3.11

2 个答案:

答案 0 :(得分:0)

你知道产生任意线程并将它们留在自己的位置可能会很危险吗?您最终可能会运行数十个导出线程,无法控制它们。

更好的方法包括使用石英调度程序并在需要时运行导出作业,拥有异步(消息驱动?)工作程序/线程和一些Web容器提供内置工作服务。

简单地说,有很多方法可以安全地以受控的方式做到这一点。

答案 1 :(得分:0)

您可以在服务方法上使用@DelegateAsync关键字来让它们由全局执行程序服务执行。

该文档还描述了如何处理结果事件: https://grails.github.io/grails-doc/latest/guide/async.html