2016-10-31 11 views
0

Я бегу проекта EJB на wildfly 10 и появляется это сообщение об ошибке,io.undertow.request удаленный партнер закрыл соединение, прежде чем все данные могут быть считаны

UT000128: Remote peer closed connection before all data could be read 

ли вышеупомянутое сообщение что-то, чтобы быть беспокойство?

В Интернете мало информации. Вот некоторые ссылки:

Ниже трассировки стека,

15:45:11,650 ERROR [io.undertow.request] (default task-29) UT005023: Exception handling request to /OV3WEB/block/receive-updated-views: java.lang.RuntimeException: java.io.IOException: UT000128: Remote peer closed connection before all data could be read 
    at io.undertow.servlet.spec.HttpServletRequestImpl.parseFormData(HttpServletRequestImpl.java:764) 
    at io.undertow.servlet.spec.HttpServletRequestImpl.getParameter(HttpServletRequestImpl.java:636) 
    at com.icesoft.faces.webapp.http.servlet.ServletRequestResponse.containsParameter(ServletRequestResponse.java:118) 
    at com.icesoft.faces.webapp.http.core.RequestVerifier.service(RequestVerifier.java:29) 
    at com.icesoft.faces.webapp.http.servlet.ThreadBlockingAdaptingServlet.service(ThreadBlockingAdaptingServlet.java:25) 
    at com.icesoft.faces.webapp.http.servlet.EnvironmentAdaptingServlet.service(EnvironmentAdaptingServlet.java:63) 
    at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) 
    at com.icesoft.faces.webapp.http.servlet.SessionDispatcher.service(SessionDispatcher.java:53) 
    at com.icesoft.faces.webapp.http.servlet.SessionVerifier.service(SessionVerifier.java:26) 
    at com.icesoft.faces.webapp.http.servlet.PathDispatcher.service(PathDispatcher.java:23) 
    at com.icesoft.faces.webapp.http.servlet.MainServlet.service(MainServlet.java:131) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) 
    at com.icesoft.faces.webapp.xmlhttp.BlockingServlet.service(BlockingServlet.java:56) 
    at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:85) 
    at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62) 
    at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36) 
    at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78) 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
    at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:131) 
    at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57) 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
    at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46) 
    at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64) 
    at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60) 
    at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77) 
    at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50) 
    at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43) 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
    at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61) 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
    at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43) 
    at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:284) 
    at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:263) 
    at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:81) 
    at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:174) 
    at io.undertow.server.Connectors.executeRootHandler(Connectors.java:202) 
    at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:793) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.io.IOException: UT000128: Remote peer closed connection before all data could be read 
    at io.undertow.conduits.FixedLengthStreamSourceConduit.exitRead(FixedLengthStreamSourceConduit.java:338) 
    at io.undertow.conduits.FixedLengthStreamSourceConduit.read(FixedLengthStreamSourceConduit.java:255) 
    at org.xnio.conduits.ConduitStreamSourceChannel.read(ConduitStreamSourceChannel.java:127) 
    at io.undertow.channels.DetachableStreamSourceChannel.read(DetachableStreamSourceChannel.java:209) 
    at io.undertow.server.HttpServerExchange$ReadDispatchChannel.read(HttpServerExchange.java:2231) 
    at io.undertow.server.handlers.form.FormEncodedDataDefinition$FormEncodedDataParser.doParse(FormEncodedDataDefinition.java:133) 
    at io.undertow.server.handlers.form.FormEncodedDataDefinition$FormEncodedDataParser.parseBlocking(FormEncodedDataDefinition.java:251) 
    at io.undertow.servlet.spec.HttpServletRequestImpl.parseFormData(HttpServletRequestImpl.java:762) 
    ... 39 more 

Edit: 14 ноября 2016

Что касается /{приложение}/блок/отправить-получить-обновления или /{app}/block/receive-updated-views, они являются частью механизма мониторинга сердечного ритма в компоненте ICEfaces для поддержания связи между веб-сервером и браузером клиента.

Из моего понимания из источников:

+0

Трудно понять, что означает это сообщение. Это HTTP, что означает TCP, что означает, что close * не может быть получен до того, как будут прочитаны все ожидающие данные данные. Возможно, это означает, что была предоставлена ​​длина данных, и количество данных, прочитанных до закрытия, было меньше, чем указано длиной. – EJP

ответ

1

Эта ошибка может возникнуть, если ваш сервер потерял сокет-соединение с клиентом в основном из-за тайм-аута или принудительно закрыть соединение в обоих концах.

0

Я получил тот же код ошибки (UT000128), в то время как мое приложение хотело прочитать тело запроса после того, как был выполнен какой-либо механизм повтора. Он будет потреблять полезную нагрузку, чтобы я не смог прочитать их снова, а Untertow вернул UT000128.

Моим решением является использование обертки для дублирования тела запроса в механизме повтора. Если вы работаете в одном и том же сценарии, я надеюсь, что это поможет.

+0

Спасибо @LHCHIN, попробуем и посмотрим. –