Сомневаюсь, что вы можете это сделать, используя oozie.wf.workflow.notification.url
при текущем состоянии oozie. Я проверил oozie source code и нашел это:
org.apache.oozie.client.OozieClient (свойство чтения в постоянной):
public static final String WORKFLOW_NOTIFICATION_URL = "oozie.wf.workflow.notification.url";
org.apache.oozie.command.wf.WorkflowNotificationXCommand (константа используется для формирования переменной proxyConf):
public WorkflowNotificationXCommand(WorkflowJobBean workflow) {
super("job.notification", "job.notification", 0);
ParamChecker.notNull(workflow, "workflow");
jobId = workflow.getId();
url = workflow.getWorkflowInstance().getConf().get(OozieClient.WORKFLOW_NOTIFICATION_URL);
if (url != null) {
url = url.replaceAll(JOB_ID_PATTERN, workflow.getId());
url = url.replaceAll(STATUS_PATTERN, workflow.getStatus().toString());
proxyConf = workflow.getWorkflowInstance().getConf()
.get(OozieClient.WORKFLOW_NOTIFICATION_PROXY, ConfigurationService.get(NOTIFICATION_PROXY_KEY));
LOG.debug("Proxy :" + proxyConf);
}
}
org.apache.oozie.command.NotificationXCommand (сам http-вызов в суперклассе WorkflowNotificationXCommand с использованием переменной proxyConf):
protected void sendNotification() {
if (url != null) {
Proxy proxy = getProxy(proxyConf);
try {
URL url = new URL(this.url);
HttpURLConnection urlConn = (HttpURLConnection) url.openConnection(proxy);
urlConn.setConnectTimeout(getTimeOut());
urlConn.setReadTimeout(getTimeOut());
if (urlConn.getResponseCode() != HttpURLConnection.HTTP_OK) {
handleRetry();
}
}
catch (IOException ex) {
handleRetry();
}
}
else {
LOG.info("No Notification URL is defined. Therefore nothing to notify for job " + jobId);
}
}
Как вы можете видеть, здесь нет заголовков с использованием httpURLConnection.setRequestProperty(,)
.
Вы можете сделать обходной путь, используя пользовательское действие java, но вы можете сделать http-вызов из него, используя любые заголовки, которые вам нравятся.