使用 websocket 连接使 Spring 引导应用程序保持活动状态
Keep Spring Boot application alive with websocket connection
我的 Spring 启动应用程序非常小,只有一项工作:通过打开与第三方网站的 websocket 连接充当客户端并侦听消息。
问题是在我的 javax.websocket.Endpoint 实现初始化并创建连接后,我的 Spring 启动应用程序关闭。
我原以为任何打开的 websocket 连接都会让我的应用程序保持运行 运行?
我不需要嵌入式 servlet 容器,所以我在 application.yaml 中专门设置了 web-environment: false
。
有没有办法在不添加我永远不会使用的 servlet 容器的情况下解决这个问题?
你可以简单地循环下去。
while (true) {}
我通过使用 OkHttpClient 并在我的 @Configuration
中用 @PostConstruct
初始化它来解决这个问题。我用 @Component
注释了侦听器,它现在不需要嵌入式 servlet 容器就可以保持活动状态。
我的 Spring 启动应用程序非常小,只有一项工作:通过打开与第三方网站的 websocket 连接充当客户端并侦听消息。
问题是在我的 javax.websocket.Endpoint 实现初始化并创建连接后,我的 Spring 启动应用程序关闭。
我原以为任何打开的 websocket 连接都会让我的应用程序保持运行 运行?
我不需要嵌入式 servlet 容器,所以我在 application.yaml 中专门设置了 web-environment: false
。
有没有办法在不添加我永远不会使用的 servlet 容器的情况下解决这个问题?
你可以简单地循环下去。
while (true) {}
我通过使用 OkHttpClient 并在我的 @Configuration
中用 @PostConstruct
初始化它来解决这个问题。我用 @Component
注释了侦听器,它现在不需要嵌入式 servlet 容器就可以保持活动状态。