小编Wic*_*ant的帖子

如何将消费者组与 Spring Data Redis 一起用于 Redis Streams(继续获得 NOGROUP)?

我正在尝试使用 Spring Data Redis 使用消费者组来使用 Redis Stream,但不断收到以下异常:

Caused by: io.lettuce.core.RedisCommandExecutionException: NOGROUP No such key 'event-stream' or consumer group 'my-group' in XREADGROUP with GROUP option
Run Code Online (Sandbox Code Playgroud)

该消息似乎暗示我首先需要创建一个消费者组?但文档没有提供任何参考:https : //github.com/spring-projects/spring-data-redis/blob/master/src/main/asciidoc/reference/redis-streams.adoc

框架版本:

  • 春季启动 2.2.6
  • 生菜 5.2.2
  • Redis 5.0.8

这是我用来使用流的代码:

@Bean
@Autowired
public StreamMessageListenerContainer eventStreamPersistenceListenerContainerTwo(RedisConnectionFactory streamRedisConnectionFactory, RedisTemplate streamRedisTemplate) {

        StreamMessageListenerContainer.StreamMessageListenerContainerOptions<String, MapRecord<String, String, String>> containerOptions = StreamMessageListenerContainer.StreamMessageListenerContainerOptions
                        .builder().pollTimeout(Duration.ofMillis(100)).build();

        StreamMessageListenerContainer<String, MapRecord<String, String, String>> container = StreamMessageListenerContainer.create(streamRedisConnectionFactory,
                        containerOptions);

        container.receive(Consumer.from("my-group", "my-consumer"),
                        StreamOffset.create("event-stream", ReadOffset.latest()),
                        message -> {
                                System.out.println("MessageId: " + message.getId());
                                System.out.println("Stream: " + message.getStream());
                                System.out.println("Body: " + message.getValue()); …
Run Code Online (Sandbox Code Playgroud)

java spring redis spring-data spring-data-redis

5
推荐指数
1
解决办法
2276
查看次数

标签 统计

java ×1

redis ×1

spring ×1

spring-data ×1

spring-data-redis ×1