Я пытаюсь понять, как следует обрабатывать ошибки в Spring Integration. Я нашел документацию о errorChannel
, я пытался использовать ее, но исключение не поймано.
Вот мой исходящий HTTP-шлюз:
<int-http:outbound-gateway id="orderRequestHttpGateway"
request-channel="orders-channel"
url="${url}"
http-method="POST"
expected-response-type="java.lang.String"
reply-timeout='5000'
reply-channel='pushed-channel'
charset="UTF-8">
</int-http:outbound-gateway>
Я не понимаю, где я должен ловить исключения, выдаваемые этим компонентом (например, ошибка HTTP 500)
Маршрут начинается с poller
. Я попытался добавить свойство error-channel
:
<int:inbound-channel-adapter channel="orders-trigger-channel" expression="''">
<int:poller fixed-delay="${poller}" error-channel="errorChannel"/>
</int:inbound-channel-adapter>
Я пытался с пользовательским каналом ошибки Я также попытался переопределить существующий errorChannel:
<int:channel id="errorChannel"/>
<int:outbound-channel-adapter id="errorChannelHandler"
ref="errorManager"
method="foo"
channel="errorChannel"/>
Пока я продолжаю получать MessageHandlingException
, и я не могу поймать их, чтобы иметь с ними дело должным образом.