pom:
org.springframework.boot spring-boot-starter-data-redis
代碼:
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.MessageListener; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.listener.ChannelTopic; import org.springframework.data.redis.listener.RedisMessageListenerContainer; import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; @Configuration public class RedisSubListenerConfig { @Bean MessageListenerAdapter messageListener() { //abstract methods overwrite return new MessageListenerAdapter((MessageListener) (message, pattern) -> { System.out.println("Message received: " + message.toString()); }); } @Bean RedisMessageListenerContainer redisContainer(RedisConnectionFactory connectionFactory) { RedisMessageListenerContainer container = new RedisMessageListenerContainer(); container.setConnectionFactory(connectionFactory); container.addMessageListener(messageListener(), topic()); return container; } @Bean ChannelTopic topic() { return new ChannelTopic("messageQueue"); } }
測(cè)試類:
import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; import javax.annotation.Resource; /** * @date 2019-05-25 10:59 */ @RunWith(SpringJUnit4ClassRunner.class) @SpringBootTest public class RedisTest { @Resource private StringRedisTemplate stringRedisTemplate; @Test public void test(){ stringRedisTemplate.convertAndSend("messageQueue","hello world"); } }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/74628.html
摘要:的配置后在其他低版本的中也有使用這種配置的,具體根據(jù)版本而定。等注解是的相關(guān)知識(shí),后面的文章將詳細(xì)講述。 ??在我們的實(shí)際開(kāi)發(fā)的過(guò)程中,無(wú)論多復(fù)雜的業(yè)務(wù)邏輯到達(dá)持久層都回歸到了增刪改查的基本操作,可能會(huì)存在關(guān)聯(lián)多張表的復(fù)雜sql,但是對(duì)于單表的增刪改查也是不可避免的,大多數(shù)開(kāi)發(fā)人員對(duì)于這個(gè)簡(jiǎn)單而繁瑣的操作都比較煩惱。 ??為了解決這種大量枯燥的簡(jiǎn)單數(shù)據(jù)庫(kù)操作,大致的解決該問(wèn)題的有三種方...
摘要:從最開(kāi)始的到后來(lái)的,到目前的隨著框架的不斷更新?lián)Q代,也為我們廣大的程序猿提供了更多的方便,一起搭建一個(gè)從控制層到持久層的項(xiàng)目可能需要一兩天的時(shí)間,但是采用的方式,我們可能只需要分鐘就能輕松完成一個(gè)項(xiàng)目的搭建,下面我們介紹一下整合的方法一新建 ??從最開(kāi)始的SSH(Struts+Spring+Hibernate),到后來(lái)的SMM(SpringMVC+Spring+MyBatis),到目前...
摘要:與整合默認(rèn)使用的是,相較于,是一個(gè)可伸縮的,線程安全的客戶端。在處理高并發(fā)方面有更多的優(yōu)勢(shì)。使用依賴主要需要的依賴為配置配置使用與整合可以在不更改現(xiàn)有代碼邏輯的基礎(chǔ)上,通過(guò)增加注解的方式,實(shí)現(xiàn)緩存。 springboot2.0 與redis整合默認(rèn)使用的是Lettuce,相較于jedis,lettuce 是一個(gè)可伸縮的,線程安全的redis客戶端。在處理高并發(fā)方面有更多的優(yōu)勢(shì)。 Red...
閱讀 766·2021-09-28 09:35
閱讀 2598·2019-08-29 11:25
閱讀 2161·2019-08-23 18:36
閱讀 1861·2019-08-23 16:31
閱讀 2076·2019-08-23 14:50
閱讀 3127·2019-08-23 13:55
閱讀 3297·2019-08-23 12:49
閱讀 2088·2019-08-23 11:46