Sat*_*ash 2 spring-boot jhipster
我正在使用jhipster和网关,同时上载文件需要花费时间进行响应,但是网关已给出异常消息超时和转发错误,尝试了多种操作,但没有用
zuul:
host:
connect-timeout-millis: 10000
socket-timeout-millis: 10000
hystrix:
command:
default:
execution:
timeout:
enabled: false
Run Code Online (Sandbox Code Playgroud)
zuul:
host:
connect-timeout-millis: 10000
socket-timeout-millis: 10000
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 60000
Run Code Online (Sandbox Code Playgroud)
2018-10-03 16:09:10.621调试13048--[XNIO-5 task-1] ccwgaAccessControlFilter:访问控制:允许访问/ core / api / ci / upload / file,因为未设置访问控制策略服务:核心2018-10-03 16:09:15.726 WARN 13048 --- [XNIO-5 task-1] oscnzfilters.post.SendErrorFilter:过滤期间出错
com.netflix.zuul.exception.ZuulException:在org.springframework.cloud.netflix.zuul.filters处的org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.handleException(RibbonRoutingFilter.java:188)转发错误。 org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter.run(RibbonRoutingFilter.java:111)上的route.RibbonRoutingFilter.forward(RibbonRoutingFilter.java:163)在com.netflix.zuul.ZuulFilter.runFilter(ZuulFilter。 com.netflix.zuul.FilterProcessor.processZuulFilter(FilterProcessor.java:193)的com.netflix.zuul.FilterProcessor.runFilters(FilterProcessor.java:157)的com.netflix.zuul.FilterProcessor.route(FilterProcessor的java:112) .java:118)com.netflix.zuul.ZuulRunner.route(ZuulRunner.java:96)com.netflix.zuul.http。com.netflix.zuul.http.ZuulServlet.service(ZuulServlet.java:81)上的ZuulServlet.route(ZuulServlet.java:116)在org.springframework.web.servlet.mvc.ServletWrappingController.handleRequestInternal(ServletWrappingController.java:157)上在org.springframework.cloud.netflix.zuul.web.ZuulController.handleRequest(ZuulController.java:44)在org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapterAdapter.handle(SimpleControllerHandlerAdapter.java:50)在org.springframework.web org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)上的.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) ),网址为org.springframework.web.servlet.FrameworkServlet。javax.servlet.http.HttpServlet.service(HttpServlet.java:707)上的doPost(FrameworkServlet.java:872)在org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)在javax.servlet.http上io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)的.HttpServlet.service(HttpServlet.java:790)io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:129) )在com.codahale.metrics.servlet.AbstractInstrumentedFilter.doFilter(AbstractInstrumentedFilter.java:111)在io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)在io.undertow.servlet.handlers.FilterHandler $ org.springframework.boot.web.filter上的FilterChainImpl.doFilter(FilterHandler.java:131)。io的org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)的io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)的ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:101)的io.undertow.servlet.core.ManagedFilter.doFilter的.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131) (ManagedFilter.java:61)位于io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131)位于org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:111) org.springframework.web.filter。io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)上的io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131)上的OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:317)在org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:127)在org.springframework.security org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331)的org.springframework.security.web.access.ExceptionTranslationFilter的.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:91) 。在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331)处的doFilter(ExceptionTranslationFilter.java:114)在org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:137)处在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331)在org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:111)在org.springframework.security.web org.springframework.security的.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331)在org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:170)在org.springframework.security。org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:63)处的web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331) com.xxx.web.security.jwt.JWTFilter.doFilter(JWTFilter.java:45)位于org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331)位于FilterChainProxy.java:331) org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)上的.springframework.web.filter.CorFilter.doFilterInternal(CorsFilter.java:96)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter (FilterChainProxy.java:331)在组织。org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331)上的springframework.security.web.authentication.logout.LogoutFilter.doFilter(LogoutFilter.java:116)在org.springframework.security.web上。 org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)的header.HeaderWriterFilter.doFilterInternal(HeaderWriterFilter.java:66) 331)在org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:105)在org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter(FilterChainProxy.java:331)在org.springframework.security .web。org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)处context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:56)org.springframework.security.web.FilterChainProxy $ VirtualFilterChain.doFilter( org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:214)位于org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:177)位于org.springframework.web位于org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:263)的io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java)的.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:347)61)在org.springframework.web.filter的io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131)在org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) .io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)的.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)在io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131) )的org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:109)的org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)的io.undertow.servlet.core.ManagedFilter。 io.undertow.servlet中的doFilter(ManagedFilter.java:61)。org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:处的handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131)在org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:81) 107)在io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)在io.undertow.servlet.handlers.FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131)在org.springframework.web.filter org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)的io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)的.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:197) io.undertow.servlet.handlers。io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)处的FilterHandler $ FilterChainImpl.doFilter(FilterHandler.java:131)在io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java: 62)在io.undertow.servlet.handlers.ServletChain $ 1.handleRequest(ServletChain.java:64)在io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)在io.undertow.servlet.handlers。 io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)处的security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:132)在io.undertow.server.handlers.PredicateHandler处。io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)的io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)的handleRequest(PredicateHandler.java:43) io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)上的.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)在io.undertow.security.handlers.AbstractSecurityContextAssociation (io的io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)的(AbstractSecurityContextAssociationHandler.java:43)。io.undertow.servlet.handlers.SessionRestoringHandler.handleRequest(SessionRestoringHandler.java:119)处的undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)在io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler。 java:292)at io.undertow.servlet.handlers.ServletInitialHandler.access $ 100(ServletInitialHandler.java:81)at io.undertow.servlet.handlers.ServletInitialHandler $ 2.call(ServletInitialHandler.java:138)at io.undertow.servlet io.undertow.servlet.core.ServletRequestContextThreadSetupAction $ 1.call(ServletRequestContextThreadSetupAction.java:48)上的.handlers.ServletInitialHandler $ 2.call(ServletInitialHandler.java:135)在io.undertow.servlet.core.ContextClassLoaderSetupAction $ 1.call(ContextClassLoaderSetupAction。io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:272)处的io.undertow.servlet.handlers.ServletInitialHandler.access $ 000(io.undertow.servlet处的ServletInitialHandler.java:81)中的java:43)。 Java处io.undertow.server.Connectors.executeRootHandler(Connectors.java:336)处io.undertow.server.HttpServerExchange $ 1.run(HttpServerExchange.java:830)处的handlers.ServletInitialHandler $ 1.handleRequest(ServletInitialHandler.java:104) .util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)创建人:com.netflix.client.ClientException:com.netflix.client为null。在org.springframework.cloud.net.lix.zuul.filters处的AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:123)在org.springframework.cloud.netflix.zuul.filters.route.support.AbstractRibbonCommand.run(AbstractRibbonCommand.java:105) route.support.AbstractRibbonCommand.run(AbstractRibbonCommand.java:43)在com.netflix.hystrix.HystrixCommand $ 2.call(HystrixCommand.java:302)在com.netflix.hystrix.HystrixCommand $ 2.call(HystrixCommand.java:298)在rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)在rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)在rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48) )在rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java :48)在rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:51)在rx.Observable.unsafeSubscribe(Observable.java:10211)在rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)在rx的rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35)在rx.Observable.unsafeSubscribe(Observable.java:10211)在rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)在rx。在rx.Observable.unsafeSubscribe(Observable)处的internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)。java:10211),位于rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41),位于rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30),位于rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift .java:48),位于rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30),位于rx.Observable.unsafeSubscribe(Observable.java:10211),位于rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java: 41)位于rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)位于rx.observable.unsafeSubscribe(Observable.java:10211)位于rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41) rx.rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)。在rx.internal.operators处的rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)处的Observable.unsafeSubscribe(Observable.java:10211)在rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)处rx.internal.operators的.OnSubscribeLift.call(OnSubscribeLift.java:48)。rx.internal.operators.OnSubscribeDefer的rx.Observable.unsafeSubscribe(Observable.java:10211)的OnSubscribeLift.call(OnSubscribeLift.java:30)。在rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap)上调用rx.Observable.unsafeSubscribe(Observable.java:10211)在rx.internal.operators.OnSubscribeDefer.call(OnSubscribeDefer.java:35) .java:48),位于rx.internal.operators.OnSubscribeMap.call(OnSubscribeMap.java:33)在rx.internal.operators.OnSubscribeDoOnEach.java(41)在rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)在rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)在rx.internal处的rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)处的rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:48)rx.internal处的rx.Observable.unsafeSubscribe(Observable.java:10211) rx.internal.operators上的rx.internal.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:30)上的.operators.OnSubscribeDoOnEach.call(OnSubscribeDoOnEach.java:41)在rx.internal.operators处的rx.Observable.unsafeSubscribe(Observable.java:10211)上。位于rx.internal.operators.OnSubscribeDefer的OnSubscribeDefer.call(OnSubscribeDefer.java:51)。在rx.Observable.subscribe(Observable)处在rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30)处调用(OnSubscribeDefer.java:35) .java:10307)位于rx.Observable.subscribe(Observable.java:10274)位于rx.internal.operators.BlockingOperatorToFuture.toFuture(BlockingOperatorToFuture.java:51)位于rx.observables.BlockingObservable.toFuture(BlockingOb)在com.netflix.hystrix.HystrixCommand.queue(HystrixCommand.java:378)在com.netflix.hystrix.HystrixCommand.execute(HystrixCommand.java:344)在org.springframework.cloud.netflix.zuul.filters.route.RibbonRoutingFilter .forward(RibbonRoutingFilter.java:157)...省略了114个常见框架造成原因:java.lang。RuntimeException:java.net.SocketTimeoutException:在rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:465)在rx.observables.BlockingObservable.single(rx.observables.BlockingObservable.blockForSingle(BlockingObservable.java:465)处的rx.exceptions.Exceptions.propagate(Exceptions.java:58)读取超时com.netflix.client.AbstractLoadBalancerAwareClient.executeWithLoadBalancer(AbstractLoadBalancerAwareClient.java:117)处的BlockingObservable.java:342)...省略了174个常见帧原因:java.net.SocketTimeoutException:java.net.SocketInputStream.socketRead0读取超时(原生方法)在java.net.SocketInputStream.socketRead(SocketInputStream.java:116)在java.net.SocketInputStream.read(SocketInputStream.java:171)在java.net.SocketInputStream.read(SocketInputStream.java:141)在org.apache.http。org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:153)上的impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:137)org.apache.http.impl.io.SessionInputBufferImpl.readLine( org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:138)上的SessionInputBufferImpl.java:282)org.org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:56)上的SessionInputBufferImpl.java:282) org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:163)上的.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:259)org.apache.http.impl.conn.CPoolProxy org.apache.http.protocol上的.receiveResponseHeader(CPoolProxy.java:165)。org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:125)上的HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:273)在org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:272)在org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)在org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:185)在org.apache.http.impl org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)上的.execchain.RedirectExec.execute(RedirectExec.java:111)在org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient) .java:83)(位于org.apache.http.impl.client处。CloseableHttpClient.java:108)。在org.springframework.cloud.netflix.ribbon.apache.1.org.org.springframework.cloud.netflix.ribbon.apache.RetryableRibbonLoadBalancingHttpClient $ 1.doWithRetry(RetryableRibbonLoadBalancingHttpClient.java:93)处的CloseableHttpClient.execute(CloseableHttpClient.java:56)。 org.springframework.retry.support.RetryTemplate.doExecute(RetryTemplate.java:287)org.springframework.retry.support.RetryTemplate.execute(RetryTemplate.java:164)的doWithRetry(RetryableRibbonLoadBalancingHttpClient.java:71) .cloud.netflix.ribbon.apache.RetryableRibbonLoadBalancingHttpClient.executeWithRetry(RetryableRibbonLoadBalancingHttpClient.java:113)位于org.springframework.cloud.netflix.ribbon.apache.RetryableRibbonLoadBalancingHttpClient。在org.springframework.cloud.netflix.ribbon.apache.RetryableRibbonLoadBalancingHttpClient.execute(RetryableRibbonLoadBalancingHttpClient.java:50)处执行(RetryableRibbonLoadBalancingHttpClient.java:104)at com.netflix.client.AbstractLoadBalancerAwareClient $ 1.call(Abstract) com.netflix.loadbalancer.reactive.LoadBalancerCommand $ 3 $ 1.call(LoadBalancerCommand.java:303)位于com.netflix.loadbalancer.reactive.LoadBalancerCommand $ 3 $ 1.call(LoadBalancerCommand.java:287)位于rx.internal.util.ScalarSynchronousObservable $ 3 .r(ScalarSynchronousObservable.java:231)位于rx.internal.util.ScalarSynchronousObservable $
经过大量测试和搜索后,我找到了解决方案,我们还需要在Mili中配置并增加功能区超时。
hystrix:
command:
default:
execution:
isolation:
thread:
timeoutInMilliseconds: 30000
ribbon:
ReadTimeout: 60000
ConnectionTimeout: 3000
eureka:
enabled: true
zuul:
host:
connect-timeout-millis: 5000
max-per-route-connections: 10000
max-total-connections: 5000
socket-timeout-millis: 60000
semaphore:
max-semaphores: 500
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1164 次 |
| 最近记录: |