SSE失败:使用event-push插件在grails中注册事件监听器后出现问题

时间:2015-05-13 10:52:33

标签: javascript events grails grails-plugin

我有一个grails版本2.3.8的应用程序。我已经安装了事件推送插件来将通知从服务器推送到浏览器。我的buildConfig.groovy看起来像这样,

plugins {
   build ":tomcat:7.0.42"
   compile ":events-push:1.0.M7"
} 
grails.servlet.version = "3.0"
grails.tomcat.nio=true

和我的听众,

try {
  var grailsEvents = new grails.Events("${createLink(uri:'')}", {transport: "sse"});

  grailsEvents.on('ActiveCallNotification', function (data) {
                     console.log("GOT recording!");
  });
} catch (error) {
     console.log("ERROR: " + error.toString());
}

从控制器发射事件

def notifyActiveCall() {
        event topic: 'ActiveCallNotification',data:"hi"
}

我的活动,

events = {
    'ActiveCallNotification' browser: true
}

现在,当我浏览包含侦听器代码的视图时,我一次又一次地出现以下错误,

EventSource's response has a MIME type ("text/html") that is not "text/event-stream". Aborting the connection. jquery.atmosphere.js:2297 
SSE failed. Downgrading to fallback transport and resending

如果我在视图中注释代码,则不会发生此错误,显然事件不受理。任何帮助,将不胜感激。我正在使用chrome。

安装的插件列表

compile ":scaffolding:2.0.3"
compile ':cache:1.1.2'
compile ":twitter-bootstrap:3.1.1.3"
compile ':jaxrs:0.10'
compile ":quartz:1.0.1"
compile ":joda-time:1.4"
compile ":spring-security-core:2.0-RC4"
compile ":grails-melody:1.53.0"
compile ":quartz-monitor:1.0"
compile ":audit-logging:1.0.1"
compile ":executor:0.3"
runtime ":hibernate:3.6.10.13" // or ":hibernate4:4.3.5.1"
runtime ":database-migration:1.4.0"
runtime ":jquery:1.11.1"
runtime ":resources:1.2.7"

1 个答案:

答案 0 :(得分:0)

自上次评论(2015年5月13日13:37)以来,您是否尝试过关注grails命令:

grails clean-all
grails refresh-dependencies

您也可以手动删除位于此处的文件夹内容:

~/.grails

它帮助我解决了类似问题,现在已经过了一段时间,你也可以查看插件更新,使用更新的版本可以帮助解决冲突或错误的依赖关系。