【问题标题】:Keep Spring Boot application alive with websocket connection使用 websocket 连接保持 Spring Boot 应用程序处于活动状态
【发布时间】:2018-09-14 11:55:09
【问题描述】:

我的 Spring Boot 应用程序非常小,并且有一项工作:通过打开与第三方网站的 websocket 连接并侦听消息来充当客户端。

问题是在我的 javax.websocket.Endpoint 实现被初始化并创建了连接之后,我的 Spring boot 应用程序关闭了。

我会认为任何打开的 websocket 连接都会让我的应用程序保持正常运行?

我不需要嵌入式 servlet 容器,所以我在 application.yaml 中专门设置了 web-environment: false

有没有办法在不添加我永远不会使用的 servlet 容器的情况下解决这个问题?

【问题讨论】:

  • 你试过 spring.main.web-application-type=NONE 吗?

标签: java spring-boot websocket client


【解决方案1】:

我通过使用 OkHttpClient 并在我的 @Configuration 中使用 @PostConstruct 对其进行初始化来解决此问题。我用 @Component 注释了侦听器,现在它无需嵌入的 servlet 容器即可保持活动状态。

【讨论】:

    【解决方案2】:

    你可以简单地永远循环。

    while (true) {}
    

    【讨论】:

      猜你喜欢
      • 2012-01-03
      • 2020-05-01
      • 1970-01-01
      • 2018-11-19
      • 1970-01-01
      • 2017-03-14
      • 2012-10-13
      • 1970-01-01
      • 2021-06-11
      相关资源
      最近更新 更多