houweiyu 4 lat temu
rodzic
commit
3f4a0195da

+ 27 - 40
src/main/java/com/fcb/gateway/config/RedisConfiguration.java

@@ -1,36 +1,43 @@
+
 package com.fcb.gateway.config;
 
-import com.fasterxml.jackson.annotation.JsonAutoDetect;
-import com.fasterxml.jackson.annotation.PropertyAccessor;
-import com.fasterxml.jackson.databind.ObjectMapper;
+import com.alibaba.fastjson.support.spring.FastJsonRedisSerializer;
+import org.springframework.cache.annotation.EnableCaching;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.data.redis.connection.RedisConnectionFactory;
-import org.springframework.data.redis.connection.jedis.JedisConnectionFactory;
 import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.core.StringRedisTemplate;
 import org.springframework.data.redis.serializer.StringRedisSerializer;
 
+import java.net.UnknownHostException;
+
+
+/**
+ * 2 * @Author: Abner
+ * 3 * @Date: 2021/1/11 11:44
+ * 4
+ */
+
+
 @Configuration
+@EnableCaching
 public class RedisConfiguration {
 
     @Bean
-    JedisConnectionFactory jedisConnectionFactory() {
-        return new JedisConnectionFactory();
+    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory redisConnectionFactory) throws UnknownHostException {
+        StringRedisTemplate template = new StringRedisTemplate();
+        template.setConnectionFactory(redisConnectionFactory);
+        return template;
     }
 
-
     @Bean
-    public RedisTemplate<String, Object> redisTemplate(JedisConnectionFactory jedisConnectionFactory) {
+    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
         RedisTemplate<String, Object> template = new RedisTemplate<>();
-        template.setConnectionFactory(jedisConnectionFactory);
-
-        // 使用Jackson2JsonRedisSerialize 替换默认的jdkSerializeable序列化
-        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
-        ObjectMapper om = new ObjectMapper();
-        om.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
-        om.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);
-        jackson2JsonRedisSerializer.setObjectMapper(om);
+        template.setConnectionFactory(factory);
+        FastJsonRedisSerializer fastJsonRedisSerializer =  new FastJsonRedisSerializer(Object.class);
+        template.setValueSerializer(fastJsonRedisSerializer);
+        template.setHashValueSerializer(fastJsonRedisSerializer);
 
         StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();
 
@@ -39,31 +46,11 @@ public class RedisConfiguration {
         // hash的key也采用String的序列化方式
         template.setHashKeySerializer(stringRedisSerializer);
         // value序列化方式采用jackson
-        template.setValueSerializer(jackson2JsonRedisSerializer);
+        template.setValueSerializer(fastJsonRedisSerializer);
         // hash的value序列化方式采用jackson
-        template.setHashValueSerializer(jackson2JsonRedisSerializer);
+        template.setHashValueSerializer(fastJsonRedisSerializer);
         template.afterPropertiesSet();
         return template;
     }
-
-    /*@Bean("redisTemplate")
-    public RedisTemplate redisTemplate(@Value("${spring.redis.host}") String host,
-                                       @Value("${spring.redis.port}") int port) {
-        RedisTemplate redisTemplate = new RedisTemplate();
-        RedisSerializer stringRedisSerializer = new StringRedisSerializer();
-        Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);
-        redisTemplate.setKeySerializer(stringRedisSerializer);
-        redisTemplate.setHashKeySerializer(stringRedisSerializer);
-        redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);
-        redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);
-        redisTemplate.setConnectionFactory(standaloneConnectionFactory(host, port));
-        return redisTemplate;
-    }
-
-    protected JedisConnectionFactory standaloneConnectionFactory(String host, int port) {
-        RedisStandaloneConfiguration redisStandaloneConfiguration = new RedisStandaloneConfiguration();
-        redisStandaloneConfiguration.setHostName(host);
-        redisStandaloneConfiguration.setPort(port);
-        return new JedisConnectionFactory(redisStandaloneConfiguration);
-    }*/
 }
+

+ 2 - 2
src/main/java/com/fcb/gateway/filter/AuthAndLogFilter.java

@@ -51,7 +51,7 @@ public class AuthAndLogFilter implements GlobalFilter, Ordered {
         ) {
             log.info("白名单路径,无需校验token");
         } else {
-           /* if (!CollectionUtils.isEmpty(tokenList)) {
+            if (!CollectionUtils.isEmpty(tokenList)) {
                 String token = tokenList.get(0);
                 log.info("上送的token为:{}" , token);
                 if (!redisTemplate.hasKey(token)) {
@@ -69,7 +69,7 @@ public class AuthAndLogFilter implements GlobalFilter, Ordered {
                 DataBuffer bodyDataBuffer = serverHttpResponse.bufferFactory().wrap(JSON.toJSONString(mapResult).getBytes());
                 serverHttpResponse.getHeaders().add("Content-Type", "text/plain;charset=UTF-8");
                 return serverHttpResponse.writeWith(Mono.just(bodyDataBuffer));
-            }*/
+            }
         }
         return chain.filter(exchange);
     }

+ 5 - 5
src/main/resources/bootstrap.yml

@@ -6,11 +6,11 @@ spring:
   cloud:
     nacos:
       config:
-        server-addr: 127.0.0.1:8848
-        #server-addr: 10.71.5.163:80
+        #server-addr: 127.0.0.1:8848
+        server-addr: 10.71.5.163:80
       discovery:
-        server-addr: 127.0.0.1:8848
-        #server-addr: 10.71.5.163:80
+        #server-addr: 127.0.0.1:8848
+        server-addr: 10.71.5.163:80
     gateway:
       httpclient:
         pool:
@@ -25,7 +25,7 @@ spring:
             fallbackUri: 'forward:/defaultFallback'
 
   profiles:
-    active: dev
+    active: prod
 logging:
   config: classpath:log4j2.xml