Java 以固定的时间间隔使用输入流中的消息

Java 以固定的时间间隔使用输入流中的消息,java,spring-integration,spring-cloud-stream,spring-integration-aws,Java,Spring Integration,Spring Cloud Stream,Spring Integration Aws,我正在使用流侦听器来使用来自amazon kinesis流的消息 @StreamListener(Processor.Input) public void receiveMessage(String message) { //process } 是否可以实现一个监听器,每10分钟从输入流中获取一次所有消息 当存在消费者群体时,它将如何表现。消费者组中的所有容器是否获得不同的消息列表 我尝试了@Poller,但它没有任何输入通道 这方面的任何帮助都会很好。AWS Kinesis没有这

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

@StreamListener(Processor.Input)
public void receiveMessage(String message) {
  //process    
}
  • 是否可以实现一个监听器,每10分钟从输入流中获取一次所有消息
  • 当存在消费者群体时,它将如何表现。消费者组中的所有容器是否获得不同的消息列表
  • 我尝试了
    @Poller
    ,但它没有任何输入通道


    这方面的任何帮助都会很好。

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

    listenerMode = batch
    
    您将在
    @StreamListener
    列表中收到有效负载

    默认情况下,
    recordsLimit
    10000
    。我认为这应该足够进行尽可能多的民意调查

    idleBetweenPolls = 600000 / 10 mins
    
    您不会在该选项之前转到下一批


    否,组中的每个消费者都将获得自己的列表。但这不符合您最初关于轮询所有内容的要求。因此,同一组中的所有其他消费者都将空闲-没有什么可以为他们投票

    我已经尝试了这个解决方案,但是我得到了消息转换异常。你能在这里查一下吗