Multithreading 如何使用Grails2.3.11在后台运行线程

Multithreading 如何使用Grails2.3.11在后台运行线程,multithreading,grails,grails-plugin,Multithreading,Grails,Grails Plugin,正在尝试编写在后台运行的exportservice。 逻辑: 1:当用户单击导出按钮时 2:导出功能将在backgound中运行。用户将继续其他工作。。无需等待导出功能完成 我正在使用的是Grails2.3.11你知道生成任意线程并让它们自己独立运行是危险的吗?最终可能会有几十个导出线程在运行,而无法控制它们 更好的方法包括使用quartz scheduler并在需要时运行导出作业,使用异步(消息驱动?)辅助应用程序/线程和一些web容器提供内置辅助服务 简单地说,有很多方法可以安全地、可控地执

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

1:当用户单击导出按钮时

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


我正在使用的是Grails2.3.11

你知道生成任意线程并让它们自己独立运行是危险的吗?最终可能会有几十个导出线程在运行,而无法控制它们

更好的方法包括使用quartz scheduler并在需要时运行导出作业,使用异步(消息驱动?)辅助应用程序/线程和一些web容器提供内置辅助服务


简单地说,有很多方法可以安全地、可控地执行此操作。

您可以在服务方法上使用@DelegateAsync关键字,让全局执行器服务执行它们

文档还描述了如何处理结果事件: