Spring-data-redis: pub/sub消息订阅
public class TopicMessageListener implements MessageListener {private RedisTemplate redisTemplate;public void setRedisTemplate(RedisTemplate redisTemplate) {this.redisTemplate = redisTemplate;}@Overridepublic void onMessage(Message message, byte[] pattern) {byte[] body = message.getBody();//请使用valueSerializerbyte[] channel = message.getChannel();//请参考配置文件,本例中key,value的序列化方式均为string。//其中key必须为stringSerializer。和redisTemplate.convertAndSend对应String itemValue = (String)redisTemplate.getValueSerializer().deserialize(body);String topic = (String)redisTemplate.getStringSerializer().deserialize(channel);//...}}
?? 2) 你会发现上述编程风格非常像JMS。需要注意的是消息体的反序列化。
?
1 楼 rox 2013-06-17 不错的文章,非常感谢!