Я создаю службу, которая переносит файл в новое место на основе имени файла. Проблема в том, что второе утверждение иначе никогда не достигается, даже если первое, когда ложно (имя файла не начинается с «START»). Кроме того, из uri есть опция delete = true, возможно, это что-то влияет В результате этот файл только что удален.
<route id="outgoing" errorHandlerRef="outgoingDeadLetterErrorHandler">
<from uri="OutgoingSource"/>
<choice>
<when>
<simple>${file:name} starts with 'START'</simple>
<convertBodyTo type="java.lang.String"/>
<choice>
<when>
<xpath>/File/Header/@x = 'X'</xpath>
<to ref="OutgoingErrorDestination"/>
</when>
<when>
<xpath>/Header/@y = 'Y'</xpath>
<to ref="OutgoingDestination"/>
</when>
<otherwise>
<to ref="OutgoingErrorDestination"/>
</otherwise>
</choice>
</when>
<otherwise>
<to ref="OutgoingErrorDestination"/>
</otherwise>
</choice>
</route>