package com.sandu.ximon.admin.localMQTT.callback;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.stereotype.Component;
|
|
import java.util.Map;
|
import java.util.concurrent.ConcurrentHashMap;
|
|
/**
|
* @author van
|
* @version 1.0
|
* msg:MQTT订阅回调环境类
|
* @date 2022/11/9 16:25
|
*/
|
@Component
|
@Slf4j
|
public class MqttCallBackContext {
|
private final Map<String, AbsMqttCallBack> callBackMap = new ConcurrentHashMap<>();
|
|
/**
|
* 默认构造函数
|
*
|
* @param callBackMap 回调集合
|
*/
|
public MqttCallBackContext(Map<String, AbsMqttCallBack> callBackMap) {
|
this.callBackMap.clear();
|
callBackMap.forEach((k, v) -> this.callBackMap.put(k, v));
|
}
|
|
/**
|
* 获取MQTT回调类
|
*
|
* @param clientId 客户端ID
|
* @return MQTT回调类
|
*/
|
public AbsMqttCallBack getCallBack(String clientId) {
|
return this.callBackMap.get(clientId);
|
}
|
}
|