我曾经使用Talend Open Integration studio来创建作业并从IDE运行它或将其导出为可执行jar文件。但我还没有广泛使用它。 是否可以创建一个包含不同服务器名称和其他变量的外部配置文件,以便在创建我的Talend作业的可执行jar文件后,我可以更改配置文本文件并选择不同的数据库服务器或端口选项?
我也使用了MuleSoft一点点,所以如果有人知道如何使用MuleSoft,任何建议都会受到赞赏。
答案 0 :(得分:7)
根据你问题的内容,我会改写主题 "如何在Talend Open Studio数据集成作业中读取和使用外部属性文件?"
首先......创建属性文件" common.properties"。您可以将它放在(例如)/ etc / classpath或c:\ etc \ classpath
中属性文件的示例内容
$user->roles()->save($role, ['expires' => $expires]); //using save
$user->roles()->attach($roleId, ['expires' => $expires]);// using attach
在Talend Project中创建一个公共上下文,并将相同的属性添加到上下文
创建可重复使用的作业以读取属性并加载它们。我们称之为Read_ Properties。
使用tFileInputDelimited组件读取props文件。它应该使用" ="作为行分隔符。
它应该有一个包含两列的模式
example_property="This is an example property"
输出应该转到tBufferOutput
现在......保存可重复使用的工作。
创建一个新工作,example_calling_job 该工作应该使用Common上下文。 该作业应该有一个prejob步骤,使用tRunJob调用属性作业,将行输出发送到tContextLoad
然后,example_calling_job中的组件可以使用属性读取器作业加载的上下文变量。
运行example_calling_job。 tJava组件写出context.example_property值,该值由属性读取器作业加载到上下文变量中。
key, string
value, string
答案 1 :(得分:2)
使用Talend,您可以在Context中定义参数。您可以使用组件tContextLoad(https://help.talend.com/display/TalendComponentsReferenceGuide54EN/tContextLoad)初始化Context。如果您使用的是独立作业,则可以使用命令行参数--context_param设置或覆盖上下文值。
答案 2 :(得分:0)
您可以使用tFileOutputProperties来crteate属性文件。在组件设置中指定.properties文件的文件路径。
请注意,tFileOutputProperties的输入模式应该只有两个字段 - 键和值。
同样,要从.properties文件中读取,请使用tFileInputProperties