gpt4 book ai didi

apache-camel - Camel 日志会影响 body 内容吗?

转载 作者:行者123 更新时间:2023-12-04 04:53:13 24 4
gpt4 key购买 nike

在调试来自系统的信息期间的某个时刻,我被迫观看进入系统的 XML 格式的数据。为此,我添加了额外的行来记录 XML 内容,并且 XML 内容出现在日志中。

此时系统开始生成将 XML 内容编码到 XML 对象的问题。

org.apache.camel.TypeConversionException:从类型 org.apache.camel.component.netty4.http.NettyChannelBufferStreamCache 到所需类型的类型转换期间出错:com.company.product.customer.generated.XML具有值 org.apache.camel.

本以为是系统出了什么新问题,更没想到引入log字段会带来什么麻烦。经过几个小时的战斗,我终于决定删除日志行,它又开始无缝工作了。

log标签对body message有影响吗?为什么会发生?

<post uri="/requestXml"
type="com.company.product.customer.generated.XML"
outType="java.lang.String">
<description>Request</description>

<route>
<to uri="bean:authenticationService?method=checkUser"/>
<!--log loggingLevel="INFO" message="Incomming XML ${body}"/-->
<to uri="bean:messageTranslator?method=XMLRequestToConfiguration"/>

最佳答案

这与您只能读取一次流有关。

While stream types (like StreamSource, InputStream and Reader) are commonly used in messaging for performance reasons, they also have an important drawback: they can only be read once. In order to be able to work with message content multiple times, the stream needs to be cached.

您必须像这样在上下文级别启用流缓存:

<camelContext streamCache="true"> 

有更多选项可用(例如在路由级别启用它)。在此处查看所有可用选项。 http://camel.apache.org/stream-caching.html

关于apache-camel - Camel 日志会影响 body 内容吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37961473/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com