1

要为事件创建主题,我需要在 conf/MyEvents.groovy 文件中声明它,如下所示:

events = {
    "topicName"  browser: true  
}

我想将服务器推送用于两件事,将聊天消息推送到客户端以及将通知推送到客户端。

以前者为例,我需要为运行时在聊天系统中实例化的每个对话创建一个新主题,以便可以将消息推送给每个对话参与者,所以沿着

new Event(topic:'anotherTopicName',...)

这将允许我从服务中调用:

    import grails.events.*

    class MyService {

       def doSomething(){
            ...
            event(topic:'anotherNewTopic', data:data)           
       }
    }

有没有一种方法可以让我创建一个新的事件主题?或者是否有另一种使用事件推送来实现这一点的方法

4

1 回答 1

4

我刚刚做了类似的事情。我需要根据已登录的用户显示一些通知,因此我在 MyEvents.groovy 中进行了设置:

events = {
   'newNotification_*' browser:true
}

当我需要发送通知时:

event topic:"newNotification_${userId}",data:n

然后在我的浏览器中,我可以通过类似于以下内容来收听这些通知:

grailsEvents.on("newNotification_"+myUser,function(data){
于 2013-05-20T07:38:12.760 回答