<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
properties
spring.redis.host=localhost
spring.redis.port=6379
spring.redis.password=
spring.redis.database=0
@Component
public class MessageSubscriber {
@RedisListener(topics = "myChannel")
public void receiveMessage(String message) {
System.out.println("Received message: " + message);
}
}
@Component
public class MessagePublisher {
@Autowired
private RedisTemplate<String, String> redisTemplate;
public void publishMessage(String message) {
redisTemplate.convertAndSend("myChannel", message);
}
}
@Configuration
public class RedisConfig {
@Bean
public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory redisConnectionFactory) {
RedisTemplate<String, String> template = new RedisTemplate<>();
template.setConnectionFactory(redisConnectionFactory);
template.setValueSerializer(new StringRedisSerializer());
return template;
}
}
@Service
public class MyService {
@Autowired
private MessagePublisher messagePublisher;
public void doSomething() {
String message = "This is a message";
messagePublisher.publishMessage(message);
}
}