Pulsar Reader 例子

使用 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<UserModel> 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<UserModel> 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();
        }
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章