使用wf:actionData属性检索oozie中的动作输出

时间:2016-02-12 17:05:40

标签: hadoop workflow oozie oozie-coordinator

我在通过oozie工作流程调用的java操作中向oozie.action.output.properties文件写了一些消息。使用${wf:actionData('<action>')['<messageKey>']}在下一个工作流程中检索该消息。但是,有时我不需要向属性文件写任何消息。在这种情况下,oozie在将邮件检索为variable [<messageKey>] cannot be resolved时会显示错误消息。 如果它返回null或为空,我可以继续工作流,但如果失败并出现上述错误。或者如何验证该变量是否存在或该messageKey是否存在消息。 示例摘录:

<action name="fail-check">
      <sub-workflow>
         <app-path>${wf:appPath()}/../fail-check</app-path>
         <propagate-configuration />
         <configuration>
           <property>
             <name>dataPrepSetupMsg</name>
             <value>${wf:actionData('setup')['errMsg']}</value>

                                      

内部JAVA行动:

if(message != null){
    final String filePath = System.getProperty("oozie.action.output.properties");
    properties.put(errorMessage, message); 
    OutputStream outputStream = new FileOutputStream(filePath);
    properties.store(outputStream, null);
}

0 个答案:

没有答案