diff --git a/server/src/main/java/io/wdd/common/utils/OctopusObjectMapperConfig.java b/server/src/main/java/io/wdd/common/utils/OctopusObjectMapperConfig.java index 7971f25..783eb37 100644 --- a/server/src/main/java/io/wdd/common/utils/OctopusObjectMapperConfig.java +++ b/server/src/main/java/io/wdd/common/utils/OctopusObjectMapperConfig.java @@ -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 -> { diff --git a/server/src/main/java/io/wdd/rpc/scheduler/service/status/AgentMetricStatusCollectService.java b/server/src/main/java/io/wdd/rpc/scheduler/service/status/AgentMetricStatusCollectService.java index 17e5980..bcaec69 100644 --- a/server/src/main/java/io/wdd/rpc/scheduler/service/status/AgentMetricStatusCollectService.java +++ b/server/src/main/java/io/wdd/rpc/scheduler/service/status/AgentMetricStatusCollectService.java @@ -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 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()); diff --git a/server/src/main/java/io/wdd/rpc/status/OctopusStatusMessage.java b/server/src/main/java/io/wdd/rpc/status/OctopusStatusMessage.java index 7454bd1..e6e1a14 100644 --- a/server/src/main/java/io/wdd/rpc/status/OctopusStatusMessage.java +++ b/server/src/main/java/io/wdd/rpc/status/OctopusStatusMessage.java @@ -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); } diff --git a/server/src/main/java/io/wdd/rpc/status/service/AsyncStatusServiceImpl.java b/server/src/main/java/io/wdd/rpc/status/service/AsyncStatusServiceImpl.java index 8945332..a9cb661 100644 --- a/server/src/main/java/io/wdd/rpc/status/service/AsyncStatusServiceImpl.java +++ b/server/src/main/java/io/wdd/rpc/status/service/AsyncStatusServiceImpl.java @@ -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 octopusStatusMessageList = ALL_AGENT_TOPIC_NAME_LIST .stream() .map( - agentTopicName -> octopusStatusMessage.ConstructAgentStatusMessage( + agentTopicName -> ConstructAgentStatusMessage( HEALTHY_STATUS_MESSAGE_TYPE, agentTopicName, currentTime diff --git a/server/src/main/java/io/wdd/server/config/OctopusObjectMapper.java b/server/src/main/java/io/wdd/server/config/OctopusObjectMapper.java index f939b6d..d22b3a7 100644 --- a/server/src/main/java/io/wdd/server/config/OctopusObjectMapper.java +++ b/server/src/main/java/io/wdd/server/config/OctopusObjectMapper.java @@ -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(); +// } +// +//}