我在通过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);
}