Blocking = false не работает в JDBC Reconnection в 3.4.2

В стратегии повторного подключения JDBC реализована блокировка как ложная ... поэтому, когда мы пытаемся развернуть приложение, даже если соединение JDBC не удается, приложение должно быть развернуто. Но приложение не развертывается на сервере.

Ниже приведен xml-код.

<jdbc-ee:connector name="FTPDatabase" dataSource-ref="MySQL_FTP_Data_Source"
        validateConnections="true" queryTimeout="-1" pollingFrequency="0"
        doc:name="Database">
        <reconnect blocking="false" frequency="10000" count="3"/>
    </jdbc-ee:connector>

person Manjula Sajjanam    schedule 20.06.2015    source источник
comment
Разве проблема не в самом источнике данных, а не в коннекторе? Может ли источник данных инициализироваться, даже если удаленная БД не работает?   -  person David Dossot    schedule 20.06.2015
comment
База данных не работает .. Итак, даже если база данных также не работает, чтобы приложение было реализовано, блокировка как ложная ... даже тогда приложение не развертывается .. Как сделать приложение, даже если удаленная база данных не работает?   -  person Manjula Sajjanam    schedule 21.06.2015


Ответы (2)


На мой взгляд, это невозможно в приложении OOTB Mule. Основная причина в том, как Mule обрабатывает исключения.

Вы столкнулись с системным исключением.

Системные исключения

Mule вызывает стратегию системных исключений, когда исключение выбрасывается на системном уровне (то есть, когда сообщение не задействовано, исключения обрабатываются стратегиями системных исключений). Например, стратегии системных исключений обрабатывают возникающие исключения:

во время запуска приложения при сбое подключения к внешней системе. Стратегии системных исключений не настраиваются в Mule

Подробнее об обработке ошибок Mule можно узнать здесь

Я предполагаю, что дизайнеры придерживались мнения, что если у вас есть соединитель БД, БД будет доступна при запуске приложения Mule, и во многих отношениях это хорошая функция, вместо того, чтобы молча терпеть неудачу, она выходит из строя громко и быстро :)

person Sudarshan    schedule 22.06.2015

Вместо трех повторных подключений попробуйте выполнить повторное подключение навсегда. <reconnect-forever blocking="false" frequency="120000" />. Таким образом, всякий раз, когда соединение с базой данных восстанавливается, оно должно быть успешным.

person jvas    schedule 06.07.2015