KafkaMessageListenerContainerSpec(ConsumerFactory<K, V> consumerFactory, String... topics) { this(consumerFactory, new ContainerProperties(topics)); }
KafkaMessageListenerContainerSpec(ConsumerFactory<K, V> consumerFactory, TopicPartitionInitialOffset... topicPartitions) { this(consumerFactory, new ContainerProperties(topicPartitions)); }
KafkaMessageListenerContainerSpec(ConsumerFactory<K, V> consumerFactory, TopicPartitionInitialOffset... topicPartitions) { this(consumerFactory, new ContainerProperties(topicPartitions)); }
KafkaMessageListenerContainerSpec(ConsumerFactory<K, V> consumerFactory, String... topics) { this(consumerFactory, new ContainerProperties(topics)); }
KafkaMessageListenerContainerSpec(ConsumerFactory<K, V> consumerFactory, Pattern topicPattern) { this(consumerFactory, new ContainerProperties(topicPattern)); }
KafkaMessageListenerContainerSpec(ConsumerFactory<K, V> consumerFactory, Pattern topicPattern) { this(consumerFactory, new ContainerProperties(topicPattern)); }
@SuppressWarnings("unchecked") @Bean public ConcurrentMessageListenerContainer<String, String> kafkaListenerContainer() { ContainerProperties containerProps = new ContainerProperties(springIntegrationKafkaTopic); return (ConcurrentMessageListenerContainer<String, String>) new ConcurrentMessageListenerContainer<>( consumerFactory(), containerProps); }
@Bean public KafkaMessageListenerContainer<String, String> container( ConsumerFactory<String, String> consumerFactory, ConfigProperties config) { ContainerProperties containerProperties = new ContainerProperties(config.getTopic()); containerProperties.setMessageListener(listener()); return new KafkaMessageListenerContainer<>(consumerFactory, containerProperties); }
private KafkaMessageListenerContainer<Long, Seed> runContainer(String topic, MessageListener<Long, Seed> listener) { ContainerProperties containerProps = new ContainerProperties(topic); containerProps.setMessageListener(listener); KafkaMessageListenerContainer<Long, Seed> tmp = createContainer(containerProps); tmp.setBeanName(topic + "message-listener"); return tmp; }
@Bean public KafkaMessageListenerContainer<String, String> container( ConsumerFactory<String, String> consumerFactory, ConfigProperties config) { ContainerProperties containerProperties = new ContainerProperties(config.getTopic()); containerProperties.setMessageListener(listener()); containerProperties.setAckMode(AckMode.MANUAL_IMMEDIATE); return new KafkaMessageListenerContainer<>(consumerFactory, containerProperties); }
@Bean(name = "messageListenerContainer") public ConcurrentMessageListenerContainer<String, PublishedEventWrapper> messageListenerContainer() { Map<String, Object> consumerProperties = eventApisConfiguration.getEventBus().buildConsumerProperties(); consumerProperties.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false); consumerProperties.put(ConsumerConfig.METADATA_MAX_AGE_CONFIG, 3000); DefaultKafkaConsumerFactory<String, PublishedEventWrapper> consumerFactory = new DefaultKafkaConsumerFactory<>(consumerProperties, new StringDeserializer(), new JsonDeserializer<>(PublishedEventWrapper.class)); ContainerProperties containerProperties = new ContainerProperties(Pattern.compile(eventTopicRegexStr)); containerProperties.setMessageListener(new MultipleEventMessageListener(eventMessageListeners)); containerProperties.setAckMode(AbstractMessageListenerContainer.AckMode.BATCH); ConcurrentMessageListenerContainer<String, PublishedEventWrapper> messageListenerContainer = new ConcurrentMessageListenerContainer<>(consumerFactory, containerProperties); messageListenerContainer.setBeanName("emon-events"); return messageListenerContainer; }
@Bean(name = "operationListenerContainer") public ConcurrentMessageListenerContainer<String, Operation> operationListenerContainer() { Map<String, Object> consumerProperties = eventApisConfiguration.getEventBus().buildConsumerProperties(); consumerProperties.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG, false); DefaultKafkaConsumerFactory<String, Operation> operationConsumerFactory = new DefaultKafkaConsumerFactory<>(consumerProperties, new StringDeserializer(), new JsonDeserializer<>(Operation.class)); ContainerProperties containerProperties = new ContainerProperties(Operation.OPERATION_EVENTS); containerProperties.setMessageListener(new MultipleEventMessageListener(eventMessageListeners)); containerProperties.setAckMode(AbstractMessageListenerContainer.AckMode.BATCH); ConcurrentMessageListenerContainer<String, Operation> operationListenerContainer = new ConcurrentMessageListenerContainer<>(operationConsumerFactory, containerProperties); operationListenerContainer.setBeanName("emon-operations"); return operationListenerContainer; }
consumerProps.put("auto.offset.reset", "earliest"); DefaultKafkaConsumerFactory<Integer, String> cf = new DefaultKafkaConsumerFactory<>(consumerProps); ContainerProperties containerProps = new ContainerProperties("messages");
final ContainerProperties containerProperties = anonymous || extendedConsumerProperties.getExtension().isAutoRebalanceEnabled() ? new ContainerProperties(destination.getName()) : new ContainerProperties(topicPartitionInitialOffsets); if (this.transactionManager != null) { containerProperties.setTransactionManager(this.transactionManager);
@Test public void testAutoCommit() throws Exception { System.out.println("Start auto"); ContainerProperties containerProps = new ContainerProperties("topic1", "topic2"); final CountDownLatch latch = new CountDownLatch(4); containerProps.setMessageListener(new MessageListener<Integer, String>() { @Override public void onMessage(ConsumerRecord<Integer, String> message) { System.out.println("received: " + message); latch.countDown(); } }); KafkaMessageListenerContainer<Integer, String> container = createContainer(containerProps); container.setBeanName("testAuto"); container.start(); Thread.sleep(1000); // wait a bit for the container to start KafkaTemplate<Integer, String> template = createTemplate(); template.setDefaultTopic("topic1"); template.sendDefault(0, "foo"); template.sendDefault(2, "bar"); template.sendDefault(0, "baz"); template.sendDefault(2, "qux"); template.flush(); assertTrue(latch.await(60, TimeUnit.SECONDS)); container.stop(); System.out.println("Stop auto"); }