首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JHipster气氛websocket不连接

JHipster气氛websocket不连接
EN

Stack Overflow用户
提问于 2014-02-24 21:33:11
回答 1查看 2.6K关注 0票数 3

使用一个新的脚手架应用程序,它是从"yo“生成的,并以"mvn spring:run”和"grunt server“开始的,我可以加载该应用程序并执行诸如登录、查看度量、查看会话、设置、日志和审核等操作。但是,每当我看到“用户跟踪器”页面时,我什么都看不到?

我相信这部分应该是演示气氛,websocket / AngularJS集成?查看浏览器控制台日志,我看到以下内容:

代码语言:javascript
复制
Websocket failed. Downgrading to Comet and resending atmosphere.js:2866
GET http://0.0.0.0:9000/websocket/activity?X-Atmosphere-tracking-id=0&X-Atmosph…true&X-Cache-Date=0application%2Fjson&X-atmo-protocol=true&_=1393276976964 404 (Not Found)   

似乎尝试了一个websocket连接,但最终超时了,并且长期轮询失败了?我正在使用最新的Chrome (也在Firefox和Safari的最新版本上试用)。

我错过了一些简单的东西吗?

--更新1 --

将其作为WAR部署到Tomcat 7.0.50显示的是用户跟踪器页面中大气中的数据,但它不断循环试图获得WebSocket连接(HTTP代码101: switching protocols),因此用户数据周期性地出现和消失。我在Chrome中看到了这样一个错误:

代码语言:javascript
复制
No suspended connection available. Make sure atmosphere.subscribe has been called and request.onOpen invoked before invoking this method 

Tomcat日志显示了以下内容:

代码语言:javascript
复制
[WARN] org.atmosphere.cpr.DefaultAnnotationProcessor - Unable to detect annotations. Application may fail to deploy.

--更新2 --

将它作为战争部署到Jetty 8.1.14.v20131031 (Jetty 9.1.1.v20140108抛出错误)并使用Chrome 32.0.1700.107测试它,似乎适用于长轮询的回退传输。但是,由于大气出于某种原因认为servlet容器是Tomcat,所以到WebSockets的初始连接失败了?在服务器日志中,它引发以下问题:

代码语言:javascript
复制
java.lang.ClassCastException: org.eclipse.jetty.server.Request cannot be cast to org.apache.catalina.connector.RequestFacade
    at org.atmosphere.container.TomcatWebSocketUtil.doService(TomcatWebSocketUtil.java:141)
    at org.atmosphere.container.Tomcat7Servlet30SupportWithWebSocket.service(Tomcat7Servlet30SupportWithWebSocket.java:62)

再次感谢你的帮助--肯定取得了进展:)

--更新3 --

概括一下每件事:

  1. 目前"mvn spring-boot:run“和"grunt server”不一起用于Websockets或长轮询。
  2. 如果您将JHipster WAR (mvn包)部署到Jetty8.1.14.v20131031,那么它可以工作,但是您需要从JHipster pom.xml中删除以下依赖项,否则就无法提供WebSocket支持: org.springframework.boot弹簧-启动-启动-猫
  3. 啊。错误警报--我让它使用流运行,而不是WebSocket,所以websockets仍然有来自update2的错误
EN

回答 1

Stack Overflow用户

发布于 2014-02-24 21:54:30

不,你没有错过什么:-)

如果您直接使用Java服务器,它应该可以工作:您需要使用另一个浏览器(或另一个选项卡)连接到应用程序,您将看到它在工作。

但是,对于"grunt server",有一个bug: Grunt代理只是不支持Websocket,所以它不工作.因此,有一件奇怪的事情,那就是回退运输不起作用。

我把它填成窃听器了。

更新1

关于您的更新,它看起来还有另一个气氛错误:http://atmosphere-framework.2306103.n4.nabble.com/Log-warning-that-Atmosphere-is-unable-to-detect-annotations-td4658159.html

看起来Atmopshere在WAR中找不到它的注释,您能在开发模式("mvn spring-boot:run")中尝试相同的东西吗?这意味着这是Tomcat战争的一个问题

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21999490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档