List of usage examples for org.springframework.kafka.core ConsumerFactory createConsumer
default Consumer<K, V> createConsumer()
From source file:org.springframework.kafka.listener.ConcurrentMessageListenerContainerTests.java
@Test @SuppressWarnings("unchecked") public void testConcurrencyWithPartitions() { TopicPartitionInitialOffset[] topic1PartitionS = new TopicPartitionInitialOffset[] { new TopicPartitionInitialOffset(topic1, 0), new TopicPartitionInitialOffset(topic1, 1), new TopicPartitionInitialOffset(topic1, 2), new TopicPartitionInitialOffset(topic1, 3), new TopicPartitionInitialOffset(topic1, 4), new TopicPartitionInitialOffset(topic1, 5), new TopicPartitionInitialOffset(topic1, 6) }; ConsumerFactory<Integer, String> cf = mock(ConsumerFactory.class); Consumer<Integer, String> consumer = mock(Consumer.class); given(cf.createConsumer()).willReturn(consumer); given(consumer.poll(anyLong())).willAnswer(new Answer<ConsumerRecords<Integer, String>>() { @Override// w w w .j av a2 s . com public ConsumerRecords<Integer, String> answer(InvocationOnMock invocation) throws Throwable { Thread.sleep(100); return null; } }); ContainerProperties containerProps = new ContainerProperties(topic1PartitionS); containerProps.setMessageListener((MessageListener<Integer, String>) message -> { }); ConcurrentMessageListenerContainer<Integer, String> container = new ConcurrentMessageListenerContainer<>(cf, containerProps); container.setConcurrency(3); container.start(); List<KafkaMessageListenerContainer<Integer, String>> containers = KafkaTestUtils.getPropertyValue(container, "containers", List.class); assertThat(containers.size()).isEqualTo(3); for (int i = 0; i < 3; i++) { assertThat(KafkaTestUtils.getPropertyValue(containers.get(i), "topicPartitions", TopicPartitionInitialOffset[].class).length).isEqualTo(i < 2 ? 2 : 3); } container.stop(); }