Я использую Java-клиент Oozie для запуска действия оболочки из моей Java-программы. Я хочу прочитать элемент вывода захвата действия оболочки из моей Java-программы. Я попытался использовать функцию ниже. Но я получил исключение NullPointerException.
org.apache.oozie.DagELFunctions.wf_actionData(String actionName)
Вот Java-программа для отправки задания Oozie с использованием Java Client API.
public class OozieSample {
public static void main(String[] args) throws OozieClientException, InterruptedException {
// TODO Auto-generated method stub
// get a OozieClient for local Oozie
OozieClient wc = new OozieClient("http://bar:8080/oozie");
// create a workflow job configuration and set the workflow application path
Properties conf = wc.createConfiguration();
conf.setProperty(OozieClient.APP_PATH, "hdfs://foo:9000/usr/tucu/my-wf-app");
// setting workflow parameters
conf.setProperty("jobTracker", "foo:9001");
// submit and start the workflow job
String jobId = wc.run(conf);
System.out.println("Workflow job submitted");
System.out.println(jobId);
// wait until the workflow job finishes printing the status every 10 seconds
while (wc.getJobInfo(jobId).getStatus() == WorkflowJob.Status.RUNNING) {
System.out.println("Workflow job running ...");
Thread.sleep(10 * 1000);
}
System.out.println(org.apache.oozie.DagELFunctions.wf_actionData("shell-5ed8"));
// print the final status o the workflow job
System.out.println("Workflow job completed ...");
}
Есть ли способ прочитать элемент захвата-вывода oozie из Java-программы?