2013-03-07 3 views
3

У меня есть процессор абстрактных сообщений, который я построил, и хочу инкапсулировать внутри булевой оценки, чтобы я мог отключить его при определенных условиях. Я хочу написать что-то вроде этого:Можете ли вы написать инструкцию "if" в Mule ESB?

<flow name="myFlow"> 
    <if expression="${myFlag} == true"> 
     <mynamespace:myCustomMessageProcessor .../> 
    </if> 
</flow> 

Возможно ли это в Mule ESB? Есть ли пример, который я могу рассмотреть?

+4

Из того, что я вижу здесь http://stackoverflow.com/questions/13094092/how-to-kick-off-a-mule-flow-to-read-messages-from-a-jms-queue-using-using- an-http-endp вы можете использовать '' – Alex

+0

Вы хотите выполнить какое-либо действие после «if» в этом потоке? –

+0

Нет, я хочу только вызывать обработчик сообщений при определенных условиях. Мне не нужны никакие другие действия. – TERACytE

ответ

2

Это стандартный шаблон маршрутизации на основе контента, присутствующий во всех ESB.

В Mule, вы хотите использовать Выбор маршрутизатора - смотри, например, Mule School: Using Flow Controls – Choice Router учебник.

1

Если вы хотите использовать IF условие считывания значения из файла свойств вы можете сделать следующее: -

<scripting:component doc:name="Groovy" doc:description="This component is used to check the value from properties file" > 
    <scripting:script engine="Groovy"> 
    // use your if else code here like 
    if(${myFlag} == true) 
     {  
     return message.payload 
     } 
    </scripting:script> 
</scripting:component> 

Позвольте мне знать, она работала или нет ....

0

Mule Выбор маршрутизатора является опцией apt для использования if else или if elseif. Даже вы используете выражения для достижения того же.

0

Choice Router является альтернативой мулу для утверждения IF. Даже вы используете выражения для достижения того же.

Смежные вопросы