Как отловить исключения из jdbc-inbound-channel-adapter? - PullRequest
0 голосов
/ 29 января 2019

Возможно ли перехватывать исключения из jdbc-inbound-channel-adapter (например, проблема с базой данных во время выполнения запроса)?
Например, в http-outbound-gateway можно использовать обработчик ошибок, объявленный с атрибутом error-handler.
Thanxв совете.

1 Ответ

0 голосов
/ 29 января 2019

A jdbc-inbound-channel-adapter полностью основан на JdbcPollingChannelAdapter и его оболочке SourcePollingChannelAdapter для "жесткой" логики опроса.

Я уверен, что вы предоставили конфигурацию <poller> для упомянутогоjdbc-inbound-channel-adapter или глобально.

У этого есть эта опция:

   <xsd:attribute name="error-channel" type="xsd:string">
        <xsd:annotation>
            <xsd:documentation><![CDATA[
                Identifies channel that error messages will be sent to if a failure occurs in this
                poller's invocation. To completely suppress Exceptions, provide a
                reference to the "nullChannel" here.
            ]]></xsd:documentation>
        </xsd:annotation>
    </xsd:attribute>

Таким образом, когда во время опроса БД возникает какая-либо ошибка, она будет перенесена в ErrorMessage и отправлена ​​в настроенный error-channel.Если он не предоставлен, будет использоваться глобальный компонент errorChannel.

См. Главу Обработка ошибок в Справочном руководстве для получения дополнительной информации: https://docs.spring.io/spring-integration/docs/current/reference/html/configuration.html#namespace-errorhandler

...