add containsTopic method

pull/1490/merge^2
gongdewei 4 years ago
parent 4261eba5ba
commit f91c1c00d1

@ -31,6 +31,13 @@ public interface MessageExchangeService {
void subscribe(Topic topic, int timeout, MessageHandler messageHandler) throws MessageExchangeException; void subscribe(Topic topic, int timeout, MessageHandler messageHandler) throws MessageExchangeException;
/**
* Whether exists the specify topic
* @param topic
* @return
*/
boolean containsTopic(Topic topic);
interface MessageHandler { interface MessageHandler {
/** /**
* handle message * handle message

@ -101,6 +101,11 @@ public class MessageExchangeServiceImpl implements MessageExchangeService {
} }
} }
@Override
public boolean containsTopic(Topic topic) {
return topicMap.containsKey(topic);
}
@Override @Override
public void pushMessage(Topic topic, byte[] messageBytes) throws MessageExchangeException { public void pushMessage(Topic topic, byte[] messageBytes) throws MessageExchangeException {
TopicData topicData = topicMap.get(topic); TopicData topicData = topicMap.get(topic);

@ -79,6 +79,11 @@ public class RedisMessageExchangeServiceImpl implements MessageExchangeService {
} }
} }
@Override
public boolean containsTopic(Topic topic) {
return redisTemplate.hasKey(topic.getTopic()).block();
}
@Override @Override
public void pushMessage(Topic topic, byte[] messageBytes) throws MessageExchangeException { public void pushMessage(Topic topic, byte[] messageBytes) throws MessageExchangeException {
String key = topic.getTopic(); String key = topic.getTopic();

Loading…
Cancel
Save