我总是收到“ 2019-04-09 07:24:23.389 WARN 11676 --- [nio-9095-exec-5] oscnzfilters.post.SendErrorFilter:过滤期间发生错误”,请求所花费的时间超过1秒。
我已经尝试增加超时时间,但是没有一个起作用。
2019-04-09 07:24:23.389 WARN 11676 --- [nio-9095-exec-5] o.s.c.n.z.filters.post.SendErrorFilter:过滤期间出错
com.netflix.zuul.exception.ZuulException: 在org.springframework.cloud.netflix.zuul.filters.post.SendErrorFilter.findZuulException(SendErrorFilter.java:114)〜[spring-cloud-netflix-zuul-2.1.0.RELEASE.jar:2.1.0.RELEASE] 在org.springframework.cloud.netflix.zuul.filters.post.SendErrorFilter.run(SendErrorFilter.java:76)〜[spring-cloud-netflix-zuul-2.1.0.RELEASE.jar:2.1.0.RELEASE] 在com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter.java:117)〜[zuul-core-1.3.1.jar:1.3.1] 在com.netflix.zuul.FilterProcessor.processZuulFilter(FilterProcessor.java:193)〜[zuul-core-1.3.1.jar:1.3.1] 在com.netflix.zuul.FilterProcessor.runFilters(FilterProcessor.java:157)〜[zuul-core-1.3.1.jar:1.3.1] 在com.netflix.zuul.FilterProcessor.error(FilterProcessor.java:105)〜[zuul-core-1.3.1.jar:1.3.1] 在com.netflix.zuul.ZuulRunner.error(ZuulRunner.java:112)〜[zuul-core-1.3.1.jar:1.3.1] 在com.netflix.zuul.http.ZuulServlet.error(ZuulServlet.java:145)〜[zuul-core-1.3.1.jar:1.3.1] 在com.netflix.zuul.http.ZuulServlet.service(ZuulServlet.java:83)〜[zuul-core-1.3.1.jar:1.3.1] 在org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:165)〜[spring-webmvc-5.1.5.RELEASE.jar:5.1.5.RELEASE] 在ava.lang.Thread.run(Thread.java:834)〜[na:na]
答案 0 :(得分:0)
您可以检查我的答案: here
Hystrix的默认读取超时为1秒,您可以在application.yaml文件中进行更改。它可以全局或按服务完成。
答案 1 :(得分:0)
上述问题是由于hysterix超时引起的。 可以通过禁用hystrix超时或按如下所示增加hysterix超时来解决上述问题:
# Disable Hystrix timeout globally (for all services)
hystrix.command.default.execution.timeout.enabled: false
#To disable timeout foror particular service,
hystrix.command.<serviceName>.execution.timeout.enabled: false
# Increase the Hystrix timeout to 60s (globally)
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds: 60000
# Increase the Hystrix timeout to 60s (per service)
hystrix.command.<serviceName>.execution.isolation.thread.timeoutInMilliseconds: 60000
如果您将发现服务用于服务查找和路由,则上述解决方案将起作用。
答案 2 :(得分:0)
您在使用邮递员或任何其他 http 测试人员进行 H2 控制台测试时超时,因为:使用 Zuul...hysterix...您正在尝试将完全相同的对象发送到 H2 数据库。这可能是因为您的模型上也有验证器。解决方法:通过重新编辑确保json、xml或其他任何对象相对唯一,然后再次尝试发送请求。