使用 reader 接口, Pulsar客户可以在主题中“手动定位”自己,从指定的消息开始向前读取所有消息
下面是一个示例:
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、成都网站设计、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的吉木萨尔网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
import org.apache.pulsar.client.api.Message;
import org.apache.pulsar.client.api.MessageId;
import org.apache.pulsar.client.api.PulsarClient;
import org.apache.pulsar.client.api.Reader;
import org.apache.pulsar.client.impl.schema.JSONSchema;
public class ReaderTest{
public static void main(String[] args) {
String url = "http://192.168.1.48:8080";
try{
PulsarClient client =PulsarClient.builder()
.serviceUrl(url)
.build();
Reader reader=client.newReader(JSONSchema.of(UserModel.class))
.topic("my-tenant/my-namespace/testschema-topic")
.startMessageId(MessageId.earliest) //MessageId.earliest最早 MessageId.latest 最新 MessageId断点
.create();
while (true) {
Message userModelmsg = reader.readNext();
UserModel userModel=userModelmsg.getValue();//业务数据
MessageId messageId=userModelmsg.getMessageId();//断点
System.out.println("receive message: " +userModel.getName()+"="+userModel.getAge()+"="+messageId.toString());
}
}catch(Exception e){
e.printStackTrace();
}
}
}