2017-02-22 20 views
1

Я использую Oozie 4.1.0. Я развернул пользовательское действие, которое расширяет действие Java. Теперь мне нужно развернуть еще одну версию кроме этого. XSD будет одинаковым, но в коде действия есть изменения.Oozie: несколько версий одного и того же пользовательского действия java

Я бы поместил обновленное действие в пользовательский пакет и будет версией действия XSD. Я думаю, имя типа должно быть также изменено в конструкторе пользовательского действия, поскольку это должно быть уникальным, насколько я судил код.
Но тогда как я могу ссылаться на одно и то же имя действия в XML-документе рабочего процесса, который использует новую версию? Каков рекомендуемый способ обработки версий?

+0

Невозможно понять это полностью, но вам нужно иметь уникальные имена действий и их соответствующие *** ActionExecutor, реализованные и настроенные в oozie-site.xml – YoungHobbit

+0

Я хотел бы сохранить имя действия (имя элемента xml) то же самое, но иметь возможность контролировать, какую версию класса действия выполнить. – Bruckwald

ответ

1

шаги, чтобы решить эту проблему:

  • Следует развернуть новую версию банку (действия), чтобы Oozie
  • новая версия XSD должна быть добавлена ​​к oozie-site.xml под oozie .service.SchemaService.wf.ext.schemas

Во время выполнения можно изменить действительный класс действия Ози, связанный с данным действием. Для этого набора oozie.launcher.action.main.class в разделе глобальной конфигурации в workflow.xml. Это будет доступно в объекте launcherConf в org.apache.oozie.action.hadoop.JavaActionExecutor#getLauncherMain , который может быть переопределен в пользовательском действии, если необходимы дальнейшие изменения.

 Смежные вопросы

  • Нет связанных вопросов^_^