@Override public void unsubscribe() { delegate.unsubscribe(); }
private void closeConsumer(final Consumer<?, ?> consumer) { consumerClosedCountRef.incrementAndGet(); try { consumer.unsubscribe(); } catch (Exception e) { logger.warn("Failed while unsubscribing " + consumer, e); } try { consumer.close(); } catch (Exception e) { logger.warn("Failed while closing " + consumer, e); } }
private void closeConsumer(final Consumer<?, ?> consumer) { consumerClosedCountRef.incrementAndGet(); try { consumer.unsubscribe(); } catch (Exception e) { logger.warn("Failed while unsubscribing " + consumer, e); } try { consumer.close(); } catch (Exception e) { logger.warn("Failed while closing " + consumer, e); } }
private void closeConsumer(final Consumer<?, ?> consumer) { consumerClosedCountRef.incrementAndGet(); try { consumer.unsubscribe(); } catch (Exception e) { logger.warn("Failed while unsubscribing " + consumer, e); } try { consumer.close(); } catch (Exception e) { logger.warn("Failed while closing " + consumer, e); } }
private void closeConsumer(final Consumer<?, ?> consumer) { consumerClosedCountRef.incrementAndGet(); try { consumer.unsubscribe(); } catch (Exception e) { logger.warn("Failed while unsubscribing " + consumer, e); } try { consumer.close(); } catch (Exception e) { logger.warn("Failed while closing " + consumer, e); } }
private void closeConsumer(final Consumer<?, ?> consumer) { consumerClosedCountRef.incrementAndGet(); try { consumer.unsubscribe(); } catch (Exception e) { logger.warn("Failed while unsubscribing " + consumer, e); } try { consumer.close(); } catch (Exception e) { logger.warn("Failed while closing " + consumer, e); } }
@Override public String getSampleMessage(final String topic) { String message = null; if (listTopics().contains(topic)) { try (Consumer<String, String> kafkaConsumer = kafkaConsumerFactory.createConsumer()) { kafkaConsumer.assign(kafkaConsumer.partitionsFor(topic).stream() .map(partitionInfo -> new TopicPartition(topic, partitionInfo.partition())) .collect(Collectors.toList())); kafkaConsumer.assignment().stream() .filter(p -> (kafkaConsumer.position(p) - 1) >= 0) .forEach(p -> kafkaConsumer.seek(p, kafkaConsumer.position(p) - 1)); final ConsumerRecords<String, String> records = kafkaConsumer.poll(KAFKA_CONSUMER_TIMEOUT); message = records.isEmpty() ? null : records.iterator().next().value(); kafkaConsumer.unsubscribe(); } } return message; }
@SuppressWarnings("unchecked") @Test public void stopContainerAfterException() throws Exception { assertThat(this.config.deliveryLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.pollLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.errorLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.closeLatch.await(10, TimeUnit.SECONDS)).isTrue(); MessageListenerContainer container = this.registry.getListenerContainer(CONTAINER_ID); assertThat(container.isRunning()).isFalse(); InOrder inOrder = inOrder(this.consumer); inOrder.verify(this.consumer).subscribe(any(Collection.class), any(ConsumerRebalanceListener.class)); inOrder.verify(this.consumer).poll(Duration.ofMillis(ContainerProperties.DEFAULT_POLL_TIMEOUT)); inOrder.verify(this.consumer).wakeup(); inOrder.verify(this.consumer).unsubscribe(); inOrder.verify(this.consumer).close(); inOrder.verifyNoMoreInteractions(); }
@SuppressWarnings("unchecked") @Test public void stopContainerAfterException() throws Exception { assertThat(this.config.deliveryLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.pollLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.errorLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.closeLatch.await(10, TimeUnit.SECONDS)).isTrue(); MessageListenerContainer container = this.registry.getListenerContainer(CONTAINER_ID); assertThat(container.isRunning()).isFalse(); InOrder inOrder = inOrder(this.consumer); inOrder.verify(this.consumer).subscribe(any(Collection.class), any(ConsumerRebalanceListener.class)); inOrder.verify(this.consumer).poll(Duration.ofMillis(ContainerProperties.DEFAULT_POLL_TIMEOUT)); inOrder.verify(this.consumer).wakeup(); inOrder.verify(this.consumer).unsubscribe(); inOrder.verify(this.consumer).close(); inOrder.verifyNoMoreInteractions(); assertThat(this.config.count).isEqualTo(4); assertThat(this.config.contents.toArray()).isEqualTo(new String[] { "foo", "bar", "baz", "qux" }); }
@SuppressWarnings("unchecked") @Test public void stopContainerAfterException() throws Exception { assertThat(this.config.deliveryLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.commitLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.pollLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.errorLatch.await(10, TimeUnit.SECONDS)).isTrue(); assertThat(this.config.closeLatch.await(10, TimeUnit.SECONDS)).isTrue(); MessageListenerContainer container = this.registry.getListenerContainer(CONTAINER_ID); assertThat(container.isRunning()).isFalse(); InOrder inOrder = inOrder(this.consumer); inOrder.verify(this.consumer).subscribe(any(Collection.class), any(ConsumerRebalanceListener.class)); inOrder.verify(this.consumer).poll(Duration.ofMillis(ContainerProperties.DEFAULT_POLL_TIMEOUT)); inOrder.verify(this.consumer).commitSync( Collections.singletonMap(new TopicPartition("foo", 0), new OffsetAndMetadata(1L))); inOrder.verify(this.consumer).commitSync( Collections.singletonMap(new TopicPartition("foo", 0), new OffsetAndMetadata(2L))); inOrder.verify(this.consumer).commitSync( Collections.singletonMap(new TopicPartition("foo", 1), new OffsetAndMetadata(1L))); inOrder.verify(this.consumer).wakeup(); inOrder.verify(this.consumer).unsubscribe(); inOrder.verify(this.consumer).close(); inOrder.verifyNoMoreInteractions(); assertThat(this.config.count).isEqualTo(4); assertThat(this.config.contents.toArray()).isEqualTo(new String[] { "foo", "bar", "baz", "qux" }); }
@Override public void unsubscribe() { kafkaConsumer.unsubscribe(); }
@Override public KafkaReadStream<K, V> unsubscribe(Handler<AsyncResult<Void>> completionHandler) { this.submitTask((consumer, future) -> { consumer.unsubscribe(); if (future != null) { future.complete(); } }, completionHandler); return this; }
@Override public void close() { try { consumer.unsubscribe(); consumer.close(); log.info("Closed KafkaConsumer"); } catch (org.apache.kafka.common.errors.InterruptException e) { log.error("Interrupted while closing KafkaConsumer"); Thread.currentThread().interrupt(); } }
@Override public void unsubscribe() { // Clear all the state of the topic in consumer record processor. _consumerRecordsProcessor.clear(); _kafkaConsumer.unsubscribe(); }
public static void handleSeekOffset(ConsumerLocalConfigs effectiveLocal, Consumer consumer) { String seek = effectiveLocal.getSeek(); if (!isEmpty(seek)) { String[] seekPosition = effectiveLocal.getSeekTopicPartitionOffset(); TopicPartition topicPartition = new TopicPartition(seekPosition[0], parseInt(seekPosition[1])); Set<TopicPartition> topicPartitions = new HashSet<>(); topicPartitions.add(topicPartition); consumer.unsubscribe(); consumer.assign(topicPartitions); consumer.seek(topicPartition, parseLong(seekPosition[2])); } }
@Override public void close() { super.close(); currentRow = null; consumer.unsubscribe(); consumer.close(); } }
@Override public void close() { super.close(); currentRow = null; consumer.unsubscribe(); consumer.close(); } }
private void enforceRebalance() { consumer.unsubscribe(); consumer.subscribe(builder.sourceTopicPattern(), rebalanceListener); }
private void closeConsumer(final Consumer<?, ?> consumer) { consumerClosedCountRef.incrementAndGet(); try { consumer.unsubscribe(); } catch (Exception e) { logger.warn("Failed while unsubscribing " + consumer, e); } try { consumer.close(); } catch (Exception e) { logger.warn("Failed while closing " + consumer, e); } }
private void closeConsumer(final Consumer<?, ?> consumer) { consumerClosedCountRef.incrementAndGet(); try { consumer.unsubscribe(); } catch (Exception e) { logger.warn("Failed while unsubscribing " + consumer, e); } try { consumer.close(); } catch (Exception e) { logger.warn("Failed while closing " + consumer, e); } }