Exception 使用DefaultErrorHandler返回自定义错误消息

Exception 使用DefaultErrorHandler返回自定义错误消息,exception,apache-camel,Exception,Apache Camel,我想配置errorHandler,使其只返回异常消息,而不返回整个堆栈跟踪 onException(CamelInterruptionException.class) .handled(true) .process(new FailureProcessor()); errorHandler( defaultErrorHandler() .logHandled(false)

我想配置errorHandler,使其只返回异常消息,而不返回整个堆栈跟踪

onException(CamelInterruptionException.class)
                .handled(true)
                .process(new FailureProcessor());

errorHandler(
        defaultErrorHandler()
                .logHandled(false)
                .log("errorhandler")
                .useOriginalMessage()
                .logRetryAttempted(true)
                .logExhausted(true)
                .maximumRedeliveries(maximumRedeliveries)
                .redeliveryDelay(redeliveryDelay)
                .retryAttemptedLogLevel(LoggingLevel.WARN)
                .retriesExhaustedLogLevel(LoggingLevel.ERROR)
                .onPrepareFailure(new FailureProcessor()));
故障处理器将异常消息作为正文

public void process(Exchange exchange) throws Exception {
    Exception e = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Exception.class);

    StringBuilder sb = new StringBuilder();
    sb.append("ERROR: ");
    sb.append(e.getMessage());

    exchange.getIn().setBody(sb.toString());
}
现在,这对于OneException路由非常有效,但是errorHandler仍然返回stackTrace。

如何将其配置为仅返回异常消息?OnPrepareFailure似乎没有执行我执行它的目的。

堆栈跟踪比消息有用得多。跟踪包含非常有价值的信息,因此我希望您重新思考。