springboot使用redis作为消息中间件(发布/订阅模型 队列模型)

本文介绍了如何在SpringBoot中利用Redis实现消息中间件,包括发布/订阅模型和队列模型的应用。在发布/订阅模型中,多个消费者可以接收到消息,但存在时间依赖性。而在队列模型中,只有一个消费者能获取消息,且生产者和消费者的工作状态互不影响,支持消息签收。
摘要由CSDN通过智能技术生成

发布/订阅模型:

  • 多个消费者可以获得消息
  • 在发布者和订阅者之间存在时间依赖性。发布者需要建立一个topic,以便客户能够购订阅。订阅者必须保持持续的活动状态以接收消息,除非订阅者建立了持久的订阅。在那种情况下,在订 阅者未连接时发布的消息将在订阅者重新连接时重新发布。

1.消息发布者:

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.StringRedisTemplate;

/**
 * 注册redistemplate作为消息的发布者
 *
 * @author 欢
 * 2019年3月5日 14:46:13
 */
@Configuration
public class PublisherConfig {
    @Bean
    public StringRedisTemplate initStringRedisTemplate(RedisConnectionFactory redisConnectionFactory) {
        return new StringRedisTemplate(redisConnectionFactory);
    }
}

 

import cn.hutool.core.exceptions.ExceptionUtil;
import cn.hutool.log.StaticLog;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

/**
 * 消息生产者
 *
 * @author huan
 * 2019年3月5日 14:47:19
 */
@Service
public class PublisherService {
    @Resource
    private StringRedisTemplate stringRedisTemplate;

    public String sendMessage(String message) 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值