springboot整合redis队列有哪些步骤?

2020-04-23 11:26:48 java常见问答 3818

大家知道在springboot中是如何来整合redis队列吗?目前广泛流行使用的就是redis,所以今天小编就给大家来理理在springboot中是如何整合redis队列的,接下来让我们一起来了解吧。

一.首先在pom文件里面加上相关的依赖

<dependency> 
   <groupId>org.springframework.boot</groupId> 
   <artifactId>spring-boot-starter-data-redis</artifactId> 
</dependency>

二.创建消息接收者

变量、方法及构造函数进行标注,完成自动装配的工作。 通过 @Autowired的使用来消除 set ,get方法。

@Autowired public Receiver(CountDownLatch latch)
{
    this.latch = latch;
}
public void receiveMessage(String message)
{
    LOGGER.info("收到的消息: <" + message + ">");
    latch.countDown();
}
}

以上基本条件达成后,以下是实现的三要素:

一个连接工厂

一个消息监听容器

Redis template

三.在application.java注入消息接收者

@Bean Receiver receiver(CountDownLatch latch)
{
    return new Receiver(latch);
}
@Bean CountDownLatch latch()
{
    return new CountDownLatch(1);
}
@Bean StringRedisTemplate template(RedisConnectionFactory connectionFactory)
{
    return new StringRedisTemplate(connectionFactory);
}

四、注入消息监听容器

//必要的redis消息队列连接工厂
@Bean
Receiver receiver(CountDownLatch latch)
{
    return new Receiver(latch);
}
//必要的redis消息队列连接工厂
@Bean
CountDownLatch latch()
{
    return new CountDownLatch(1);
}
//redis模板
@Bean
StringRedisTemplate template(RedisConnectionFactory connectionFactory)
{
    return new StringRedisTemplate(connectionFactory);
}
//注入消息监听器容器
@Bean
RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory, MessageListenerAdapter listenerAdapter)
{
    RedisMessageListenerContainer container = new RedisMessageListenerContainer();
    container.setConnectionFactory(connectionFactory);
    container.addMessageListener(listenerAdapter, new PatternTopic("msg"));
    return container;
}
//注入消息监听器容器
@Bean
MessageListenerAdapter listenerAdapter(Receiver receiver)
{
    return new MessageListenerAdapter(receiver, "receiveMessage");
}

五、最后进行测试,小编这里用的是单元测试

好了,今天内容就讲到这里了,以上的Java入门的相关知识是否已经明白了呢?想要了解更多,请继续关注本网站。