操作场景
该任务指导您在购买 TDMQ Pulsar 版服务和腾讯云服务器后,下载 Demo 并进行简单的测试,了解运行一个客户端的操作步骤。
说明:
本示例以 Java 客户端为例说明,其他语言客户端请参见 SDK 文档。 前提条件
操作步骤
关于 Maven 依赖:
pom.xml 文件中的依赖是按照 Pulsar 的官方依赖进行配置的,详情可以参见 其官方文档。
<pulsar.version>2.7.2</pulsar.version>
<dependency>
<groupId>org.apache.pulsar</groupId>
<artifactId>pulsar-client</artifactId>
<version>${pulsar.version}</version>
</dependency>
创建 Client。
PulsarClient client = PulsarClient.builder()
.serviceUrl("http://pulsar-..tencenttdmq.com:8080")
.authentication(AuthenticationFactory.token("eyJr"))
.build();
System.out.println(">> pulsar client created.");
serviceUrl 即接入地址,可以在控制台 集群管理 页面查看并复制。
token 即角色的密钥,角色密钥可以在角色管理中复制。
注意:
密钥泄露很可能导致您的数据泄露,请妥善保管您的密钥。
PulsarClient client = PulsarClient.builder()
.serviceUrl("pulsar://...:6000/")
.listenerName("custom:pulsar-/vpc-/subnet-")
.authentication(AuthenticationFactory.token("eyJr"))
.build();
System.out.println(">> pulsar client created.");
serviceUrl 即接入地址,可以在控制台 集群管理 接入点页面查看并复制。 listenerName 即 “custom:” 拼接路由 ID(NetModel),路由 ID 可以在控制台 集群管理 接入点页面查看并复制。 token 即角色的密钥,角色密钥可以在角色管理中复制。
注意:
密钥泄露很可能导致您的数据泄露,请妥善保管您的密钥。
创建消费者进程。
Consumer<byte[]> consumer = client.newConsumer()
.topic("persistent://pulsar-****/namespace/topicName")
.subscriptionName("subscriptionName")
.subscriptionType(SubscriptionType.Exclusive)
.subscriptionInitialPosition(SubscriptionInitialPosition.Earliest)
.subscribe();
System.out.println(">> pulsar consumer created.");
说明:
Topic 名称需要填入完整路径,即“persistent://clusterid/namespace/Topic”,clusterid/namespace/topic 的部分可以从控制台上 Topic 管理 页面直接复制。
subscriptionName 需要写入订阅名,可在消费管理界面查看。
创建生产者进程。
Producer<byte[]> producer = client.newProducer()
.topic("persistent://pulsar-****/namespace/topicName")
.create();
System.out.println(">> pulsar producer created.");
说明:
Topic 名称需要填入完整路径,即“persistent://clusterid/namespace/Topic”,clusterid/namespace/topic 的部分可以从控制台上 Topic 管理 页面直接复制。 生产消息
for (int i = 0; i < 5; i++) {
String value = "my-sync-message-" + i;
MessageId msgId = producer.newMessage().value(value.getBytes()).send();
System.out.println("deliver msg " + msgId + ",value:" + value);
}
producer.close();
消费消息
for (int i = 0; i < 5; i++) {
Message<byte[]> msg = consumer.receive();
MessageId msgId = msg.getMessageId();
String value = new String(msg.getValue());
System.out.println("receive msg " + msgId + ",value:" + value);
consumer.acknowledge(msg);
}
2. 在 pom.xml
所在目录执行命令 mvn clean package
,或者通过 IDE 自带的功能打包整个工程,在 target 目录下生成一个可运行的 jar 文件。
4. 登录云服务器,进入到刚刚上传 jar 文件所在的目录,可看到文件已上传到云服务器。
执行命令 java -jar tdmq-demo-1.0.0.jar
,运行 Demo,可查看运行日志。
6. 进入 消息查询 页面,可查看 Demo 运行后的消息轨迹。 说明:
消息轨迹的查询只支持单条消息,如果用户在 Producer 侧开启了 Batch 功能,则在消息查询中,同一个 Batch 的消息只可以查询到 Batch 中的第一条消息。
消息轨迹如下:
本页内容是否解决了您的问题?