【问题标题】:How does the server stop the request that is already being processed?服务器如何停止已经在处理的请求?
【发布时间】:2018-12-05 09:14:28
【问题描述】:

我的服务器收到一个请求,并且已经处理了很长时间。我该如何阻止它?比如我想停止所有处理了2s的请求并抛出异常。

我正在使用 Spring Cloud。

【问题讨论】:

  • 您可以根据您使用的服务器设置属性“连接超时”。并将属性值添加为“2s”

标签: java request response spring-cloud kill-process


【解决方案1】:

在 tomcat server.xml 中配置连接超时。

连接超时
此连接器在接受连接后将等待呈现请求 URI 行的毫秒数。使用值 -1 表示没有(即无限)超时。默认值为 60000(即 60 秒),但请注意,Tomcat 附带的标准 server.xml 将其设置为 20000(即 20 秒)。除非 disableUploadTimeout 设置为 false,否则在读取请求正文(如果有)时也会使用此超时。

设置通信超时对于改进通信过程非常重要。它们有助于检测问题并稳定分布式系统。

要增加 tomcat 服务器上的连接超时,请按照以下步骤操作:

  1. 打开位于 tomcat/conf/ 中的文件 server.xml。
  2. 您只需将其中的变量 connectionTimeout 设置为以毫秒为单位的值。(即 1000 毫秒 = 1 秒)

请参考以下链接配置spring cloud的连接超时

https://cloud.spring.io/spring-cloud-static/spring-cloud-config/2.0.0.RELEASE/single/spring-cloud-config.html#_setting_http_connection_timeout

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-27
    • 1970-01-01
    • 2018-06-23
    • 1970-01-01
    相关资源
    最近更新 更多