[ Status ] optimize code
This commit is contained in:
@@ -1,12 +1,15 @@
|
||||
package io.wdd.common.utils;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
|
||||
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
|
||||
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
import javax.annotation.PostConstruct;
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
|
||||
@@ -14,6 +17,16 @@ import java.time.format.DateTimeFormatter;
|
||||
@Configuration
|
||||
public class OctopusObjectMapperConfig {
|
||||
|
||||
public static ObjectMapper OctopusObjectMapper = null;
|
||||
|
||||
@Resource
|
||||
ObjectMapper objectMapper;
|
||||
|
||||
@PostConstruct
|
||||
public void setOctopusObjectMapper() {
|
||||
OctopusObjectMapper = objectMapper;
|
||||
}
|
||||
|
||||
public static Jackson2ObjectMapperBuilderCustomizer common() {
|
||||
|
||||
return jacksonObjectMapperBuilder -> {
|
||||
|
||||
@@ -5,7 +5,6 @@ import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.wdd.common.utils.TimeUtils;
|
||||
import io.wdd.rpc.message.OctopusMessage;
|
||||
import io.wdd.rpc.message.sender.OMessageToAgentSender;
|
||||
import io.wdd.rpc.status.OctopusStatusMessage;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
@@ -16,6 +15,7 @@ import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static io.wdd.rpc.init.AgentStatusCacheService.ALL_HEALTHY_AGENT_TOPIC_NAME_LIST;
|
||||
import static io.wdd.rpc.status.OctopusStatusMessage.ConstructAgentStatusMessage;
|
||||
import static io.wdd.rpc.status.OctopusStatusMessage.METRIC_STATUS_MESSAGE_TYPE;
|
||||
|
||||
/**
|
||||
@@ -30,8 +30,6 @@ public class AgentMetricStatusCollectService {
|
||||
public static final String METRIC_REPORT_TIME_PINCH = "metricRepeatPinch";
|
||||
public static final String METRIC_REPORT_TIMES_COUNT = "metricRepeatCount";
|
||||
|
||||
@Resource
|
||||
OctopusStatusMessage octopusStatusMessage;
|
||||
|
||||
@Resource
|
||||
OMessageToAgentSender oMessageToAgentSender;
|
||||
@@ -61,12 +59,11 @@ public class AgentMetricStatusCollectService {
|
||||
List<OctopusMessage> octopusStatusMessageList = ALL_HEALTHY_AGENT_TOPIC_NAME_LIST
|
||||
.stream()
|
||||
.map(
|
||||
agentTopicName -> octopusStatusMessage
|
||||
.ConstructAgentStatusMessage(
|
||||
METRIC_STATUS_MESSAGE_TYPE,
|
||||
agentTopicName,
|
||||
currentTime
|
||||
)
|
||||
agentTopicName -> ConstructAgentStatusMessage(
|
||||
METRIC_STATUS_MESSAGE_TYPE,
|
||||
agentTopicName,
|
||||
currentTime
|
||||
)
|
||||
)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package io.wdd.rpc.status;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import io.wdd.rpc.message.OctopusMessage;
|
||||
import io.wdd.rpc.message.OctopusMessageType;
|
||||
import lombok.AllArgsConstructor;
|
||||
@@ -9,9 +8,10 @@ import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
import lombok.experimental.SuperBuilder;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
import static io.wdd.common.utils.OctopusObjectMapperConfig.OctopusObjectMapper;
|
||||
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@@ -26,9 +26,6 @@ public class OctopusStatusMessage {
|
||||
public static final String METRIC_STATUS_MESSAGE_TYPE = "METRIC";
|
||||
public static final String APP_STATUS_MESSAGE_TYPE = "APP";
|
||||
|
||||
@Resource
|
||||
ObjectMapper objectMapper;
|
||||
|
||||
/**
|
||||
* which kind of status should be return
|
||||
* metric => short time message
|
||||
@@ -41,7 +38,7 @@ public class OctopusStatusMessage {
|
||||
|
||||
int metricRepeatPinch;
|
||||
|
||||
public OctopusMessage ConstructAgentStatusMessage(String statusType, String agentTopicName, LocalDateTime currentTime) {
|
||||
public static OctopusMessage ConstructAgentStatusMessage(String statusType, String agentTopicName, LocalDateTime currentTime) {
|
||||
|
||||
OctopusStatusMessage statusMessage = OctopusStatusMessage
|
||||
.builder()
|
||||
@@ -50,7 +47,7 @@ public class OctopusStatusMessage {
|
||||
|
||||
String ops;
|
||||
try {
|
||||
ops = objectMapper.writeValueAsString(statusMessage);
|
||||
ops = OctopusObjectMapper.writeValueAsString(statusMessage);
|
||||
} catch (JsonProcessingException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
|
||||
@@ -6,7 +6,6 @@ import io.wdd.rpc.message.OctopusMessageType;
|
||||
import io.wdd.rpc.message.handler.async.AsyncWaitOctopusMessageResultService;
|
||||
import io.wdd.rpc.message.handler.async.OctopusMessageAsyncReplayContend;
|
||||
import io.wdd.rpc.message.sender.OMessageToAgentSender;
|
||||
import io.wdd.rpc.status.OctopusStatusMessage;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -19,6 +18,7 @@ import java.util.concurrent.TimeUnit;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import static io.wdd.rpc.init.AgentStatusCacheService.ALL_AGENT_TOPIC_NAME_LIST;
|
||||
import static io.wdd.rpc.status.OctopusStatusMessage.ConstructAgentStatusMessage;
|
||||
import static io.wdd.rpc.status.OctopusStatusMessage.HEALTHY_STATUS_MESSAGE_TYPE;
|
||||
|
||||
@Slf4j
|
||||
@@ -30,9 +30,6 @@ public class AsyncStatusServiceImpl implements AsyncStatusService {
|
||||
@Resource
|
||||
OMessageToAgentSender oMessageToAgentSender;
|
||||
|
||||
@Resource
|
||||
OctopusStatusMessage octopusStatusMessage;
|
||||
|
||||
@Resource
|
||||
AsyncWaitOctopusMessageResultService asyncWaitOctopusMessageResultService;
|
||||
|
||||
@@ -105,7 +102,7 @@ public class AsyncStatusServiceImpl implements AsyncStatusService {
|
||||
List<OctopusMessage> octopusStatusMessageList = ALL_AGENT_TOPIC_NAME_LIST
|
||||
.stream()
|
||||
.map(
|
||||
agentTopicName -> octopusStatusMessage.ConstructAgentStatusMessage(
|
||||
agentTopicName -> ConstructAgentStatusMessage(
|
||||
HEALTHY_STATUS_MESSAGE_TYPE,
|
||||
agentTopicName,
|
||||
currentTime
|
||||
|
||||
@@ -1,19 +1,14 @@
|
||||
package io.wdd.server.config;
|
||||
|
||||
|
||||
import io.wdd.common.utils.OctopusObjectMapperConfig;
|
||||
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
|
||||
@Configuration
|
||||
public class OctopusObjectMapper {
|
||||
|
||||
//注意:该段代码并未覆盖SpringBoot自动装配的ObjectMapper对象,而是加强其配置。
|
||||
// use the common config of object mapper
|
||||
@Bean
|
||||
public Jackson2ObjectMapperBuilderCustomizer customJackson() {
|
||||
return OctopusObjectMapperConfig.common();
|
||||
}
|
||||
|
||||
}
|
||||
//@Configuration
|
||||
//public class OctopusObjectMapper {
|
||||
//
|
||||
// //注意:该段代码并未覆盖SpringBoot自动装配的ObjectMapper对象,而是加强其配置。
|
||||
// // use the common config of object mapper
|
||||
// @Bean
|
||||
// public Jackson2ObjectMapperBuilderCustomizer customJackson() {
|
||||
// return OctopusObjectMapperConfig.common();
|
||||
// }
|
||||
//
|
||||
//}
|
||||
|
||||
Reference in New Issue
Block a user