大数据培训JavaAPI 案例之生产者producer

发布时间:2020年04月07日作者:atguigu浏览次数:711

 生产者producer

1)向topic2的主题生产数据

package com.atguigu;

import org.apache.pulsar.client.api.Producer;
import org.apache.pulsar.client.api.PulsarClient;
import org.apache.pulsar.client.api.PulsarClientException;

import java.util.concurrent.TimeUnit;

/**
 * Created by wss on 2019/4/16
 */
public class PulProducer {

    private Client client;
    private Producer<byte[]> producer;

    public PulProducer(String topic) throws PulsarClientException {
        client = new Client();//创建pulsar客户端
        producer = createProducer(topic);//创建生产者
    }

    private Producer<byte[]> createProducer(String topic) throws PulsarClientException {
        return client.getPulsarClient().newProducer()
                .topic(topic)
                .batchingMaxPublishDelay(10, TimeUnit.MILLISECONDS)
                .sendTimeout(10, TimeUnit.SECONDS)
                .blockIfQueueFull(true)
                .create();
    }
//异步发送数据
    public void sendMessage(String message) {
        producer.sendAsync(message.getBytes()).thenAccept(msgId -> {
            System.out.printf(“Message with ID %s successfully sent”, msgId);
        });

    }
    public void sendOnce(String message) {
        /**
         *
发送一次就关闭
         */
       
try {
            producer.send(message.getBytes());
            System.out.printf(“Message with content %s successfully sent”, message);
            producer.close();
            client.Close();
        } catch (PulsarClientException e) {
            // TODO Auto-generated catch block
           
e.printStackTrace();
        }
    }

    // todo add exceptionally().
   
public void close(Producer<byte[]> producer){
        producer.closeAsync()
                .thenRun(() -> System.out.println(“Producer closed”));
    }

    public static void main(String[] args) throws PulsarClientException {
        PulProducer producer = new PulProducer(“topic2”);
//        producer.sendMessage(“Hello World ,lalla”);
       
producer.sendOnce(“Hello World ,atguigu1”);

    }

}

 

想要了解跟多关于大数据培训课程内容欢迎关注尚硅谷大数据培训,尚硅谷除了这些技术文章外还有免费的高质量大数据培训课程视频供广大学员下载学习


上一篇:
下一篇:
相关课程

java培训 大数据培训 前端培训 UI/UE设计培训

关于尚硅谷
教育理念
名师团队
学员心声
资源下载
视频下载
资料下载
工具下载
加入我们
招聘岗位
岗位介绍
招贤纳师
联系我们
全国统一咨询电话:010-56253825
地址:北京市昌平区宏福科技园2号楼3层(北京校区)

深圳市宝安区西部硅谷大厦B座C区一层(深圳校区)

上海市松江区谷阳北路166号大江商厦6层(上海校区)

武汉市东湖高新开发区东湖网谷(武汉校区)

西安市雁塔区和发智能大厦B座3层(西安校区)