This commit is contained in:
Timo Bejan 2022-02-18 17:02:22 +02:00
parent 400c602868
commit ab1cc8af9d
2 changed files with 59 additions and 0 deletions

View File

@ -0,0 +1,21 @@
package com.iqser.red.service.peristence.v1.server.configuration;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextInitializer;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.stereotype.Component;
@Component
public class ApplicationContextHolder implements ApplicationContextInitializer<ConfigurableApplicationContext> {
private static ApplicationContext applicationContext;
@Override
public void initialize(ConfigurableApplicationContext applicationContext) {
ApplicationContextHolder.applicationContext = applicationContext;
}
public static ApplicationContext getContext() {
return applicationContext;
}
}

View File

@ -0,0 +1,38 @@
package com.iqser.red.service.peristence.v1.server.liquibase;
import com.iqser.red.service.peristence.v1.server.configuration.ApplicationContextHolder;
import liquibase.change.custom.CustomTaskChange;
import liquibase.database.Database;
import liquibase.exception.CustomChangeException;
import liquibase.exception.SetupException;
import liquibase.exception.ValidationErrors;
import liquibase.resource.ResourceAccessor;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
public abstract class ApplicationContextAwareChange implements CustomTaskChange {
@Override
public void execute(Database database) throws CustomChangeException {
}
@Override
public void setUp() throws SetupException {
var context = ApplicationContextHolder.getContext();
context.getAutowireCapableBeanFactory().autowireBeanProperties(
this,
AutowireCapableBeanFactory.AUTOWIRE_AUTODETECT, true);
}
@Override
public void setFileOpener(ResourceAccessor resourceAccessor) {
}
@Override
public ValidationErrors validate(Database database) {
return null;
}
}