如何在Dropwizard / Jersey中保持长期运行的HTTP连接正常?

问题描述 投票:0回答:1

我有一个简单的rest端点,它正在Kafka主题中搜索消息。根据何时/是否找到此消息,此过程可能需要几分钟。当我通过Swagger调用此终结点时,我最终收到了504 - Server Timeout返回。如何保持此连接的活动状态,以便客户端不会收到超时?

java jersey dropwizard
1个回答
0
投票

Dropwizard将允许您配置idleTimeout(默认为30秒,请参见configuration reference

但是我必须警告您,这是一条存在以下问题的危险道路:

  1. 耗尽连接池
  2. 将终止连接的网络问题
  3. 将终止连接的中间件(例如负载平衡器)

如果您的过程需要更多时间,那么可以采用以下解决方案:1. Websocket(操作完成后通知客户端)2.长轮询(定期轮询服务器以获取完成结果)

© www.soinside.com 2019 - 2024. All rights reserved.