我想通过使用线程应用程序来减少阻塞IO处理。基本上我想在处理背景中的信息时给用户返回一个响应。任何人都可以将我指向正确的方向吗?请紧急需要解决方案。Grails线程
在此先感谢
- 附加评论
我建立一个前端Web的应用程序,JSON数据发送到要保存的服务器。我想发送回应给用户,而不必等待数据库事务。该操作将在稍后在后台执行。
我想通过使用线程应用程序来减少阻塞IO处理。基本上我想在处理背景中的信息时给用户返回一个响应。任何人都可以将我指向正确的方向吗?请紧急需要解决方案。Grails线程
在此先感谢
- 附加评论
我建立一个前端Web的应用程序,JSON数据发送到要保存的服务器。我想发送回应给用户,而不必等待数据库事务。该操作将在稍后在后台执行。
我不知道它是否适合你(因为你不指定你的用例是什么),但你见过the Executor plugin for grails?
这工作的神奇,谢谢欧比旺克诺比。可能的力量与你 – ferronrsmith
你为什么不尝试生产者 - 消费者的方式被发现。你可以看看弹簧事件插件http://www.grails.org/plugin/spring-events
这是我对你想说的话的解释。请纠正我,因为我不是前端技术方面的专家,我可以从中学习。
使用基本的ajax,在请求完成后,通常会有一个来自服务器的响应。您希望服务器向客户端/浏览器发送两个通知。一个在服务器收到请求后立即发出,另一个在数据库事务/请求完成后立即发送。 如果是这样的话,那么我想你对服务器端异步特别不感兴趣(以上可以通过或不通过)。服务器端异步是servlet 3和spring 3.1的一部分。 Grails不会支持这个固有的功能,直到grails 2.0参考here
现在,实现上述目标。也许彗星可以帮助。请阅读一些注意事项here和here。使用彗星,你基本上可以在服务器之间建立双向连接。所以,您可以随时向客户端发送通知。因此,您可以在请求后立即将一个响应发送回客户端,并在数据库事务完成后立即发送一个响应。
我试图避免彗星 – ferronrsmith
有一个grails JMS Plugin这将使用旧的尝试和真正的企业异步执行方法通过向grails服务发送消息并让这些发生在框架管理的线程上。
是的,我们尝试了这种尝试,但根据另一项服务证明失败倾向。我们的activemq服务器负担过重,所以我寻求替代方案,执行者发挥了魔力 – ferronrsmith
太通用。你能更具体地描述你的任务吗? –
添加一些评论 – ferronrsmith