Grails 3.2.4 grails- spring -websocket 2.3 Error

=== UPDATE === (see original post below)

Although the error correction initiated by zyro has brought some improvements, the error still has not completely disappeared. It still looks like this:

31-Jan-2018 19:30:53.529 INFO [MessageBroker-3] org.apache.coyote.AbstractProcessor.setErrorState An error occurred in processing while o
n a non-container thread. The connection will be closed immediately
 java.io.IOException: APR error: -32
        at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:291)
        at org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:244)
        at org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:213)
        at org.apache.coyote.http11.AbstractOutputBuffer.flush(AbstractOutputBuffer.java:305)
        at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:765)
        at org.apache.coyote.Response.action(Response.java:177)
        at org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:349)
        at org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:317)
        at org.apache.catalina.connector.Response.flushBuffer(Response.java:510)
        at org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:318)
        at javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)
        at org.springframework.boot.web.support.ErrorPageFilter$ErrorWrapperResponse.flushBuffer(ErrorPageFilter.java:318)
        at javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)
        at javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)
        at javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)
        at org.springframework.security.web.util.OnCommittedResponseWrapper.flushBuffer(OnCommittedResponseWrapper.java:159)
        at org.springframework.http.server.ServletServerHttpResponse.flush(ServletServerHttpResponse.java:96)
        at org.springframework.web.socket.sockjs.transport.session.AbstractHttpSockJsSession.writeFrameInternal(AbstractHttpSockJsSession
.java:350)
        at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.writeFrame(AbstractSockJsSession.java:318)
        at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.sendHeartbeat(AbstractSockJsSession.java:251)
        at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession$HeartbeatTask.run(AbstractSockJsSession.java:455
)
        at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        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)

Thus, only the second part of the error actually disappeared ...

=== ORIGINAL MAIL ===

In my Tomcat 8.0.28 catalina.out logs, I find a lot that follow erros. I assume this is caused by the websocket plugin that I used. I executed an implementation in a service class, for example:

def publishNewChart(def productId) {
        def linechart = chartService.getLinechart(Product.load(productId));

        brokerMessagingTemplate.convertAndSend("/topic/trade_chart/" + productId, linechart);
    }

And on the client side the following:

$(function() {
        var socket = new SockJS("${createLink(uri: '/stomp')}");
        var client = Stomp.over(socket);

        client.connect({}, function() {

            client.subscribe("/topic/trade_chart/${product?.id}", function(message) {
                var messageJson = $.parseJSON(message.body);
                refreshPriceChart($.parseJSON(messageJson.data));
                brushed();     
            });
        });
    });

Does anyone have a clue where the errors come from and how to deal with them?

Thank you for registering!

02-Mar-2017 13: 15: 33.349 INFO [MessageBroker-4] org.apache.coyote.AbstractProcessor.setErrorState whi le .  java.io.IOException: APR: -32        org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:291)        org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:244)        org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:213)       at org.apache.coyote.http11.AbstractOutputBuffer.flush(AbstractOutputBuffer.java:305)       at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:765)       at org.apache.coyote.Response.action(Response.java:177)        org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:349)        org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:317)        org.apache.catalina.connector.Response.flushBuffer(Response.java:510)        org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:318)        javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)       at org.springframework.boot.web.support.ErrorPageFilter $ErrorWrapperResponse.flushBuffer(ErrorPageFilter.java:311)        javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)        javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)        javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)       at org.springframework.security.web.util.OnCommittedResponseWrapper.flushBuffer(OnCommittedResponseWrapper.java:158)        org.springframework.http.server.ServletServerHttpResponse.flush(ServletServerHttpResponse.java:96)       at org.springframework.web.socket.sockjs.transport.session.AbstractHttpSockJsSession.writeFrameInternal(AbstractHttpSockJsSes sion.java:350)        org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.writeFrame(AbstractSockJsSession.java:322)       at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.sendHeartbeat(AbstractSockJsSession.java:255 )        org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession $HeartbeatTask.run(AbstractSockJsSession.java : 451)        org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)        java.util.concurrent.Executors $RunnableAdapter.call(Executors.java:511)        java.util.concurrent.FutureTask.run(FutureTask.java:266)        java.util.concurrent.ScheduledThreadPoolExecutor $ScheduledFutureTask.access $201 (ScheduledThreadPoolExecutor.java:180)        java.util.concurrent.ScheduledThreadPoolExecutor $ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)        java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:617)        java.lang.Thread.run(Thread.java:745)

ERROR org.springframework.scheduling.support.TaskUtils $LoggingErrorHandler - . org.springframework.web.socket.sockjs.SockJsTransportFailureException: SockJsFrame = 'h'; - o rg.apache.catalina.connector.ClientAbortException: java.io.IOException: APR: -32        org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.writeFrame(AbstractSockJsSession.java:339)       at org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.sendHeartbeat(AbstractSockJsSession.java:255 )        org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession $HeartbeatTask.run(AbstractSockJsSession.java : 451)        org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)        java.util.concurrent.Executors $RunnableAdapter.call(Executors.java:511)        java.util.concurrent.FutureTask.run(FutureTask.java:266)        java.util.concurrent.ScheduledThreadPoolExecutor $ScheduledFutureTask.access $201 (ScheduledThreadPoolExecutor.java:180)        java.util.concurrent.ScheduledThreadPoolExecutor $ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)        java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)        java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:617)        java.lang.Thread.run(Thread.java:745) : org.apache.catalina.connector.ClientAbortException: java.io.IOException: APR: -32        org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:353)        org.apache.catalina.connector.OutputBuffer.flush(OutputBuffer.java:317)        org.apache.catalina.connector.Response.flushBuffer(Response.java:510)        org.apache.catalina.connector.ResponseFacade.flushBuffer(ResponseFacade.java:318)        javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)       at org.springframework.boot.web.support.ErrorPageFilter $ErrorWrapperResponse.flushBuffer(ErrorPageFilter.java:311)        javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)        javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)        javax.servlet.ServletResponseWrapper.flushBuffer(ServletResponseWrapper.java:176)       at org.springframework.security.web.util.OnCommittedResponseWrapper.flushBuffer(OnCommittedResponseWrapper.java:158)        org.springframework.http.server.ServletServerHttpResponse.flush(ServletServerHttpResponse.java:96)       at org.springframework.web.socket.sockjs.transport.session.AbstractHttpSockJsSession.writeFrameInternal(AbstractHttpSockJsSes sion.java:350)        org.springframework.web.socket.sockjs.transport.session.AbstractSockJsSession.writeFrame(AbstractSockJsSession.java:322)       ... 10 : java.io.IOException: APR: -32        org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:291)        org.apache.coyote.http11.InternalAprOutputBuffer.writeToSocket(InternalAprOutputBuffer.java:244)        org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer(InternalAprOutputBuffer.java:213)       at org.apache.coyote.http11.AbstractOutputBuffer.flush(AbstractOutputBuffer.java:305)       at org.apache.coyote.http11.AbstractHttp11Processor.action(AbstractHttp11Processor.java:765)       at org.apache.coyote.Response.action(Response.java:177)        org.apache.catalina.connector.OutputBuffer.doFlush(OutputBuffer.java:349)       ... 22

+4

Source: https://habr.com/ru/post/1671247/


All Articles