diff --git a/fund-exp/src/main/java/com/fundplatform/exp/ExpApplication.java b/fund-exp/src/main/java/com/fundplatform/exp/ExpApplication.java index 5a4080a..782a2da 100644 --- a/fund-exp/src/main/java/com/fundplatform/exp/ExpApplication.java +++ b/fund-exp/src/main/java/com/fundplatform/exp/ExpApplication.java @@ -4,7 +4,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"com.fundplatform.exp", "com.fundplatform.common"}) @EnableDiscoveryClient public class ExpApplication { diff --git a/fund-file/src/main/java/com/fundplatform/file/FileApplication.java b/fund-file/src/main/java/com/fundplatform/file/FileApplication.java index a7e7262..97cdc44 100644 --- a/fund-file/src/main/java/com/fundplatform/file/FileApplication.java +++ b/fund-file/src/main/java/com/fundplatform/file/FileApplication.java @@ -4,7 +4,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"com.fundplatform.file", "com.fundplatform.common"}) @EnableDiscoveryClient public class FileApplication { diff --git a/fund-gateway/src/main/java/com/fundplatform/gateway/GatewayApplication.java b/fund-gateway/src/main/java/com/fundplatform/gateway/GatewayApplication.java index 9f1ae3d..f30e720 100644 --- a/fund-gateway/src/main/java/com/fundplatform/gateway/GatewayApplication.java +++ b/fund-gateway/src/main/java/com/fundplatform/gateway/GatewayApplication.java @@ -2,8 +2,18 @@ package com.fundplatform.gateway; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -@SpringBootApplication +@SpringBootApplication(scanBasePackages = { + "com.fundplatform.gateway", + "com.fundplatform.common.auth", // TokenInfo + "com.fundplatform.common.context", // TraceContextHolder + "com.fundplatform.common.exception", // GlobalExceptionHandler + "com.fundplatform.common.result" // Result class + // 注意:不扫描 common.cache (需要RedisTemplate,Gateway只有ReactiveRedisTemplate) + // 注意:不扫描 common.web (使用Servlet API,Gateway是WebFlux) +}) +@EnableDiscoveryClient public class GatewayApplication { public static void main(String[] args) { diff --git a/fund-gateway/src/main/java/com/fundplatform/gateway/config/ReactiveRedisConfig.java b/fund-gateway/src/main/java/com/fundplatform/gateway/config/ReactiveRedisConfig.java new file mode 100644 index 0000000..b42ad20 --- /dev/null +++ b/fund-gateway/src/main/java/com/fundplatform/gateway/config/ReactiveRedisConfig.java @@ -0,0 +1,44 @@ +package com.fundplatform.gateway.config; + +import com.fasterxml.jackson.annotation.JsonAutoDetect; +import com.fasterxml.jackson.annotation.PropertyAccessor; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.jsontype.impl.LaissezFaireSubTypeValidator; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.data.redis.connection.ReactiveRedisConnectionFactory; +import org.springframework.data.redis.core.ReactiveRedisTemplate; +import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer; +import org.springframework.data.redis.serializer.RedisSerializationContext; +import org.springframework.data.redis.serializer.StringRedisSerializer; + +/** + * Redis配置类 + * 为Gateway提供ReactiveRedisTemplate + */ +@Configuration +public class ReactiveRedisConfig { + + @Bean + public ReactiveRedisTemplate reactiveRedisTemplate( + ReactiveRedisConnectionFactory connectionFactory) { + + ObjectMapper objectMapper = new ObjectMapper(); + objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY); + objectMapper.activateDefaultTyping(LaissezFaireSubTypeValidator.instance, + ObjectMapper.DefaultTyping.NON_FINAL); + + Jackson2JsonRedisSerializer jsonSerializer = new Jackson2JsonRedisSerializer<>(objectMapper, Object.class); + StringRedisSerializer stringSerializer = StringRedisSerializer.UTF_8; + + RedisSerializationContext serializationContext = RedisSerializationContext + .newSerializationContext() + .key(stringSerializer) + .value(jsonSerializer) + .hashKey(stringSerializer) + .hashValue(jsonSerializer) + .build(); + + return new ReactiveRedisTemplate<>(connectionFactory, serializationContext); + } +} diff --git a/fund-receipt/src/main/java/com/fundplatform/receipt/ReceiptApplication.java b/fund-receipt/src/main/java/com/fundplatform/receipt/ReceiptApplication.java index 03ce855..3019103 100644 --- a/fund-receipt/src/main/java/com/fundplatform/receipt/ReceiptApplication.java +++ b/fund-receipt/src/main/java/com/fundplatform/receipt/ReceiptApplication.java @@ -5,7 +5,7 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; import org.springframework.scheduling.annotation.EnableScheduling; -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"com.fundplatform.receipt", "com.fundplatform.common"}) @EnableDiscoveryClient @EnableScheduling public class ReceiptApplication { diff --git a/fund-req/src/main/java/com/fundplatform/req/ReqApplication.java b/fund-req/src/main/java/com/fundplatform/req/ReqApplication.java index 7ae26e7..17fafcf 100644 --- a/fund-req/src/main/java/com/fundplatform/req/ReqApplication.java +++ b/fund-req/src/main/java/com/fundplatform/req/ReqApplication.java @@ -4,7 +4,7 @@ import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"com.fundplatform.req", "com.fundplatform.common"}) @EnableDiscoveryClient public class ReqApplication { diff --git a/fund-sys/src/main/java/com/fundplatform/sys/SysApplication.java b/fund-sys/src/main/java/com/fundplatform/sys/SysApplication.java index 5e18dfb..9f13d03 100644 --- a/fund-sys/src/main/java/com/fundplatform/sys/SysApplication.java +++ b/fund-sys/src/main/java/com/fundplatform/sys/SysApplication.java @@ -8,7 +8,7 @@ import org.springframework.cloud.client.discovery.EnableDiscoveryClient; /** * 系统服务启动类 */ -@SpringBootApplication +@SpringBootApplication(scanBasePackages = {"com.fundplatform.sys", "com.fundplatform.common"}) @EnableDiscoveryClient @MapperScan("com.fundplatform.sys.data.mapper") public class SysApplication {