Exception 使用DefaultErrorHandler返回自定义错误消息
我想配置errorHandler,使其只返回异常消息,而不返回整个堆栈跟踪Exception 使用DefaultErrorHandler返回自定义错误消息,exception,apache-camel,Exception,Apache Camel,我想配置errorHandler,使其只返回异常消息,而不返回整个堆栈跟踪 onException(CamelInterruptionException.class) .handled(true) .process(new FailureProcessor()); errorHandler( defaultErrorHandler() .logHandled(false)
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似乎没有执行我执行它的目的。堆栈跟踪比消息有用得多。跟踪包含非常有价值的信息,因此我希望您重新思考。