В настоящее время я использую простой ModuleVersionHandler, например:
public class MyModule extends DefaultModuleVersionHandler {
public MyModule() {
DeltaBuilder v60 = DeltaBuilder.update(".0.0", "Update to 6.0 and new configuration settings.");
v60.addTask(new BootstrapSingleModuleResource("Module configuration","Default configuration for myModule web.","config.modules.myModule.xml"));
register(v60);
}
@Override
protected List<Task> getExtraInstallTasks(InstallContext installContext) {
List<Task> extraTasks = new ArrayList<Task>();
extraTasks.add(new NewPropertyTask("SiteDefault","Set Default Site Task", RepositoryConstants.CONFIG, "/modules/site/config/site", "extends" , "/modules/myModule/config/myModule/"));
return extraTasks;
}
}
Моя проблема в том, что если я разверну его в очищенных рабочих пространствах @Tomcat или Wildfly, обновление будет сначала обрабатыватьсятак что в этом случае он потерпит неудачу, потому что magnolia nodePath / modules / site / config / site не будет существовать.
, если я в качестве примера перепишусь в NodeDelegateTasks, чтобы выполнить проверку раньше и создать путь самостоятельно или чем-то ещекоторые строят путь к узлу и устанавливают свойство extends, следующие задачи установки magnolia перезапишут мои задачи.Похоже, что установка Магнолии Задачи удалит предыдущий узел, который будет совпадать с / modules / site / *
Как я могу сказать Магнолии выполнять задачи myModule по крайней мере или после начальной установки магнолии?
С уважением