Apache Camel условная маршрутизация

У меня есть служба, которая имеет две операции.

RegisterUser
UpdateUser

У меня есть верблюжий бег

<camel:route id="myRoute">
    <camel:from uri="cxf:bean:myListenerEndpoint?dataFormat=POJO&amp;synchronous=true" />            
    <camel:bean ref="processor" method="processMessage"/>
    <camel:to uri="xslt:file:resources/service/2.0.0/UserRegistration.xsl"/>
    <camel:to uri="cxf:bean:myTargetEndpoint"/>
</camel:route>

В моем компоненте процессора, когда я указываю:

RegisterUser registerUser = exchange.getIn().getBody(RegisterUser.class);

Я получаю объект регистрации пользователя. Все отлично работает Проблема в том, что я хочу, чтобы верблюд направил мой запрос условно, например:

Если сервисная операцияRegisterUser Я хочу направить сообщение на мой конкретный компонент, и если операция сервисаUpdateUser Я хочу направить сообщение другому бину.

Я пытался использовать верблюд xPath, но, похоже, он не работает.

<camel:route id="myRoute">
    <camel:from uri="cxf:bean:myListenerEndpoint?dataFormat=POJO&amp;synchronous=true" />  
    <camel:choice>
        <camel:when>
            <camel:xpath>
                //RegisterUser
            </camel:xpath>
            <camel:bean ref="processor" method="processMessage"/>
            <camel:to uri="xslt:file:resources/service/2.0.0/UserRegistration.xsl"/>
        </camel:when>
    </camel:choice>                        
    <camel:to uri="cxf:bean:myTargetEndpoint"/>
</camel:route>

Я искал, как настроить верблюда на путь к различным целям, но ничего не нашел. Может кто знает, в чем может быть проблема?

Ответы на вопрос(3)

Ваш ответ на вопрос