Explorar o código

增加操纵杆队列

xiewenjie %!s(int64=3) %!d(string=hai) anos
pai
achega
6617d2fa22

+ 9 - 3
src/main/java/com/fdkk/fdkkmeta/config/RedisConfig.java

@@ -58,15 +58,21 @@ public class RedisConfig
      * 注入消息监听适配器
      */
     @Bean
-    public MessageListenerAdapter messageListenerAdapter( RedisSubscribeServiceImpl receiver){
+    public MessageListenerAdapter rotateQueueMessageListenerAdapter( RedisSubscribeServiceImpl receiver){
         return new MessageListenerAdapter(receiver, RedisQueueConstant.RESP_INFO.get(RedisQueueConstant.ROTATE_QUEUE));
     }
     @Bean
+    public MessageListenerAdapter joystickMessageListenerAdapter( RedisSubscribeServiceImpl receiver){
+        return new MessageListenerAdapter(receiver, RedisQueueConstant.RESP_INFO.get(RedisQueueConstant.JOYSTICK_QUEUE));
+    }
+    @Bean
     public RedisMessageListenerContainer redisMessageListenerContainer(RedisConnectionFactory connectionFactory,
-                                                                       MessageListenerAdapter messageListenerAdapter) {
+                                                                       MessageListenerAdapter rotateQueueMessageListenerAdapter,
+                                                                       MessageListenerAdapter joystickMessageListenerAdapter) {
         RedisMessageListenerContainer redisMessageListenerContainer = new RedisMessageListenerContainer();
         redisMessageListenerContainer.setConnectionFactory(connectionFactory);
-        redisMessageListenerContainer.addMessageListener(messageListenerAdapter, new PatternTopic(RedisQueueConstant.ROTATE_QUEUE));
+        redisMessageListenerContainer.addMessageListener(rotateQueueMessageListenerAdapter, new PatternTopic(RedisQueueConstant.ROTATE_QUEUE));
+        redisMessageListenerContainer.addMessageListener(joystickMessageListenerAdapter, new PatternTopic(RedisQueueConstant.JOYSTICK_QUEUE));
 
         return redisMessageListenerContainer;
     }

+ 1 - 2
src/main/java/com/fdkk/fdkkmeta/ctroller/DevController.java

@@ -167,11 +167,10 @@ public class DevController   {
     @PostMapping("redis")
     public void testredis(String userId,Object value) throws IOException, InterruptedException {
 
-
         for (int i = 0; i < 10000; i++) {
             RotateRequest.Builder builder = RotateRequest.newBuilder();
             builder.setUserId("u_"+i);
-            redisPublishService.sendProtocolMessage(RedisQueueConstant.ROTATE_QUEUE,builder);
+            redisPublishService.sendProtocolMessage(RedisQueueConstant.JOYSTICK_QUEUE,builder);
 
         }
     }

+ 2 - 0
src/main/java/com/fdkk/fdkkmeta/redis/RedisSubscribeService.java

@@ -15,5 +15,7 @@ public interface RedisSubscribeService {
 
     void rotateMessage(String message);
 
+    void joystickMessage(String message);
+
 
 }

+ 12 - 0
src/main/java/com/fdkk/fdkkmeta/redis/impl/RedisSubscribeServiceImpl.java

@@ -2,6 +2,7 @@ package com.fdkk.fdkkmeta.redis.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.fdkk.fdkkmeta.grpc.JoystickRequest;
 import com.fdkk.fdkkmeta.grpc.RotateRequest;
 import com.fdkk.fdkkmeta.redis.RedisSubscribeService;
 import com.fdkk.fdkkmeta.util.ProtoJsonUtils;
@@ -30,6 +31,17 @@ public class RedisSubscribeServiceImpl  implements RedisSubscribeService {
         RotateRequest.Builder builder = RotateRequest.newBuilder();
         ProtoJsonUtils.toProtoBean(builder,message);
         log.info("builder-userid,{}",builder.getUserId());
+    }
 
+    @Override
+    public void joystickMessage(String message) {
+        if (Objects.isNull(message)) {
+            log.error("消息为空");
+            return;
+        }
+        log.info("订阅频道:joystickMessage消息:{}", message);
+        JoystickRequest.Builder builder = JoystickRequest.newBuilder();
+        ProtoJsonUtils.toProtoBean(builder,message);
+        log.info("builder-userid,{}",builder.getUserId());
     }
 }

+ 2 - 0
src/main/java/constants/RedisQueueConstant.java

@@ -10,12 +10,14 @@ import java.util.Map;
 public class RedisQueueConstant {
     /** 旋转队列 */
     public static final String ROTATE_QUEUE = "rotate";
+    public static final String JOYSTICK_QUEUE = "joystick";
 
     public static final Map<String, String> RESP_INFO = new HashMap();
 
     static {
         // 队列方法名称 相关
         RESP_INFO.put(ROTATE_QUEUE, "rotateMessage");
+        RESP_INFO.put(JOYSTICK_QUEUE, "joystickMessage");
 
     }
 }