在JDBC重新连接策略中实现阻塞为false ..所以当我们尝试部署应用程序时,即使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>
答案 0 :(得分:0)
在我看来,这在OOTB Mule应用程序中是不可能的。主要原因是Mule处理异常的方式。
您面临的是系统异常。
系统例外
当抛出异常时,Mule调用系统异常策略 在系统级别(即,当没有涉及消息时,例外是 由系统异常策略处理)。例如,系统异常 策略处理发生的异常:
在应用程序启动期间连接到外部系统时 失败当发生系统异常策略时,Mule发送异常 通知已注册的侦听器,记录异常,并且 - 如果是 异常是由连接失败引起的 - 执行 重新连接策略。系统异常策略不是 可以在Mule中配置
您可以阅读有关Mule错误处理here
的更多信息我想设计人员认为,如果你有一个数据库连接器,那么在Mule应用程序启动时可以访问数据库,并且在许多方面这是一个很好的功能,而不是无声地失败,它会大声失败并失败快::)
答案 1 :(得分:0)
请尝试重新连接永久选项,而不是重新连接3次。 <reconnect-forever blocking="false" frequency="120000" />
。这样,只要数据库连接恢复,就应该成功。