https://docs.spring.io/spring-cloud-stream/docs/current/reference/html/spring-cloud-stream.html#_batch_consumers // spring.cloud.stream.bindings..consumer.batch-mode=true @Bean public Function, Person> findFirstPerson() { return persons -> persons.get(0); } https://docs.spring.io/spring-cloud-stream/docs/current/reference/html/spring-cloud-stream.html#_batch_producers @Bean public Function>> batch() { return p -> { List> list = new ArrayList<>(); list.add(MessageBuilder.withPayload(p + ":1").build()); list.add(MessageBuilder.withPayload(p + ":2").build()); list.add(MessageBuilder.withPayload(p + ":3").build()); list.add(MessageBuilder.withPayload(p + ":4").build()); return list; }; }