如何将多个语句放入camel蓝图选择块中的逻辑表达式?

时间:2017-01-30 10:57:34

标签: apache-camel blueprint-osgi

在驼峰蓝图选择块中,我们有以下内容:

<when id='foo'
    <simple><![CDATA[
        ${header.SrcSys} == 'System_A' and
        ${header.DestSys} == 'System_B'
    ]]></simple>

    <!-- do something great -->
</when>

我知道此代码无效,and已被弃用since Camel 2.9。但是我想你知道我想要做什么,也许你可以告诉我将这样一个简单的表达式实现为驼峰蓝图xml的最佳方法。

我找到了this good answer by Claus Ibsen。也许我可以在蓝图xml中使用PredicateBuilder。但我试图找到一个没有Java代码的解决方案。

1 个答案:

答案 0 :(得分:0)

我说你差不多了。这对我有用:

<choice>
    <when>
        <!-- Do not break up the following simple expression over multiple lines. It won't work. -->
        <simple>${exchangeProperty.prop1} == 'A' &amp;&amp; ${exchangeProperty.prop2} == 'B'</simple>
        <!-- Do something great... -->
    </when>
</choice>

关键是不要将表达式分成多行。我无法让它发挥作用。