Routing warunkowy Apache Camel

Mam usługę, która ma dwie operacje.

RegisterUser
UpdateUser

Mam trasę na wielbłądach:

<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>

W moim komponencie procesora, gdy określam:

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

Dostaję obiekt użytkownika rejestru. Wszystko dziala. Problem polega na tym, że chcę, aby wielbłąd kierował moją prośbę warunkowo, na przykład:

Jeśli operacja jestRegisterUser Chcę skierować wiadomość do mojego określonego komponentu bean i jeśli operacja jestUpdateUser Chcę skierować wiadomość do innego komponentu bean.

Próbowałem użyć camel xPath, ale nie działa.

<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>

Szukałem, jak ustawić wielbłąda, aby dotrzeć do różnych celów, ale nic nie znalazłem. Może ktoś wie, gdzie może być problem?

questionAnswers(3)

yourAnswerToTheQuestion