java - Bluepring XML中空交换的apache骆驼简单语言测试不起作用
问题描述
我正在使用 Apache Camel 2.17 并使用简单的语言来捕获空交换。它不起作用,我尝试了几种格式化方法,但它没有捕捉到空值。我相信这是我使用它的格式/语法。请指示我哪里出错了。谢谢你!
<process id="_process18" ref="csvMarshallerProcessor"/>
<process id="toReOrgCSV" ref="reOrgCSVData"/>
<choice id="_choice13">
<when id="_when13">
<simple>"${body}" == null</simple>
<log id="_log22" message="body is NULL, do not send NULL body!"/>
<stop id="_stop7"/>
</when>
<otherwise id="_otherwise1">
我试过了
<simple>"${body} == null"</simple>
<simple>"${body}" == null</simple>
<simple>${body} == null</simple>
<simple>${body} == 'null'</simple>
如果数据被过滤掉并且没有资格发送出去,我在之前的过程中将交换设置为空。我只想使用 Camel Spring XML。
???
解决方案
不要设置exchange
为空,因为那是无效的,将消息体设置为空或空字符串等。
exchange.getIn().setBody(null);
然后你可以使用 simple 来测试它的 null,
${body} == null
或者,如果您将其设置为空文本
${body} == ''
推荐阅读
- performance - 如何在 Vaadin Flow 14 中获得 Atmosphere 通道的上游/下游性能?
- python-3.x - 将文件夹中的多个 DOCX 文件读入多个数据帧时出错
- mysql - 如何在hibernate中定义复合外键映射?
- javascript - 事件不改变标签 react-testing-library 的状态
- java - 如何在 Main 类的 Jframe 中添加 KeyListener 对象的 JLabel
- coreml - 如何在 CoreML 中计算模型的 FLOPs?
- python - 如何在由外键连接的不同表的模板 django 中打印数据?
- grafana - grafana多维警报中如何创建无数据警报
- r - 由于“rowwise()”而阻止更新行号列?
- r - 如何使用 R 合并冗余信息?