Grails:服务器到客户端通知

时间:2011-07-23 14:15:09

标签: ajax multithreading grails push-notification

我正在构建一个Grails应用程序,它可以在Web上查询多个API。问题是这个查询非常耗时,用户点击一个按钮并等待很长时间而页面没有任何变化真的很烦人。

我的应用程序的基本架构是,当用户单击按钮时,客户端向服务器端执行带有Prototype库的Ajax请求。然后,服务器端连接到Last.fm API并检索事件列表。当服务器端完成使用事件填充列表时,它会向客户端发送JSON响应,允许客户端为Google地图上的每个事件创建标记。

我想要实现的是,服务器端不是等待从API检索的所有事件发送JSON响应,而是在检索到一个事件后立即发送JSON响应,允许客户端填充在其他事件尚未被检索时进行映射。

任何想法我该如何实现?我读到了Ajax Push的概念,但我不确定它是否是我需要的。 谢谢你的帮助!

2 个答案:

答案 0 :(得分:1)

无法在客户端上打开服务器可能连接的侦听连接。相反,您需要的是与服务器的连接,该服务器保持活动状态并可用于接收事件。这样,您可以直接返回“action”请求,并在last.fm请求完成后通过持久事件连接通知客户端。

那就是说,我实施的方式是使用ajax keep alive。

答案 1 :(得分:0)

看看cometd plugin