2014-10-31 1 views
2

У меня есть Mule поток, который я начинаю с помощью следующего сценария:Как узнать состояние Mule потока

muleContext.registry.lookupFlowConstruct('targetFlow').start() 

Однако я хотел бы сценарий будет выполняться только тогда, когда поток остановился. Есть ли способ проверить это в скрипте, прежде чем начинать?

ответ

4

Этот метод можно использовать для проверки запуска потока. Я надеюсь помочь вам.

AbstractFlowConstruct f = (AbstractFlowConstruct) muleContext.getRegistry().lookupFlowConstruct("flowName");   
    if (f.isStopped()){ 
     // start flow 
    } 
// it can also be used : f.isStarted() 
+0

Большого спасибо Хулио! – Andres

3

В качестве альтернативы вы можете использовать Groovy компонента для проверки состояния и поставить простой скрипт следующим образом: -

<scripting:component doc:name="Groovy"> 
       <scripting:script engine="Groovy"><![CDATA[ 
      if(muleContext.registry.lookupFlowConstruct('yourFlowName').isStopped()) 
       { 
        muleContext.registry.lookupFlowConstruct('yourFlowName').start(); 

       } 
      return message.payload; 
       ]]> 
       </scripting:script> 
    </scripting:component> 

Примечание Groovy сценарий является самым простым способом для достижения этой

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

  • Нет связанных вопросов^_^