使用 Gretty Gradle 插件测试 WebSockets

Testing WebSockets With The Gretty Gradle Plugin

我创建了一个简单的 war,其中包括一个 servlet(在 web.xml 中定义)和一个 JSR 356 websocket(由注释定义)。

当我部署到我的 tomcat 7.0.59(通过 tomcat 管理器)时,servlet 和 websocket 都可以正常工作。但是,当我使用 gretty gradle 插件来测试我的 war 时,servlet 工作但 JSR 356 websocket 不工作。我在 gretty 中尝试了 tomcat 7.0.59、tomcat 8.0.20 和 Jetty 9.2.9.v20150224。有什么明显的地方我可能做错了吗?

我假设我正在使用最新的 gretty 版本,因为我通过以下方式将 gretty 添加到我的 gradle 构建文件:

apply plugin: 'war'
apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'

请检查 Gretty 1.2.1 - https://github.com/akhikhl/gretty

它支持开箱即用的 websockets,无需配置。

Gretty 还包括两个使用 websockets 的工作示例:

https://github.com/akhikhl/gretty/tree/master/examples/websocket

https://github.com/akhikhl/gretty/tree/master/examples/springBootWebSocket