作者:青春快乐的勇哥 | 来源:互联网 | 2023-10-13 11:15
本文使用的是redis的java包Redisson如果不清楚怎么配的请查看https://blog.csdn.net/zhaohan___/article/details/1
本文使用的是redis的java包Redisson如果不清楚怎么配的请查看
https://blog.csdn.net/zhaohan___/article/details/114668823这篇博客集成
/** * 测试redis主题发布消息 */
@GetMapping("/topic/put")
public void putTopic(){
try{
RTopic topic1 = redisson.getTopic("topic", new SerializationCodec());
topic1.publish("测试主题消息发布1");
topic1.publish("测试主题消息发布1");
}
catch (Exception ex){
System.out.println(ex.getMessage());
}
finally {
redisson.shutdown();
}
};
这里偷懒使用了spring bean的 形式让接收topic消息的程序运行
/** * 主题订阅的方式 * @param redisson * @return */
@Bean
public String redissonTopic(RedissonClient redisson){
try{
RTopic topic = redisson.getTopic("topic",new SerializationCodec());
topic.addListener(new MessageListener() {
@Override
public void onMessage(String s, String str) {
System.out.println("onMessage:"+s+"; Thread: "+Thread.currentThread().toString());
}
});
}
catch (Exception ex){
System.out.println(ex.getMessage());
}finally {
}
return "";
}
注意
topic形式发消息如果响发送class类需要序列化!
参考文章
https://github.com/redisson/redisson/
https://blog.csdn.net/CharlesYooSky/article/details/101701690