我需要改进Grails应用程序的响应时间,因此我需要使用并发处理来分离用户网页刷新后可以完成的工作
似乎Camel和后台线程插件可以为我做这个。我尝试了Camel方式,但得到'Session not exists'错误,看起来hibernate无法在Camel acynchonouse调用中运行。
在后台线程描述中,他们提到他们解决了这个问题。
任何人都可以告诉我哪个是更好的选择,哪个更适合Hibernate?
一切顺利 乌尔里希
答案 0 :(得分:2)
试试Quartz插件。最近发布的v0.4.2修复了由于Grails 1.2中的更改而影响一些插件的“会话不存在”错误。 Quartz非常适合做预定的后台工作和一次性工作。
答案 1 :(得分:1)
我在Grails 1.2.1中为Background-thread插件工作。我没有尝试过Camel Route。
我遇到的唯一问题是在开发时更改代码(我认为它是一个域类),但是一旦我重新启动应用程序它就一直工作并且从那时起。
希望有所帮助。
答案 2 :(得分:0)
Camel旨在用于系统之间的集成,并不适合您的场景。如果Quartz不适合你(正如Burt建议的那样),我建议您查看JMS - 它将允许您将异步消息发送到队列中进行处理。如果使用JMS plugin,则可以配置服务以响应传入消息和GORM /等。将按预期工作。但是,您需要运行JMS服务器来支持此体系结构,该体系结构可以在同一台计算机上运行。