首先,您绝对使用正确的步骤来检查数据库连接。现在对于你的问题,我会尝试在部分解释(希望我是正确的):
案例一:“我的问题是,当一个数据库连接不可用,整个作业停止”
这情况很明显。每当某个步骤发现任何错误时,它就会抛出异常并停止Job的整个执行。
但是,这是否意味着如果连接出错,步骤“检查Db连接”将停止检查数据库连接。答案是NO。该步骤将完成测试所有连接,即使它在中间连接中出现错误。试着仔细观察日志,它会给你所有的检查DB连接的最终汇总列表(查看下图):
我试着用4个DB连接测试外面我得到了一个错误和三个成功。
现在为“整个工作停止”部分:由于停车的行为是明显的(如我所提到的),你可以做的是通过使用“错误跳”,使流动如果作业发现错误,它将采用错误跳跃。 检查图像下方:
在这里,我已经使用两级跳:一个成功和有一个错误。如果作业失败,则将采用错误路径(红色着色跳跃),否则将采用成功路径(绿色跳跃)。
案例二:“错误记录为不可访问DB和创造的成功测试一种新的动态列表”
您可以登录错误到一个单独的日志文件或表(取决于您的要求),然后通读日志以生成数据库连接列表。检查图像下面:
输出与错误标志一起生成的连接的列表。
Y : Failure in connecting to Database
N : successful connection
注:我已经使用文本文件的输入,因为我已经登录上一步骤到一个文本文件,而不是数据库。您可以根据您的需求进行自定义。
我已将示例代码放入gist。你可以检查你的参考。
希望它有帮助:)
感谢您的详细解释Rishu,这就是我所缺少的。这太棒了!我没有在DBconnections步骤中使用错误检查。现在工作很好! – Patrick 2015-02-09 15:23:15
欢迎@帕特里克:)高兴地帮助! – Rishu 2015-02-09 17:07:00