У меня есть такой маршрут
<route id="route1">
<from uri="activemq:queuer1"/>
<choice>
<when>
<simple>${header.urn} regex '^user*'</simple>
<to uri="xslt:classpath:/xslt/rdf/user.xsl"/>
</when>
<when>
<simple>${header.urn} regex '^userdata:.*'</simple>
<to uri="xslt:classpath:/xslt/rdf/userdata.xsl"/>
</when>
....
<otherwise>
<setHeader headerName="errorMsg ">
<constant>no xsl file for this type</constant>
</setHeader>
<to uri="activemq:error"/>
</otherwise>
</choice>
<process ref="importer"/>
</route>
Теперь, если маршрут переходит в другую часть, сообщение не должно обрабатываться. Могу ли я каким-то образом остановить маршрут, если в противном случае сообщение попадет в?
Возможно, я добавлю часть процесса во все части when и удалю ее в конце. Но у нас уже есть несколько частей, которые когда-то будут, и еще больше.
Было бы предпочтительнее другое решение.