• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java ProduceRequestResult类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.kafka.clients.producer.internals.ProduceRequestResult的典型用法代码示例。如果您正苦于以下问题:Java ProduceRequestResult类的具体用法?Java ProduceRequestResult怎么用?Java ProduceRequestResult使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



ProduceRequestResult类属于org.apache.kafka.clients.producer.internals包,在下文中一共展示了ProduceRequestResult类的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: send

import org.apache.kafka.clients.producer.internals.ProduceRequestResult; //导入依赖的package包/类
/**
 * Adds the record to the list of sent records.
 *
 * @see #history()
 */
@Override
public synchronized Future<RecordMetadata> send(ProducerRecord<K, V> record, Callback callback) {
    verifyProducerState();
    int partition = 0;
    if (!this.cluster.partitionsForTopic(record.topic()).isEmpty())
        partition = partition(record, this.cluster);
    TopicPartition topicPartition = new TopicPartition(record.topic(), partition);
    ProduceRequestResult result = new ProduceRequestResult(topicPartition);
    FutureRecordMetadata future = new FutureRecordMetadata(result, 0, RecordBatch.NO_TIMESTAMP, 0L, 0, 0);
    long offset = nextOffset(topicPartition);
    Completion completion = new Completion(offset, new RecordMetadata(topicPartition, 0, offset,
            RecordBatch.NO_TIMESTAMP, Long.valueOf(0L), 0, 0), result, callback);

    if (!this.transactionInFlight)
        this.sent.add(record);
    else
        this.uncommittedSends.add(record);

    if (autoComplete)
        completion.complete(null);
    else
        this.completions.addLast(completion);

    return future;
}
 
开发者ID:YMCoding,项目名称:kafka-0.11.0.0-src-with-comment,代码行数:31,代码来源:MockProducer.java


示例2: testTimeout

import org.apache.kafka.clients.producer.internals.ProduceRequestResult; //导入依赖的package包/类
/**
 * Test that waiting on a request that never completes times out
 */
@Test
public void testTimeout() throws Exception {
    ProduceRequestResult request = new ProduceRequestResult(topicPartition);
    FutureRecordMetadata future = new FutureRecordMetadata(request, relOffset,
            RecordBatch.NO_TIMESTAMP, 0L, 0, 0);
    assertFalse("Request is not completed", future.isDone());
    try {
        future.get(5, TimeUnit.MILLISECONDS);
        fail("Should have thrown exception.");
    } catch (TimeoutException e) { /* this is good */
    }

    request.set(baseOffset, RecordBatch.NO_TIMESTAMP, null);
    request.done();
    assertTrue(future.isDone());
    assertEquals(baseOffset + relOffset, future.get().offset());
}
 
开发者ID:YMCoding,项目名称:kafka-0.11.0.0-src-with-comment,代码行数:21,代码来源:RecordSendTest.java


示例3: send

import org.apache.kafka.clients.producer.internals.ProduceRequestResult; //导入依赖的package包/类
/**
 * Adds the record to the list of sent records.
 *
 * @see #history()
 */
@Override
public synchronized Future<RecordMetadata> send(ProducerRecord<K, V> record, Callback callback) {
    int partition = 0;
    if (this.cluster.partitionsForTopic(record.topic()) != null)
        partition = partition(record, this.cluster);
    ProduceRequestResult result = new ProduceRequestResult();
    FutureRecordMetadata future = new FutureRecordMetadata(result, 0, Record.NO_TIMESTAMP, 0, 0, 0);
    TopicPartition topicPartition = new TopicPartition(record.topic(), partition);
    long offset = nextOffset(topicPartition);
    Completion completion = new Completion(topicPartition, offset,
                                           new RecordMetadata(topicPartition, 0, offset, Record.NO_TIMESTAMP, 0, 0, 0),
                                           result, callback);
    this.sent.add(record);
    if (autoComplete)
        completion.complete(null);
    else
        this.completions.addLast(completion);
    return future;
}
 
开发者ID:txazo,项目名称:kafka,代码行数:25,代码来源:MockProducer.java


示例4: testTimeout

import org.apache.kafka.clients.producer.internals.ProduceRequestResult; //导入依赖的package包/类
/**
 * Test that waiting on a request that never completes times out
 */
@Test
public void testTimeout() throws Exception {
    ProduceRequestResult request = new ProduceRequestResult();
    FutureRecordMetadata future = new FutureRecordMetadata(request, relOffset,
                                                           Record.NO_TIMESTAMP, 0, 0, 0);
    assertFalse("Request is not completed", future.isDone());
    try {
        future.get(5, TimeUnit.MILLISECONDS);
        fail("Should have thrown exception.");
    } catch (TimeoutException e) { /* this is good */
    }

    request.done(topicPartition, baseOffset, null);
    assertTrue(future.isDone());
    assertEquals(baseOffset + relOffset, future.get().offset());
}
 
开发者ID:txazo,项目名称:kafka,代码行数:20,代码来源:RecordSendTest.java


示例5: Completion

import org.apache.kafka.clients.producer.internals.ProduceRequestResult; //导入依赖的package包/类
public Completion(long offset,
                  RecordMetadata metadata,
                  ProduceRequestResult result,
                  Callback callback) {
    this.metadata = metadata;
    this.offset = offset;
    this.result = result;
    this.callback = callback;
}
 
开发者ID:YMCoding,项目名称:kafka-0.11.0.0-src-with-comment,代码行数:10,代码来源:MockProducer.java


示例6: asyncRequest

import org.apache.kafka.clients.producer.internals.ProduceRequestResult; //导入依赖的package包/类
public ProduceRequestResult asyncRequest(final long baseOffset, final RuntimeException error, final long timeout) {
    final ProduceRequestResult request = new ProduceRequestResult(topicPartition);
    Thread thread = new Thread() {
        public void run() {
            try {
                sleep(timeout);
                request.set(baseOffset, RecordBatch.NO_TIMESTAMP, error);
                request.done();
            } catch (InterruptedException e) { }
        }
    };
    thread.start();
    return request;
}
 
开发者ID:YMCoding,项目名称:kafka-0.11.0.0-src-with-comment,代码行数:15,代码来源:RecordSendTest.java


示例7: Completion

import org.apache.kafka.clients.producer.internals.ProduceRequestResult; //导入依赖的package包/类
public Completion(TopicPartition topicPartition,
                  long offset,
                  RecordMetadata metadata,
                  ProduceRequestResult result,
                  Callback callback) {
    this.metadata = metadata;
    this.offset = offset;
    this.result = result;
    this.callback = callback;
    this.topicPartition = topicPartition;
}
 
开发者ID:txazo,项目名称:kafka,代码行数:12,代码来源:MockProducer.java


示例8: asyncRequest

import org.apache.kafka.clients.producer.internals.ProduceRequestResult; //导入依赖的package包/类
public ProduceRequestResult asyncRequest(final long baseOffset, final RuntimeException error, final long timeout) {
    final ProduceRequestResult request = new ProduceRequestResult();
    Thread thread = new Thread() {
        public void run() {
            try {
                sleep(timeout);
                request.done(topicPartition, baseOffset, error);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    };
    thread.start();
    return request;
}
 
开发者ID:txazo,项目名称:kafka,代码行数:16,代码来源:RecordSendTest.java



注:本文中的org.apache.kafka.clients.producer.internals.ProduceRequestResult类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java IStatusChangeListener类代码示例发布时间:2022-05-16
下一篇:
Java ByteArrayList类代码示例发布时间:2022-05-16
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap