com.dtp.core.refresh.AbstractRefresher Maven / Gradle / Ivy
The newest version!
package com.dtp.core.refresh;
import com.dtp.common.ApplicationContextHolder;
import com.dtp.common.em.ConfigFileTypeEnum;
import com.dtp.common.event.RefreshEvent;
import com.dtp.common.properties.DtpProperties;
import com.dtp.core.DtpRegistry;
import com.dtp.core.handler.ConfigHandler;
import com.dtp.core.spring.PropertiesBinder;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import javax.annotation.Resource;
import java.io.IOException;
import java.util.Map;
import java.util.Objects;
/**
* AbstractRefresher related
*
* @author yanhom
* @since 1.0.0
**/
@Slf4j
public abstract class AbstractRefresher implements Refresher {
@Resource
protected DtpProperties dtpProperties;
@Override
public void refresh(String content, ConfigFileTypeEnum fileType) {
if (StringUtils.isBlank(content) || Objects.isNull(fileType)) {
log.warn("DynamicTp refresh, empty content or null fileType.");
return;
}
try {
val configHandler = ConfigHandler.getInstance();
val properties = configHandler.parseConfig(content, fileType);
doRefresh(properties);
} catch (IOException e) {
log.error("DynamicTp refresh error, content: {}, fileType: {}", content, fileType, e);
}
}
protected void doRefresh(Map
© 2015 - 2025 Weber Informatics LLC | Privacy Policy