Java 如何在Spring应用程序中处理SockJsMessageDeliveryException?

Java 如何在Spring应用程序中处理SockJsMessageDeliveryException?,java,spring,websocket,Java,Spring,Websocket,在我的应用程序日志中,我得到: Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.socket.sockjs.SockJsException: Uncaught failure in SockJS request, uri=*

在我的应用程序日志中,我得到:

Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.web.socket.sockjs.SockJsException: Uncaught failure in SockJS request, uri=****; nested exception is org.springframework.web.socket.sockjs.SockJsMessageDeliveryException: Failed to deliver message(s)
我尝试创建自定义处理程序:

    @MessageExceptionHandler({SockJsMessageDeliveryException.class})
    public void handle(SockJsMessageDeliveryException e) {
        log.error("Handled websocket exception: " + e.getClass().getSimpleName());
    }
但它没有抓住这个例外。 我还试图覆盖SimpMessageTemplate

public class SilentErrorSimpMessagingTemplate extends SimpMessagingTemplate {
    private final SimpMessagingTemplate simpMessagingTemplate;

    SilentErrorSimpMessagingTemplate(SimpMessagingTemplate simpMessagingTemplate) {
        super(simpMessagingTemplate.getMessageChannel());
        simpMessagingTemplate.setMessageConverter(new MappingJackson2MessageConverter());
        this.simpMessagingTemplate = simpMessagingTemplate;
    }

    @Override
    public void convertAndSendToUser(@NotNull String user, @NotNull String destination, @NotNull Object payload) throws MessagingException {
        try {
            simpMessagingTemplate.convertAndSendToUser(user, destination, payload);
        } catch (SockJsMessageDeliveryException e) {
            log.error("Socket send error: " + e.getClass().getSimpleName());
        }
    }
}
我想在websocket会话关闭时处理此错误,以不触发我的监视警报。有什么想法吗