Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从JVM到JVM的Rest调用正好在5分钟时断开连接-ResourceAccessException_Java_Node.js_Spring_Rest - Fatal编程技术网

Java 从JVM到JVM的Rest调用正好在5分钟时断开连接-ResourceAccessException

Java 从JVM到JVM的Rest调用正好在5分钟时断开连接-ResourceAccessException,java,node.js,spring,rest,Java,Node.js,Spring,Rest,触发从一个JVM到另一个JVM的rest调用(post),调用通过网关(nodejs)路由 如果处理时间(响应)少于5分钟,则所有rest调用均成功 如果处理时间超过5分钟,则正好在5分钟时获取以下异常,并且呼叫不成功 有人能帮我调试这个问题的步骤吗 (我正在使用spring框架rest模板) 最后我们发现了这个问题,我们使用loadbalancer将调用路由到网关。由于http是短命连接,loadbalancer会在5分钟内切断呼叫。总的原因是缺少“保持活力”(心跳)电话 谢谢来自网关和接收应

触发从一个JVM到另一个JVM的rest调用(post),调用通过网关(nodejs)路由

如果处理时间(响应)少于5分钟,则所有rest调用均成功

如果处理时间超过5分钟,则正好在5分钟时获取以下异常,并且呼叫不成功

有人能帮我调试这个问题的步骤吗

(我正在使用spring框架rest模板)


最后我们发现了这个问题,我们使用loadbalancer将调用路由到网关。由于http是短命连接,loadbalancer会在5分钟内切断呼叫。总的原因是缺少“保持活力”(心跳)电话


谢谢

来自网关和接收应用程序的任何日志?附加的日志是接收应用程序的(JVM1)。已启动从JVM1到JVM2的调用。进程在JVM2中继续,但在JVM1接收到重置响应。是否有可能是底层防火墙规则导致此问题?底层防火墙是否有可能通过某些配置导致此问题?如果调用是从jvm 1到jvm 2的,则jvm 2是接收应用程序。无论如何,jvm1、jvm2和网关的日志片段将非常有用。
06 Jul 2017 03:08:54,127 ERROR [cron-28gl13c15] DownloadArchiveRestService:94 - Error occured
org.springframework.web.client.ResourceAccessException: I/O error on POST request for "https://psgavx.staging.wellsfargo.com:5001/avxapi/adc-f5-v11-object-backup?gwkey=f7037815&gwsource=cron-28gl13c15": Connection reset; nested exception is java.net.SocketException: Connection reset
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:607)
    at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:557)
    at org.springframework.web.client.RestTemplate.exchange(RestTemplate.java:475)
    at com.myCompany.plugin.framework.service.client.AvxRestClient.getAvxResponse(AvxRestClient.java:225)
    at com.myCompany.plugin.framework.service.client.AvxRestClient.sendRequest(AvxRestClient.java:100)
    at com.myCompany.plugin.framework.service.client.AvxRestClient.sendRequest(AvxRestClient.java:93)
    at com.myCompany.adc.inventory.service.impl.DownloadArchiveSBServiceImpl.sendRequestObjectBackup(DownloadArchiveSBServiceImpl.java:460)
    at com.myCompany.adc.inventory.service.impl.DownloadArchiveSBServiceImpl.downloadParsedObjects(DownloadArchiveSBServiceImpl.java:414)
    at com.myCompany.adc.inventory.service.impl.DownloadArchiveSBServiceImpl.retrieveArchiveAdcContentsAndSave(DownloadArchiveSBServiceImpl.java:274)
    at com.myCompany.adc.inventory.service.impl.DownloadArchiveSBServiceImpl.retrieveArchiveContentsByCheckingRequirements(DownloadArchiveSBServiceImpl.java:251)
    at com.myCompany.adc.inventory.service.impl.DownloadArchiveSBServiceImpl.getDownloadArchiveArrayAfterStoringFileAndRetrivingArchiveContents(DownloadArchiveSBServiceImpl.java:237)
    at com.myCompany.adc.inventory.service.impl.DownloadArchiveSBServiceImpl.downloadArchive(DownloadArchiveSBServiceImpl.java:129)
    at com.myCompany.adc.inventory.rest.DownloadArchiveRestService.makeSouthBoundCallAndReturnRequiredData(DownloadArchiveRestService.java:77)
    at com.myCompany.adc.inventory.rest.DownloadArchiveRestService.execute(DownloadArchiveRestService.java:60)
    at com.myCompany.adc.inventory.rest.DownloadArchiveRestService.execute(DownloadArchiveRestService.java:28)
    at com.myCompany.plugin.framework.service.executor.AvxActionExecutor.executeAction(AvxActionExecutor.java:88)
    at com.myCompany.plugin.framework.service.AvxRequestRouterImpl.invokeMethod(AvxRequestRouterImpl.java:53)
    at com.myCompany.plugin.framework.service.AvxRequestRouterImpl.processRequest(AvxRequestRouterImpl.java:34)
    at sun.reflect.GeneratedMethodAccessor67.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)
    at com.myCompany.plugin.framework.service.aspect.AvxTxnTenantMappingAspect.mapTxnAndTenantId(AvxTxnTenantMappingAspect.java:57)
    at sun.reflect.GeneratedMethodAccessor66.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:620)
    at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:609)
    at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:68)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:208)
    at com.sun.proxy.$Proxy45.processRequest(Unknown Source)
    at com.myCompany.plugin.framework.service.AvxRequestProcessor.invokeMethod(AvxRequestProcessor.java:418)
    at com.myCompany.plugin.framework.service.AvxRequestProcessor.processPostRequest(AvxRequestProcessor.java:128)
    at sun.reflect.GeneratedMethodAccessor407.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$ResponseOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:160)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
    at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:812)
    at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)
    at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221)
    at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127)
    at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
    at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
    at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)
    at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
    at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
    at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
    at org.eclipse.jetty.server.Server.handle(Server.java:499)
    at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
    at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)
    at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:544)
    at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)
    at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.net.SocketException: Connection reset
    at java.net.SocketInputStream.read(SocketInputStream.java:210)
    at java.net.SocketInputStream.read(SocketInputStream.java:141)
    at sun.security.ssl.InputRecord.readFully(InputRecord.java:465)
    at sun.security.ssl.InputRecord.read(InputRecord.java:503)
    at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:973)
    at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:930)
    at sun.security.ssl.AppInputStream.read(AppInputStream.java:105)
    at org.apache.http.impl.io.SessionInputBufferImpl.streamRead(SessionInputBufferImpl.java:139)
    at org.apache.http.impl.io.SessionInputBufferImpl.fillBuffer(SessionInputBufferImpl.java:155)
    at org.apache.http.impl.io.SessionInputBufferImpl.readLine(SessionInputBufferImpl.java:284)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:140)
    at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57)
    at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261)
    at org.apache.http.impl.DefaultBHttpClientConnection.receiveResponseHeader(DefaultBHttpClientConnection.java:165)
    at org.apache.http.impl.conn.CPoolProxy.receiveResponseHeader(CPoolProxy.java:167)
    at org.apache.http.protocol.HttpRequestExecutor.doReceiveResponse(HttpRequestExecutor.java:272)
    at org.apache.http.protocol.HttpRequestExecutor.execute(HttpRequestExecutor.java:124)
    at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:271)
    at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
    at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
    at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
    at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
    at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:55)
    at org.springframework.http.client.HttpComponentsClientHttpRequest.executeInternal(HttpComponentsClientHttpRequest.java:91)
    at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48)
    at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53)
    at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:596)
    ... 80 more