|
@@ -0,0 +1,55 @@
|
|
|
|
+package com.xy.consumer.disconnect;
|
|
|
|
+
|
|
|
|
+import com.xy.configuration.MqttConfigUtils;
|
|
|
|
+import org.springframework.context.annotation.Bean;
|
|
|
|
+import org.springframework.context.annotation.Configuration;
|
|
|
|
+import org.springframework.integration.annotation.IntegrationComponentScan;
|
|
|
|
+import org.springframework.integration.annotation.ServiceActivator;
|
|
|
|
+import org.springframework.integration.channel.DirectChannel;
|
|
|
|
+import org.springframework.integration.core.MessageProducer;
|
|
|
|
+import org.springframework.messaging.MessageChannel;
|
|
|
|
+import org.springframework.messaging.MessageHandler;
|
|
|
|
+
|
|
|
|
+@Configuration
|
|
|
|
+@IntegrationComponentScan
|
|
|
|
+public class DisconnectedMqttConfiguration {
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * topic
|
|
|
|
+ */
|
|
|
|
+ public final static String TOPIC = "disConnectedNotify";
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 入站通道名(消费者)订阅的bean名称
|
|
|
|
+ */
|
|
|
|
+ public static final String CHANNEL_NAME_IN = TOPIC + "MqttInboundChannel";
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /*******************************消费者*******************************************/
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * MQTT信息通道(消费者)
|
|
|
|
+ */
|
|
|
|
+ @Bean(name = CHANNEL_NAME_IN)
|
|
|
|
+ public MessageChannel mqttInboundChannel() {
|
|
|
|
+ return new DirectChannel();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * MQTT消息订阅绑定(消费者)
|
|
|
|
+ */
|
|
|
|
+ @Bean(name = TOPIC + "Inbound")
|
|
|
|
+ public MessageProducer inbound() {
|
|
|
|
+ return MqttConfigUtils.inbound(TOPIC, mqttInboundChannel());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * MQTT消息处理器(消费者)
|
|
|
|
+ */
|
|
|
|
+ @Bean(name = TOPIC + "Handler")
|
|
|
|
+ @ServiceActivator(inputChannel = CHANNEL_NAME_IN)
|
|
|
|
+ public MessageHandler handler() {
|
|
|
|
+ return MqttConfigUtils.handler();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|