Mule 阻塞=";假;在3.4.2中的JDBC重新连接中不起作用

Mule 阻塞=";假;在3.4.2中的JDBC重新连接中不起作用,mule,mule-studio,mule-component,mule-el,mule-cluster,Mule,Mule Studio,Mule Component,Mule El,Mule Cluster,在JDBC中,实现阻塞的重连接策略为false。。所以,当我们尝试部署应用程序时,即使JDBC连接失败,也应该部署应用程序,但应用程序并没有部署到服务器中 以下是xml代码 <jdbc-ee:connector name="FTPDatabase" dataSource-ref="MySQL_FTP_Data_Source" validateConnections="true" queryTimeout="-1" pollingFrequency="0" d

在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>

在我看来,这在OOTB Mule应用程序中是不可能的。主要原因是Mule处理异常的方式

您面临的是系统异常

系统例外

当抛出异常时,Mule调用系统异常策略 在系统级(即,当不涉及任何消息时,会出现异常 由系统异常策略处理)。例如,系统异常 策略处理发生的异常:

在应用程序启动期间,当连接到外部系统时 当系统异常策略发生时失败,Mule发送异常 通知已注册的侦听器,记录异常,以及-如果 异常是由连接失败引起的-执行 重新连接策略。不支持系统异常策略 在骡子中配置

您可以阅读有关Mule错误处理的更多信息


我想设计师们认为,如果您有一个DB连接器,当Mule应用程序启动时,DB将可以访问,并且在许多方面,这是一个很好的功能,而不是无声地失败,它会大声失败并且失败很快:)

请尝试永远重新连接选项,而不是重新连接3次<代码>。这样,无论何时数据库连接恢复,都应该成功。

问题不是源于数据源本身,而是源于连接器吗?即使远程数据库关闭,数据源也可以初始化吗?数据库关闭。。所以,即使数据库也关闭了,也要使应用程序实现的阻塞为false。。即使这样,应用程序也无法部署。即使远程数据库关闭,如何使应用程序恢复正常?