shenyijian
2023-11-29 1f2d5595a19bad7ae414b342b610256357fc5507
无人机 -rabbitMQ转发
3 files modified
38 ■■■■■ changed files
src/main/java/com/dji/sample/component/mqtt/handler/InboundMessageRouter.java 14 ●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/component/rabbitmq/config/MqttMsgProxyProducer.java 10 ●●●●● patch | view | raw | blame | history
src/main/resources/application.yml 14 ●●●●● patch | view | raw | blame | history
src/main/java/com/dji/sample/component/mqtt/handler/InboundMessageRouter.java
@@ -3,9 +3,10 @@
import com.dji.sample.common.util.SpringBeanUtils;
import com.dji.sample.component.mqtt.model.ChannelName;
import com.dji.sample.component.mqtt.model.DeviceTopicEnum;
//import com.dji.sample.component.rabbitmq.config.MqttMsgProxyProducer;
import com.dji.sample.component.rabbitmq.config.MqttMsgProxyProducer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.integration.annotation.Router;
import org.springframework.integration.mqtt.support.MqttHeaders;
import org.springframework.integration.router.AbstractMessageRouter;
@@ -26,8 +27,11 @@
@Component
@Slf4j
public class InboundMessageRouter extends AbstractMessageRouter {
    /*@Autowired
    private MqttMsgProxyProducer mqttMsgProxyProducer;*/
    @Autowired
    private MqttMsgProxyProducer mqttMsgProxyProducer;
    @Value("${spring.rabbitmq.is-open}")
    private Boolean isOpen;
    /**
     * All mqtt broker messages will arrive here before distributing them to different channels.
@@ -47,7 +51,9 @@
        MessageChannel bean = (MessageChannel) SpringBeanUtils.getBean(topicEnum.getBeanName());
        String msg = new String(payload);
        try {
//            mqttMsgProxyProducer.publish(topic.replace("/","."), msg);
            if (isOpen){
                mqttMsgProxyProducer.publish(topic.replace("/","."), msg);
            }
        } catch (Exception e) {
            log.error("消息发送失败:", e);
        }
src/main/java/com/dji/sample/component/rabbitmq/config/MqttMsgProxyProducer.java
@@ -1,4 +1,3 @@
/*
package com.dji.sample.component.rabbitmq.config;
import org.springframework.amqp.core.Message;
@@ -45,15 +44,14 @@
        rabbitTemplate.send(EXCHANGE_NAME,routingKey, message);
    }
    */
    /**
   /* *
     * 使用json序列化机制,进行消息转换
     * @return -
     *//*
     * @return -*/
    @Bean
    public MessageConverter jackson2MessageConverter() {
        return new Jackson2JsonMessageConverter();
    }
}*/
}
src/main/resources/application.yml
@@ -37,18 +37,20 @@
    multipart:
      max-file-size: 2GB
      max-request-size: 2GB
#  rabbitmq:
#    host: 182.106.212.58
#    port: 35672
#    username: root
#    password: root
#    virtualHost: /
  rabbitmq:
    host: 182.106.212.58
    port: 35672
    username: root
    password: root
    virtualHost: /
    is-open: true
#  rabbitmq:
#    host: localhost
#    port: 5672
#    username: guest
#    password: guest
#    virtualHost: /
#    is-open: true
jwt:
  issuer: DJI