Talend ESB - 将 OSGI Buldle 作业部署到 Karaf 时出错
Talend ESB - Error deploying OSGI Buldle job to Karaf
我在 Talend ESB 中有这个项目:
- 1 主作业公开 tRESTfull 方法收集参数并传递给 n°3 子作业
- 3子作业根据参数执行任务
在 Talend Studio 中一切正常,但是当我尝试将主 JOB (1) 导出为 Karaf 的 OSGI Bundle 时,我收到以下错误:
Exception in component tRunJob_1 (Karaf_global_service)
java.lang.RuntimeException: Child job returns 1. It doesn't terminate normally.
Error: Could not find or load main class local_project.esb_fb_post_0_1.ESB_fb_post
这是主要的作业配置:
有idea/suggestion吗?构建过程是完全自动化的,如何手动添加子作业?
感谢
规则
经过一些研究,我发现运行时 (Karaf) 不支持动态作业功能:因此,对于 OpenSource Edition,您需要采用一些解决方法进行调整。
我确实创建了 3 个单独的 RunIF link 来调用子作业:这样 Karaf 接受部署并正确传递参数:
RunIF 语法 Link:
globalMap.get("command")!=null && ((String)globalMap.get("command")).equals("SUBJOB_name")
我在 Talend ESB 中有这个项目:
- 1 主作业公开 tRESTfull 方法收集参数并传递给 n°3 子作业
- 3子作业根据参数执行任务
在 Talend Studio 中一切正常,但是当我尝试将主 JOB (1) 导出为 Karaf 的 OSGI Bundle 时,我收到以下错误:
Exception in component tRunJob_1 (Karaf_global_service)
java.lang.RuntimeException: Child job returns 1. It doesn't terminate normally.
Error: Could not find or load main class local_project.esb_fb_post_0_1.ESB_fb_post
这是主要的作业配置:
有idea/suggestion吗?构建过程是完全自动化的,如何手动添加子作业?
感谢
规则
经过一些研究,我发现运行时 (Karaf) 不支持动态作业功能:因此,对于 OpenSource Edition,您需要采用一些解决方法进行调整。
我确实创建了 3 个单独的 RunIF link 来调用子作业:这样 Karaf 接受部署并正确传递参数:
RunIF 语法 Link:
globalMap.get("command")!=null && ((String)globalMap.get("command")).equals("SUBJOB_name")