我目前有一个 Controller ,可以执行一些繁重的工作(大量的csv文件处理-cvs文件范围从150Mb到400Mb)。 CSV文件已上传到临时文件位置。处理是通过将文件位置从外部jar传递到API的服务完成的(基本Java API调用-无需Web服务调用或任何其他操作)。服务方法大约需要2-3次返回,并且用户当前必须等待这段时间才能完成处理并提交表单后加载页面-这并不是最佳的用户体验。
面对此类问题的Grails用户,针对此类问题的最佳解决方案是什么?我是Grails和JavaEE的新手,因此这基本上是一个关于如何构建这样的系统以及可用于该类库的问题。
我已经用谷歌搜索了很多。人们已经用JMS,RabbitMQ等作为对类似问题的解决方案。但是这些似乎让我的菜鸟头脑中的火箭筒换成了一种解决方案。非常感谢您的建议。
谢谢。
最佳答案
如果希望该方法在其他线程中执行,则可以在服务方法上使用Spring @Async批注。这是我在Grails应用程序中采用的方法,这非常简单。
这里有一个如何设置的示例:
http://tux2323.blogspot.co.uk/2012/05/grails-and-spring-async-annotation.html?m=1
关于performance - Grails- Controller 中耗时的处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17623088/