В Apache Camel я хочу отменить условие в <when>
, используя <simple>
<!-- I want to negate the simple below before the "Do something" block -->
<when>
<simple>
${headers.msg[ABC]} == 'Fred' ||
${headers.msg[DEF]} starts with 'MO'
</simple>
<!-- Do something if the above is not true -->
</when>
<!-- I can achieve the above this way -->
<choice>
<when>
<simple>
${headers.msg[ABC]} == 'Fred' ||
${headers.msg[DEF]} starts with 'MO'
<simple>
<!-- do nothing -->
</when>
<otherwise>
<!-- Do something -->
</otherwise>
</choice>
Если бы я мог отменить условие <simple>
первого примера, то это было бы проще, чем второй способ. Другой вариант будет, если есть оператор does not start with
. Или у кого-то есть другой способ сделать это с небольшим кодом.
Я могу использовать <groovy>
для первого примера, но у нас есть директива, чтобы попытаться максимально использовать <simple>
в нашем проекте. У нас также есть директива использовать XML DSL вместо Java.