Class InMemoryMqttSessionManager
- java.lang.Object
-
- br.com.anteros.mqtt.core.server.session.InMemoryMqttSessionManager
-
- All Implemented Interfaces:
IMqttSessionManager
public class InMemoryMqttSessionManager extends Object implements IMqttSessionManager
内存 session 管理- Author:
- L.cm
-
-
Constructor Summary
Constructors Constructor Description InMemoryMqttSessionManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanactive(String clientId)激活 session,标记 expire 的 session 为永久voidaddPendingPublish(String clientId, int messageId, MqttPendingPublish pendingPublish)添加发布过程存储voidaddPendingQos2Publish(String clientId, int messageId, MqttPendingQos2Publish pendingQos2Publish)添加发布过程存储voidaddSubscribe(String topicFilter, String clientId, int mqttQoS)添加订阅存储voidclean()清理booleanexpire(String clientId, int sessionExpirySeconds)标记 session 超时时间intgetMessageId(String clientId)生成消息 IdMqttPendingPublishgetPendingPublish(String clientId, int messageId)获取发布过程存储MqttPendingQos2PublishgetPendingQos2Publish(String clientId, int messageId)获取发布过程存储booleanhasSession(String clientId)判断是否存在 sessionvoidremove(String clientId)清除 sessionvoidremovePendingPublish(String clientId, int messageId)删除发布过程中的存储voidremovePendingQos2Publish(String clientId, int messageId)删除发布过程中的存储voidremoveSubscribe(String clientId)voidremoveSubscribe(String topicFilter, String clientId)删除订阅List<br.com.anteros.mqtt.core.server.model.Subscribe>searchSubscribe(String topicName)查找订阅信息IntegersearchSubscribe(String topicName, String clientId)查找订阅 qos 信息
-
-
-
Method Detail
-
addSubscribe
public void addSubscribe(String topicFilter, String clientId, int mqttQoS)
Description copied from interface:IMqttSessionManager添加订阅存储- Specified by:
addSubscribein interfaceIMqttSessionManager- Parameters:
topicFilter- topicFilterclientId- 客户端 IdmqttQoS- MqttQoS
-
removeSubscribe
public void removeSubscribe(String topicFilter, String clientId)
Description copied from interface:IMqttSessionManager删除订阅- Specified by:
removeSubscribein interfaceIMqttSessionManager- Parameters:
topicFilter- topicFilterclientId- 客户端 Id
-
removeSubscribe
public void removeSubscribe(String clientId)
-
searchSubscribe
public Integer searchSubscribe(String topicName, String clientId)
Description copied from interface:IMqttSessionManager查找订阅 qos 信息- Specified by:
searchSubscribein interfaceIMqttSessionManager- Parameters:
topicName- topicNameclientId- 客户端 Id- Returns:
- 订阅存储列表
-
searchSubscribe
public List<br.com.anteros.mqtt.core.server.model.Subscribe> searchSubscribe(String topicName)
Description copied from interface:IMqttSessionManager查找订阅信息- Specified by:
searchSubscribein interfaceIMqttSessionManager- Parameters:
topicName- topicName- Returns:
- 订阅存储列表
-
addPendingPublish
public void addPendingPublish(String clientId, int messageId, MqttPendingPublish pendingPublish)
Description copied from interface:IMqttSessionManager添加发布过程存储- Specified by:
addPendingPublishin interfaceIMqttSessionManager- Parameters:
clientId- clientIdmessageId- messageIdpendingPublish- MqttPendingPublish
-
getPendingPublish
public MqttPendingPublish getPendingPublish(String clientId, int messageId)
Description copied from interface:IMqttSessionManager获取发布过程存储- Specified by:
getPendingPublishin interfaceIMqttSessionManager- Parameters:
clientId- clientIdmessageId- messageId- Returns:
- MqttPendingPublish
-
removePendingPublish
public void removePendingPublish(String clientId, int messageId)
Description copied from interface:IMqttSessionManager删除发布过程中的存储- Specified by:
removePendingPublishin interfaceIMqttSessionManager- Parameters:
clientId- clientIdmessageId- messageId
-
addPendingQos2Publish
public void addPendingQos2Publish(String clientId, int messageId, MqttPendingQos2Publish pendingQos2Publish)
Description copied from interface:IMqttSessionManager添加发布过程存储- Specified by:
addPendingQos2Publishin interfaceIMqttSessionManager- Parameters:
clientId- clientIdmessageId- messageIdpendingQos2Publish- MqttPendingQos2Publish
-
getPendingQos2Publish
public MqttPendingQos2Publish getPendingQos2Publish(String clientId, int messageId)
Description copied from interface:IMqttSessionManager获取发布过程存储- Specified by:
getPendingQos2Publishin interfaceIMqttSessionManager- Parameters:
clientId- clientIdmessageId- messageId- Returns:
- MqttPendingQos2Publish
-
removePendingQos2Publish
public void removePendingQos2Publish(String clientId, int messageId)
Description copied from interface:IMqttSessionManager删除发布过程中的存储- Specified by:
removePendingQos2Publishin interfaceIMqttSessionManager- Parameters:
clientId- clientIdmessageId- messageId
-
getMessageId
public int getMessageId(String clientId)
Description copied from interface:IMqttSessionManager生成消息 Id- Specified by:
getMessageIdin interfaceIMqttSessionManager- Parameters:
clientId- clientId- Returns:
- messageId
-
hasSession
public boolean hasSession(String clientId)
Description copied from interface:IMqttSessionManager判断是否存在 session- Specified by:
hasSessionin interfaceIMqttSessionManager- Parameters:
clientId- clientId- Returns:
- 是否存在 session
-
expire
public boolean expire(String clientId, int sessionExpirySeconds)
Description copied from interface:IMqttSessionManager标记 session 超时时间- Specified by:
expirein interfaceIMqttSessionManager- Parameters:
clientId- clientIdsessionExpirySeconds- sessionExpirySeconds- Returns:
- 是否成功
-
active
public boolean active(String clientId)
Description copied from interface:IMqttSessionManager激活 session,标记 expire 的 session 为永久- Specified by:
activein interfaceIMqttSessionManager- Parameters:
clientId- clientId- Returns:
- 是否成功
-
remove
public void remove(String clientId)
Description copied from interface:IMqttSessionManager清除 session- Specified by:
removein interfaceIMqttSessionManager- Parameters:
clientId- clientId
-
clean
public void clean()
Description copied from interface:IMqttSessionManager清理- Specified by:
cleanin interfaceIMqttSessionManager
-
-