[agent] [init] - 优化启动信息处理
This commit is contained in:
@@ -8,14 +8,13 @@ import org.apache.commons.lang3.ObjectUtils;
|
|||||||
import org.springframework.beans.BeansException;
|
import org.springframework.beans.BeansException;
|
||||||
import org.springframework.context.ApplicationContext;
|
import org.springframework.context.ApplicationContext;
|
||||||
import org.springframework.context.ApplicationContextAware;
|
import org.springframework.context.ApplicationContextAware;
|
||||||
import org.springframework.context.annotation.Bean;
|
|
||||||
import org.springframework.context.annotation.Configuration;
|
import org.springframework.context.annotation.Configuration;
|
||||||
import org.springframework.context.annotation.Lazy;
|
|
||||||
import org.springframework.core.env.Environment;
|
import org.springframework.core.env.Environment;
|
||||||
|
|
||||||
import javax.annotation.PostConstruct;
|
import javax.annotation.PostConstruct;
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import java.net.InetAddress;
|
import java.net.InetAddress;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
import java.util.Properties;
|
import java.util.Properties;
|
||||||
|
|
||||||
@@ -23,18 +22,12 @@ import java.util.Properties;
|
|||||||
@Slf4j
|
@Slf4j
|
||||||
public class CollectSystemInfo implements ApplicationContextAware {
|
public class CollectSystemInfo implements ApplicationContextAware {
|
||||||
|
|
||||||
|
public AgentServerInfo agentServerInfo;
|
||||||
@Resource
|
@Resource
|
||||||
Environment environment;
|
Environment environment;
|
||||||
|
|
||||||
private ApplicationContext context;
|
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
OctopusAgentInitService octopusAgentInitService;
|
OctopusAgentInitService octopusAgentInitService;
|
||||||
|
private ApplicationContext context;
|
||||||
public AgentServerInfo agentServerInfo;
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@PostConstruct
|
@PostConstruct
|
||||||
private void getInjectServerInfo() {
|
private void getInjectServerInfo() {
|
||||||
@@ -43,6 +36,44 @@ public class CollectSystemInfo implements ApplicationContextAware {
|
|||||||
|
|
||||||
agentServerInfo = (AgentServerInfo) context.getBean("agentServerInfo");
|
agentServerInfo = (AgentServerInfo) context.getBean("agentServerInfo");
|
||||||
|
|
||||||
|
// 进行归一化处理,去除掉属性中所有多余的 "
|
||||||
|
log.debug("开始归一化处理 AgentInfoVO");
|
||||||
|
Class<AgentServerInfo> infoClass = AgentServerInfo.class;
|
||||||
|
Arrays
|
||||||
|
.stream(infoClass.getDeclaredFields())
|
||||||
|
.forEach(
|
||||||
|
field -> {
|
||||||
|
try {
|
||||||
|
log.debug(
|
||||||
|
"开始处理初始化AgentInfoVO中的字段 => {}",
|
||||||
|
field.getName()
|
||||||
|
);
|
||||||
|
if (!field
|
||||||
|
.getType()
|
||||||
|
.equals(String.class)) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
// must do this
|
||||||
|
field.setAccessible(true);
|
||||||
|
Object o = field.get(agentServerInfo);
|
||||||
|
if (null == o) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
String value = (String) o;
|
||||||
|
field.set(
|
||||||
|
agentServerInfo,
|
||||||
|
value.replace("\"",
|
||||||
|
"")
|
||||||
|
);
|
||||||
|
|
||||||
|
} catch (IllegalAccessException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
if (ObjectUtils.isEmpty(agentServerInfo)) {
|
if (ObjectUtils.isEmpty(agentServerInfo)) {
|
||||||
throw new MyRuntimeException(" Collect server info error !");
|
throw new MyRuntimeException(" Collect server info error !");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user