最後にコミットされた生成のベースライン読取りの実行

startBaselineRead()メソッドをコールして、readRecords()メソッドが使用するベースライン読取りのカーソルを作成します。

最後にコミットされた生成のベースライン読取りを実行する方法

  1. create()メソッドをコールし、ServiceAddressオブジェクトおよびレコード・ストア・インスタンス名を渡して、レコード・ストア・サーバーへの接続を作成します。
    ServiceAddress address = new ServiceAddress(host, port, contextPath); 
    RecordStoreLocator locator = RecordStoreLocator.create(address, instanceName);
  2. getService()メソッドをコールして、レコード・ストア・インスタンスを作成します。
    RecordStore recordStore = locator.getService();
  3. startTransaction()メソッドをコールして、READトランザクションを開始します。
    TransactionId transactionId = recordStore.startTransaction(TransactionType.READ);
  4. startBaselineRead()メソッドをコールして、ReadCursorIdオブジェクトを返します。
    ReadCursorId readCursorId = recordStore.startBaselineRead(transactionId, null);
  5. 読取りカーソルからのすべてのレコードが読み取られるまで、readRecords()によって返されるレコードをループ処理します。
    List<Record> records;
    
    do {
    
        records = recordStore.readRecords(readCursorId, numRecordsPerFetch);
    
        // do something with the records
    
    } while (!records.isEmpty());
  6. endRead()メソッドをコールして、READトランザクションを終了します。
    recordStore.endRead(readCursorId);
  7. commitTransaction()メソッドをコールして、トランザクションをコミットします。
    recordStore.commitTransaction(transactionId);

ベースライン読取りの実行例

ServiceAddress address = new ServiceAddress(host, port, contextPath); 
RecordStoreLocator locator = RecordStoreLocator.create(address, instanceName);

RecordStore recordStore = locator.getService();

TransactionId transactionId = recordStore.startTransaction(TransactionType.READ);

ReadCursorId readCursorId = recordStore.startBaselineRead(transactionId, null);

List<Record> records;

do {

    records = recordStore.readRecords(readCursorId, numRecordsPerFetch);

    // do something with the records

} while (!records.isEmpty());

recordStore.endRead(readCursorId);

recordStore.commitTransaction(transactionId);