如何使用tRunJob强制子作业使用与父作业相同的上下文?

时间:2018-06-13 15:17:17

标签: talend

我在Talend ESB(SE)6.5.1中有一条路由,它使用cTalendJob调用Talend作业,这有一个单选按钮选项"使用路由上下文"这很棒 - 如果我的路线是DEV背景,那么这就是我的工作。

然而,当我试图将这个工作转移到另一个环境(在运行时)时,我遇到了一个孩子工作的问题。我的工作调用tRunJob的子作业,其中Context是必需参数,并且没有选项" current"或类似的东西。因此,当我使用上下文TEST调用我的路由时,名为buy cTalendJob的作业正在拾取路由上下文(TEST),但子作业仍在拾取DEV上下文。

我可以看到在童工中强制使用正确上下文的唯一方法是

  • 检查Transmit whole context选项,但这只有在我的子作业中的所有上下文选项也存在于父作业中时才会起作用,这种作业很烦人并且可能存在风险。

    < / LI>
  • 使用动态作业(即使它不是)并将当前上下文指定为上下文参数本身。它再次丑陋,可能效率低下,也可能存在问题。

当然必须有更好的解决方案吗?这似乎是整个背景的关键。

感谢您的期待!

1 个答案:

答案 0 :(得分:0)

不幸的是,不正确,正确的方法是在父级和子级作业中均加载上下文并选中“传输整个上下文”。 如果在“上下文”中定义上下文并在两个上下文中使用相同的上下文,则没有风险。