java Redis 关于订阅的使用
Posted liweicai137
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java Redis 关于订阅的使用相关的知识,希望对你有一定的参考价值。
代码实现
@OnOpen
public void open(Session session, @PathParam(value = "liveid") String liveid,
@PathParam(value = "userid") String userid, @PathParam(value = "name") String name) {
this.session = session;
logger.error("进入 " + userid);
socketServers.forEach(client -> {
if (client.getUserid().equals(userid)) {
try {
logger.error("重复进入断开 " + userid);
client.getSession().close();
socketServers.remove(new Client(liveid, userid, name, session));
socketServers.add(new Client(liveid, userid, name, session));
return;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
socketServers.add(new Client(liveid, userid, name, session));
subscribeListener = new SubscribeListener();
subscribeListener.setSession(session);
subscribeListener.setUserid(userid);
subscribeListener.setName(name);
subscribeListener.setStringRedisTemplate(redisTampate);
channeltopic=new ChannelTopic(liveid);
//设置订阅topic
redisMessageListenerContainer.addMessageListener(subscribeListener,channeltopic);
}
取消某个订阅
if(subscribeListener!=null) {
redisMessageListenerContainer.removeMessageListener(subscribeListener);
subscribeListener=null;
}
以上是关于java Redis 关于订阅的使用的主要内容,如果未能解决你的问题,请参考以下文章