Как отслеживать значение количества повторных попыток от до успешного компонента (синхронный режим) в mule 3?

#mule #mule-component #mulesoft #mule-esb

#mule #mule-компонент #mulesoft #mule-esb

Вопрос:

Я использую mule версии 3.9. Я вызываю REST API в подпотоке. На этот вспомогательный поток ссылаются внутри до успешного компонента в основном потоке. Я использую синхронный режим. Я повторю попытку еще 2 раза, если получу код ответа Http как 503 или 404 из этого API. Мне нужно отслеживать количество повторных попыток и сохранять это значение в БД.

Решения, которые я пробовал:

1.) Я также попытался использовать переменную потока и переменную сеанса и увеличить ее в подпотоке. Но это не работает, потому что переменная сбрасывается в исходное значение для каждой повторной попытки.

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

Пожалуйста, дайте мне знать, есть ли какой-либо обходной путь для поддержания значения количества повторных попыток?

Ответ №1:

Вы можете использовать хранилище объектов, чтобы сохранить количество и сделать ключ для него уникальным для сообщения, например, CorrelationId.

Документация: