如何使用事件推送插件动态创建新主题

时间:2013-02-20 13:59:21

标签: events grails

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

events = {
    "topicName"  browser: true  
}

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

以前者为例,我需要为在运行时在聊天系统中实例化的每个会话创建一个新的主题,以便可以将消息推送到每个会话参与者,因此沿着< / p>

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

这将允许我从服务中拨打电话:

    import grails.events.*

    class MyService {

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

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

实现此方法的方法

1 个答案:

答案 0 :(得分:4)

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

events = {
   'newNotification_*' browser:true
}

当我需要发送通知时:

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

然后在我的浏览器中,我可以听到类似这样的通知:

grailsEvents.on("newNotification_"+myUser,function(data){