У меня есть два java-действия, написанные на Oozie workflow.xml. Я хочу передать результаты моего первого действия Java следующему действию Java для повторного использования.
Я знаю, что это нужно сделать с помощью "oozie.action.output.properties". В первом действии я устанавливаю выходной параметр "buildFileName", как показано ниже:
File file = new File(System.getProperty("oozie.action.output.properties"));
LOGGER.info("SystemGetProperty:" + System.getProperty("oozie.action.output.properties").toString());
Properties props = new Properties();
props.setProperty("buildFileName", buildFileName);
OutputStream os= new FileOutputStream(file);
props.store(os, "");
os.close();
Но, к сожалению, во втором действии я не могу использовать значение параметра. Работа приложения выполняется успешно, но значение параметра становится нулевым.
Мое первое действие на Java выглядит так:
<action name="java-action1">
<java>
<main-class>XYZ.MyJavaAction</main-class>
<arg>Args</arg>
<capture-output />
</java>
<ok to="java-action2"/>
<error to="fail"/>
Мое второе действие Java выглядит так:
<action name="java-action2">
<java>
<main-class>XYZ.MyJavaAction</main-class>
<arg>{"outputFileName":"${wf:actionData('java-action1')['buildFileName']}"}</arg>
</java>
<ok to="End"/>
<error to="fail"/>
Может ли кто-нибудь помочь, что мне здесь не хватает?