在@MessageExceptionHandler中获取消息的字节

时间:2018-06-28 14:16:31

标签: java spring spring-websocket spring-messaging

我有一个典型的Spring终结点,用作将消息发送到的Websocket主题(如在Sending Error message in Spring websockets的示例中所示)。

为处理我创建的无法解析的格式错误的邮件

0

但是,我希望有一个字节数组,其中包含原始格式错误的消息,因此我可以看到到底是什么错误。我怎么才能得到它?

1 个答案:

答案 0 :(得分:0)

异常类型用作链接的异常列表。我实施了类似的方法,但确实得到了引发异常事件的确切异常。

@ExceptionHandler({ Exception.class })
    public @ResponseBody String handleException(Exception ex) {
        Throwable cause = getContaExceptionIfExists(ex);
        return getMessageFromException(cause.getMessage());
    }

    public String getMessageFromException(String message) {
        return StringUtils.substringBetween(message , "interpolatedMessage='", "'");
    }

    public Throwable getContaExceptionIfExists(Exception ex) {
        Throwable cause = ex;       
        do 
        {
            if (cause instanceof ContaExcepetion)
            {
                return cause;
            }
            cause = cause.getCause();
        } 
        while (cause != null);  
        return ex;
    }

此示例代码可处理项目中的所有异常。我正在检查类型是否为“ ContaExcepetion”。