栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

reidis消息队列的使用(要保证消息可靠,顺序,不重复时使用)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

reidis消息队列的使用(要保证消息可靠,顺序,不重复时使用)

给公众号和APP发送消息时用消息队列来发送好处:
1.保证消息的有序性,就是能确保消息是有序的。
2.保证消息可靠性,能确保消息准确的传输。
3.保证消息不被重复消费。
这个流程主要是用来订阅主题。

//先定义一个接口
public interface pushService{

void push(String top,String message);
}
//定义一个实现类实现该接口
public class pushServiceImpl implements push{

	@Autowired
    private RedisTemplate redisTemplate;
    
    @Override
    public void push(String topic,String message) {
        logger.info("发布消息:{}", message);
        //调用redis模板的API这个方法是通道的方法,top可以创建个枚举类来存放
        redisTemplate.convertAndSend(topic,message);
    }
}
//

消费主题则是用到redis监听器,然后用监听器转发给消费者消费。

//写个redis监听器方法继承监听器消息方法
public interface redisListener extends MessageListener{

    String getTopic();
}

//在写个监听器实现类
@Component
public class redisListener implements redisListener {
 	@Autowired
    private RedisTemplate redisTemplate;
	@Override
    public void onMessage(final Message message, final byte[] pattern ) {
            logger.info("监听器---------------------------------");
            RedisSerializer serializer = redisTemplate.getValueSerializer();
            String text = serializer.deserialize(message.getBody()).toString();
            Gson gson = new Gson();
            //这里主要利用gson把test属性反射到A类中。
            A a= gson.fromJson(text, A.class);
        }
    }
}
//	JSONObject json = new JSONObject();
//      json.put("a",a);
//      json.put("b",b);
//      json.put("c",c);
//     	json.put("d",d);
//   	json.put("e",e);
//test是生产者调用push方法订阅redis(top,json.toString())存的消息
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1024856.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号