Компонент UntilSuccessful для опроса конечной точки http до тех пор, пока не будет выполнено условие

Опрос конечной точки http, получение ответа JSON, я хочу продолжать опрос до тех пор, пока не будет выполнено условие. Я пробовал <until-successful failureExpression="#[json:status != 'COMPLETED']" maxRetries="5" secondsBetweenRetries="10" synchronous="true">, но это исключение.

Пожалуйста, также дайте мне знать, если есть другой метод для моего сценария


person user3483129    schedule 20.02.2015    source источник
comment
Какое исключение? Мул версия?   -  person David Dossot    schedule 21.02.2015
comment
Положительное выражение отказа при обработке события. Я использую последнюю версию мула   -  person user3483129    schedule 21.02.2015
comment
Это не похоже на исключение: можете ли вы отредактировать свой вопрос и добавить в него полную трассировку стека?   -  person David Dossot    schedule 21.02.2015


Ответы (1)


присвоить значение вычисления переменной потока и предоставить условие, оценивающее соответствующую переменную потока.

<until-successful failureExpression="#[flowVars['testRetryCondition'] != 'COMPLETED']" maxRetries="5" secondsBetweenRetries="10" synchronous="true"> <processor-chain doc:name="Processor Chain"> <http:........./> <set-variable variableName="testRetryCondition" value="#[json:status != 'COMPLETED']" doc:name="set-invocation-status"/> </processor-chain> </until-successful>

person Mohan    schedule 21.02.2015
comment
Это дает ошибку для #[flowVars['sStatusMsg']!='COMPLETED' || flowVars['sStatusMsg']!='ERROR']. Можете ли вы помочь в исправлении синтаксиса - person user3483129; 25.02.2015
comment
синтаксис правильный, вы можете опубликовать ошибку. я пробовал с приведенным ниже выражением, оно работает для меня. для вашего взгляда я добавил выражение. #[flowVars['t1']!='abc' || flowVars['t1']!='xyz' ] - person Mohan; 26.02.2015