我在Talend ESB(SE)6.5.1中有一个路由,它使用cTalendJob
调用Talend作业,这有一个单选按钮“使用路由上下文”,这很棒 - 如果我的路由是DEV上下文,那么这就是我的工作。
但是,当我试图将这个工作转移到另一个上下文(在运行时)时,我遇到了一个孩子工作的问题。我的工作用tRunJob
调用一个子工作,其中Context是一个强制参数,并且没有“current”或类似的选项。因此,当我使用上下文TEST调用我的路由时,名为buy cTalendJob的作业正在拾取路由上下文(TEST),但子作业仍然在拾取DEV上下文。
我可以看到强迫儿童工作中正确背景的唯一方法是
Transmit whole context
选项,但这只有在我的子作业中的所有上下文选项也存在于父作业中时才会起作用,这种作业很烦人并且可能存在风险。当然必须有更好的解决方案吗?这似乎是整个背景的关键。
谢谢你的期待!
不幸的是,正确的方法是在父作业和子作业中加载上下文并检查“传输整个上下文”。如果您在“上下文”中定义上下文并在两者中使用相同的上下文,则没有风险。