<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
#Redis默认配置
spring.redis.host=127.0.0.1
spring.redis.port=6379
package com.wf.etk.config;
import lombok.extern.slf4j.Slf4j;
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.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
@Configuration
@Slf4j
public class RedisConfig {
@Bean
MessageListenerAdapter messageListene1() {
return new MessageListenerAdapter((MessageListener) (message, pattern) -> {
log.info("TextChannel==>>Message received: " + message.toString());
});
}
@Bean
MessageListenerAdapter messageListener2() {
return new MessageListenerAdapter((MessageListener) (message, pattern) -> {
log.info("kafkaChannel==>>Message received: " + message.toString());
});
}
@Bean
public RedisMessageListenerContainer container(RedisConnectionFactory connectionFactory) {
RedisMessageListenerContainer container = new RedisMessageListenerContainer();
container.setConnectionFactory(connectionFactory);
container.addMessageListener(messageListene1(), new PatternTopic("TextChannel"));
container.addMessageListener(messageListener2(), new PatternTopic("kafkaChannel"));
return container;
}
}
@RestController
public class SampleController {
@Autowired
private RedisTemplate<String, String> redisTemplate;
@GetMapping(value = "/send1")
public String send1(String message) {
redisTemplate.convertAndSend("TextChannel", message);
return "send1 success";
}
@GetMapping(value = "send2")
public String send2(String message) {
redisTemplate.convertAndSend("kafkaChannel", message);
return "send2 success";
}
}