
com.zhuang.mica.mqtt.server.config.MqttServerConfig Maven / Gradle / Ivy
The newest version!
package com.zhuang.mica.mqtt.server.config;
import com.zhuang.mica.mqtt.server.MqttServerService;
import com.zhuang.mica.mqtt.server.handler.MyMqttServerAuthHandler;
import com.zhuang.mica.mqtt.server.interceptor.MyMqttMessageInterceptor;
import com.zhuang.mica.mqtt.server.listener.MqttConnectStatusListener;
import com.zhuang.mica.mqtt.server.listener.MqttServerMessageListener;
import com.zhuang.mica.mqtt.util.RedisUtils;
import net.dreamlu.iot.mqtt.core.server.MqttServerCreator;
import net.dreamlu.iot.mqtt.spring.server.MqttServerCustomizer;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
@ConditionalOnProperty(name = "mqtt.server.enabled", havingValue = "true", matchIfMissing = false)
public class MqttServerConfig {
@Bean
@ConditionalOnMissingBean
public MqttServerCustomizer mqttServerCustomizer() {
return new MqttServerCustomizer() {
@Override
public void customize(MqttServerCreator creator) {
// 此处可自定义配置 creator,会覆盖 yml 中的配置
System.out.println("----------------MqttServerCustomizer-----------------");
}
};
}
@Bean
@ConditionalOnMissingBean
public MyMqttServerAuthHandler myMqttServerAuthHandler() {
return new MyMqttServerAuthHandler();
}
@Bean
@ConditionalOnMissingBean
public MqttConnectStatusListener mqttConnectStatusListener() {
return new MqttConnectStatusListener();
}
@Bean
@ConditionalOnMissingBean
public MqttServerMessageListener mqttServerMessageListener() {
return new MqttServerMessageListener();
}
@Bean
@ConditionalOnMissingBean
public MqttServerService mqttServerService() {
return new MqttServerService();
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy