我的Grails 1.3.7应用程序需要处理大的XML文件,所以我有一个控制器,我上传了大文件,然后我将这个文件在服务器上的路径传递给后台线程,以便处理我可以立即返回控制器操作。在Grails中保留对后台线程的引用?
现在,我使用的是Grails Executor插件,它工作正常。我有一个上传域对象,随着处理过程的进行而更新(当前状态,已处理元素的数量等)。但现在我有2个要求:
- 当应用程序崩溃或服务器关机,我想拦截和更新我上传域说,过程被中断
- 我希望用户可以点击一个链接时,中断处理自己和可能来自控制器动作恢复它
有没有办法,我能坚持一提到我的后台任务,并与拦截框架的java.util.concurrent任何中断(一种方式由Executor插件使用)?
如果我不能用util.concurrent做,它可以与其他插件/框架?例如,我看了一下Quartz,但我不明白该怎么做。