我正在使用Spring Kinesis活页夹以批处理方式使用消息
有时我无法使用流中的消息。并非一直如此
[ShardConsumer {shardOffset = KinesisShardOffset {iteratorType = AFTER_SEQUENCE_NUMBER,sequenceNumber ='49594358705006691330463332232285735104253344344290967650306”, ,state = CONSUME}]放在sequenceNumber [null]上。暂停消耗[1000]毫秒。
我一直收到此消息,消息没有被使用。
我的Conf如下所示
spring:
cloud:
stream:
bindings:
input:
group: mygroup
destination: mystream-1
content-type: application/json
output:
destination: mystream-2
content-type: application/json
kinesis:
bindings:
input:
consumer:
listenerMode: batch
idleBetweenPolls: 60000
consumer-backoff: 1000
binder:
headers: x-item_id,x-message_type
locks:
table: lTLocks
leaseDuration: 30
refreshPeriod: 3000
checkpoint:
table: lTCheckPoints
有消息在流中,但我不是断断续续地消费。你能帮忙吗?
答案 0 :(得分:0)
我认为您的Kinesis流中的检查点存储和碎片包含不同的序列号。
请先考虑使用清理lTCheckPoints
表,然后再开始从流中使用它。
我并不是说您需要一直这样做,但至少是出于干净的测试环境。