2

我正在使用流侦听器来使用来自 amazon kinesis 流的消息。

@StreamListener(Processor.Input)
public void receiveMessage(String message) {
  //process    
}
  1. 是否可以实现一个侦听器,它每 10 分钟从输入流中获取一次所有消息
  2. 当有消费者群体时,它将如何表现。消费者组中的所有容器是否获得不同的消息列表。

我试过了,@Poller但它没有任何输入通道。

对此的任何帮助都会很棒。

4

1 回答 1

1

AWS Kinesis 没有这样的轮询消费者实施。但是,您可以使用以下组合对其进行模拟:

listenerMode = batch

您将收到有效载荷@StreamListener作为List<com.amazonaws.services.kinesis.model.Record>

recordsLimit默认情况下是10000. 我认为这应该足以进行尽可能多的投票。

idleBetweenPolls = 600000 / 10 mins

您不会在此选项之前进入下一个批次。

不,组中的每个消费者都会得到自己的列表。但这不符合您对轮询所有内容的原始要求。因此,同一组中的所有其他消费者都将闲置 - 没有什么可以为他们轮询!

于 2018-03-13T17:06:19.573 回答