org.apache.kafka.clients.producer.Producer.beginTransaction()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(10.6k)|赞(0)|评价(0)|浏览(192)

本文整理了Java中org.apache.kafka.clients.producer.Producer.beginTransaction()方法的一些代码示例,展示了Producer.beginTransaction()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Producer.beginTransaction()方法的具体详情如下:
包路径:org.apache.kafka.clients.producer.Producer
类名称:Producer
方法名:beginTransaction

Producer.beginTransaction介绍

[英]See KafkaProducer#beginTransaction()
[中]参见《卡夫卡制作人》#beginTransaction()

代码示例

代码示例来源:origin: openzipkin/brave

  1. @Override public void beginTransaction() {
  2. delegate.beginTransaction();
  3. }

代码示例来源:origin: apache/nifi

  1. void beginTransaction() {
  2. if (!useTransactions) {
  3. return;
  4. }
  5. if (!transactionsInitialized) {
  6. producer.initTransactions();
  7. transactionsInitialized = true;
  8. }
  9. producer.beginTransaction();
  10. activeTransaction = true;
  11. }

代码示例来源:origin: apache/nifi

  1. void beginTransaction() {
  2. if (!useTransactions) {
  3. return;
  4. }
  5. if (!transactionsInitialized) {
  6. producer.initTransactions();
  7. transactionsInitialized = true;
  8. }
  9. producer.beginTransaction();
  10. activeTransaction = true;
  11. }

代码示例来源:origin: apache/nifi

  1. void beginTransaction() {
  2. if (!useTransactions) {
  3. return;
  4. }
  5. if (!transactionsInitialized) {
  6. producer.initTransactions();
  7. transactionsInitialized = true;
  8. }
  9. producer.beginTransaction();
  10. activeTransaction = true;
  11. }

代码示例来源:origin: alibaba/canal

  1. producerTmp.beginTransaction();

代码示例来源:origin: apache/kafka

  1. @Test(expected = KafkaException.class)
  2. public void testOnlyCanExecuteCloseAfterInitTransactionsTimeout() {
  3. Map<String, Object> configs = new HashMap<>();
  4. configs.put(ProducerConfig.TRANSACTIONAL_ID_CONFIG, "bad-transaction");
  5. configs.put(ProducerConfig.MAX_BLOCK_MS_CONFIG, 5);
  6. configs.put(ProducerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9000");
  7. Time time = new MockTime();
  8. MetadataResponse initialUpdateResponse = TestUtils.metadataUpdateWith(1, singletonMap("topic", 1));
  9. Metadata metadata = new Metadata(0, Long.MAX_VALUE, true);
  10. metadata.update(initialUpdateResponse, time.milliseconds());
  11. MockClient client = new MockClient(time, metadata);
  12. Producer<String, String> producer = new KafkaProducer<>(configs, new StringSerializer(), new StringSerializer(),
  13. metadata, client, null, time);
  14. try {
  15. producer.initTransactions();
  16. } catch (TimeoutException e) {
  17. // expected
  18. }
  19. // other transactional operations should not be allowed if we catch the error after initTransactions failed
  20. try {
  21. producer.beginTransaction();
  22. } finally {
  23. producer.close(Duration.ofMillis(0));
  24. }
  25. }

代码示例来源:origin: spring-projects/spring-kafka

  1. @Override
  2. public void beginTransaction() throws ProducerFencedException {
  3. if (logger.isDebugEnabled()) {
  4. logger.debug("beginTransaction: " + this);
  5. }
  6. try {
  7. this.delegate.beginTransaction();
  8. }
  9. catch (RuntimeException e) {
  10. if (logger.isErrorEnabled()) {
  11. logger.error("beginTransaction failed: " + this, e);
  12. }
  13. this.txFailed = true;
  14. throw e;
  15. }
  16. }

代码示例来源:origin: spring-projects/spring-kafka

  1. /**
  2. * Obtain a Producer that is synchronized with the current transaction, if any.
  3. * @param producerFactory the ProducerFactory to obtain a Channel for
  4. * @param <K> the key type.
  5. * @param <V> the value type.
  6. * @return the resource holder.
  7. */
  8. public static <K, V> KafkaResourceHolder<K, V> getTransactionalResourceHolder(
  9. final ProducerFactory<K, V> producerFactory) {
  10. Assert.notNull(producerFactory, "ProducerFactory must not be null");
  11. @SuppressWarnings("unchecked")
  12. KafkaResourceHolder<K, V> resourceHolder = (KafkaResourceHolder<K, V>) TransactionSynchronizationManager
  13. .getResource(producerFactory);
  14. if (resourceHolder == null) {
  15. Producer<K, V> producer = producerFactory.createProducer();
  16. try {
  17. producer.beginTransaction();
  18. }
  19. catch (RuntimeException e) {
  20. producer.close();
  21. throw e;
  22. }
  23. resourceHolder = new KafkaResourceHolder<K, V>(producer);
  24. bindResourceToTransaction(resourceHolder, producerFactory);
  25. }
  26. return resourceHolder;
  27. }

代码示例来源:origin: spring-projects/spring-kafka

  1. @SuppressWarnings({ "rawtypes", "unchecked" })
  2. @Test
  3. public void testDeclarative() {
  4. AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(DeclarativeConfig.class);
  5. Tx1 tx1 = ctx.getBean(Tx1.class);
  6. tx1.txMethod();
  7. ProducerFactory producerFactory = ctx.getBean(ProducerFactory.class);
  8. verify(producerFactory, times(2)).createProducer();
  9. Producer producer1 = ctx.getBean("producer1", Producer.class);
  10. Producer producer2 = ctx.getBean("producer1", Producer.class);
  11. InOrder inOrder = inOrder(producer1, producer2);
  12. inOrder.verify(producer1).beginTransaction();
  13. inOrder.verify(producer1).send(eq(new ProducerRecord("foo", "bar")), any(Callback.class));
  14. inOrder.verify(producer1).send(eq(new ProducerRecord("baz", "qux")), any(Callback.class));
  15. inOrder.verify(producer2).beginTransaction();
  16. inOrder.verify(producer2).send(eq(new ProducerRecord("fiz", "buz")), any(Callback.class));
  17. inOrder.verify(producer2).commitTransaction();
  18. inOrder.verify(producer1).commitTransaction();
  19. ctx.close();
  20. }

代码示例来源:origin: spring-projects/spring-kafka

  1. @SuppressWarnings("unchecked")
  2. @Test
  3. public void discardRemainingRecordsFromPollAndSeek() throws Exception {
  4. assertThat(this.config.deliveryLatch.await(10, TimeUnit.SECONDS)).isTrue();
  5. assertThat(this.config.pollLatch.await(10, TimeUnit.SECONDS)).isTrue();
  6. this.registry.stop();
  7. assertThat(this.config.closeLatch.await(10, TimeUnit.SECONDS)).isTrue();
  8. InOrder inOrder = inOrder(this.consumer, this.producer);
  9. inOrder.verify(this.consumer).subscribe(any(Collection.class), any(ConsumerRebalanceListener.class));
  10. inOrder.verify(this.consumer).poll(Duration.ofMillis(ContainerProperties.DEFAULT_POLL_TIMEOUT));
  11. inOrder.verify(this.producer).beginTransaction();
  12. inOrder.verify(this.consumer).seek(new TopicPartition("foo", 0), 0L);
  13. inOrder.verify(this.consumer).seek(new TopicPartition("foo", 1), 0L);
  14. inOrder.verify(this.consumer).seek(new TopicPartition("foo", 2), 0L);
  15. inOrder.verify(this.producer).abortTransaction();
  16. inOrder.verify(this.consumer).poll(Duration.ofMillis(ContainerProperties.DEFAULT_POLL_TIMEOUT));
  17. inOrder.verify(this.producer).beginTransaction();
  18. Map<TopicPartition, OffsetAndMetadata> offsets = new LinkedHashMap<>();
  19. offsets.put(new TopicPartition("foo", 0), new OffsetAndMetadata(2L));
  20. offsets.put(new TopicPartition("foo", 1), new OffsetAndMetadata(2L));
  21. offsets.put(new TopicPartition("foo", 2), new OffsetAndMetadata(2L));
  22. inOrder.verify(this.producer).sendOffsetsToTransaction(offsets, CONTAINER_ID);
  23. inOrder.verify(this.producer).commitTransaction();
  24. assertThat(this.config.ehException).isInstanceOf(ListenerExecutionFailedException.class);
  25. assertThat(((ListenerExecutionFailedException) this.config.ehException).getGroupId()).isEqualTo(CONTAINER_ID);
  26. }

代码示例来源:origin: spring-projects/spring-kafka

  1. producer.beginTransaction();

代码示例来源:origin: spring-projects/spring-kafka

  1. inOrder.verify(this.consumer).subscribe(any(Collection.class), any(ConsumerRebalanceListener.class));
  2. inOrder.verify(this.consumer).poll(Duration.ofMillis(ContainerProperties.DEFAULT_POLL_TIMEOUT));
  3. inOrder.verify(this.producer).beginTransaction();
  4. Map<TopicPartition, OffsetAndMetadata> offsets = new LinkedHashMap<>();
  5. offsets.put(new TopicPartition("foo", 0), new OffsetAndMetadata(1L));

代码示例来源:origin: spring-projects/spring-kafka

  1. inOrder.verify(this.consumer).subscribe(any(Collection.class), any(ConsumerRebalanceListener.class));
  2. inOrder.verify(this.consumer).poll(Duration.ofMillis(ContainerProperties.DEFAULT_POLL_TIMEOUT));
  3. inOrder.verify(this.producer).beginTransaction();
  4. Map<TopicPartition, OffsetAndMetadata> offsets = new LinkedHashMap<>();
  5. offsets.put(new TopicPartition("foo", 0), new OffsetAndMetadata(1L));

代码示例来源:origin: spring-projects/spring-kafka

  1. @Test
  2. public void testDeadLetterPublisherWhileTransactionActive() {
  3. @SuppressWarnings("unchecked")
  4. Producer<Object, Object> producer1 = mock(Producer.class);
  5. @SuppressWarnings("unchecked")
  6. Producer<Object, Object> producer2 = mock(Producer.class);
  7. producer1.initTransactions();
  8. @SuppressWarnings("unchecked")
  9. ProducerFactory<Object, Object> pf = mock(ProducerFactory.class);
  10. given(pf.transactionCapable()).willReturn(true);
  11. given(pf.createProducer()).willReturn(producer1).willReturn(producer2);
  12. KafkaTemplate<Object, Object> template = spy(new KafkaTemplate<>(pf));
  13. template.setDefaultTopic(STRING_KEY_TOPIC);
  14. KafkaTransactionManager<Object, Object> tm = new KafkaTransactionManager<>(pf);
  15. new TransactionTemplate(tm).execute(s -> {
  16. new DeadLetterPublishingRecoverer(template).accept(
  17. new ConsumerRecord<>(STRING_KEY_TOPIC, 0, 0L, "key", "foo"),
  18. new RuntimeException("foo"));
  19. return null;
  20. });
  21. verify(producer1).beginTransaction();
  22. verify(producer1).commitTransaction();
  23. verify(producer1).close();
  24. verify(producer2, never()).beginTransaction();
  25. verify(template, never()).executeInTransaction(any());
  26. }

代码示例来源:origin: spring-projects/spring-kafka

  1. }).given(producer).beginTransaction();
  2. inOrder.verify(producer).beginTransaction();
  3. inOrder.verify(producer).send(any(), any());
  4. inOrder.verify(producer).commitTransaction();
  5. inOrder.verify(producer).beginTransaction();
  6. inOrder.verify(producer).close();
  7. inOrder.verifyNoMoreInteractions();

代码示例来源:origin: spring-projects/spring-kafka

  1. inOrder.verify(producer1).beginTransaction();
  2. inOrder.verify(producer2).beginTransaction();
  3. inOrder.verify(producer2).commitTransaction();
  4. inOrder.verify(producer2).close();

代码示例来源:origin: spring-projects/spring-kafka

  1. assertThat(closeLatch.await(10, TimeUnit.SECONDS)).isTrue();
  2. InOrder inOrder = inOrder(producer);
  3. inOrder.verify(producer).beginTransaction();
  4. inOrder.verify(producer).sendOffsetsToTransaction(Collections.singletonMap(topicPartition,
  5. new OffsetAndMetadata(0)), "group");
  6. inOrder.verify(producer).commitTransaction();
  7. inOrder.verify(producer).close();
  8. inOrder.verify(producer).beginTransaction();
  9. ArgumentCaptor<ProducerRecord> captor = ArgumentCaptor.forClass(ProducerRecord.class);
  10. inOrder.verify(producer).send(captor.capture(), any(Callback.class));

代码示例来源:origin: spring-projects/spring-kafka

  1. assertThat(seekLatch.await(10, TimeUnit.SECONDS)).isTrue();
  2. InOrder inOrder = inOrder(producer);
  3. inOrder.verify(producer).beginTransaction();
  4. ArgumentCaptor<ProducerRecord> captor = ArgumentCaptor.forClass(ProducerRecord.class);
  5. verify(producer).send(captor.capture(), any(Callback.class));

代码示例来源:origin: spring-projects/spring-kafka

  1. assertThat(seekLatch.await(10, TimeUnit.SECONDS)).isTrue();
  2. InOrder inOrder = inOrder(producer);
  3. inOrder.verify(producer).beginTransaction();
  4. ArgumentCaptor<ProducerRecord> captor = ArgumentCaptor.forClass(ProducerRecord.class);
  5. verify(producer).send(captor.capture(), any(Callback.class));

代码示例来源:origin: spring-projects/spring-kafka

  1. inOrder.verify(producer).beginTransaction();
  2. ArgumentCaptor<ProducerRecord> captor = ArgumentCaptor.forClass(ProducerRecord.class);
  3. inOrder.verify(producer).send(captor.capture(), any(Callback.class));

相关文章