com.sleepycat.je.sync
Interface ChangeReader

All Known Implementing Classes:
LogChangeReader

public interface ChangeReader

Retrieves all pending and unprocessed changes for one or more SyncDataSets; used only by SyncProcessor implementations and custom sources of change set information. TODO: javadoc that no ChangeReader classes will be thread safe, users need to provide their own mechanisms to make them thread safe if they need to do so.


Nested Class Summary
static interface ChangeReader.Change
          A change operation that is part of a ChangeTxn; used only by SyncProcessor implementations and custom sources of change set information.
static interface ChangeReader.ChangeTxn
          A transaction that contains one or more Changes; used only by SyncProcessor implementations and custom sources of change set information.
static class ChangeReader.ChangeType
          The operation type of a Change; used only by SyncProcessor implementations and custom sources of change set information.
 
Method Summary
 void discardChanges(Transaction txn)
          Called when the changes in all transactions returned by the getChangeTxns iterator have been transferred to the external system, and they can be discarded locally.
 Iterator<ChangeReader.ChangeTxn> getChangeTxns()
          Returns an iterator over all transactions containing changes for one of the data sets of interest (specified by SyncProcessor.getChangeSet and indirectly by SyncProcessor.sync or syncAll).
 

Method Detail

getChangeTxns

Iterator<ChangeReader.ChangeTxn> getChangeTxns()
Returns an iterator over all transactions containing changes for one of the data sets of interest (specified by SyncProcessor.getChangeSet and indirectly by SyncProcessor.sync or syncAll).

If a single transaction applies to more than one change set, a separate transaction will be returned by the iterator.

If this method is called more than once for a given change set, the information returned may be different each time, because changes may be discarded by ChangeTxn.discardChanges and additional changes may appear as they are being written.


discardChanges

void discardChanges(Transaction txn)
Called when the changes in all transactions returned by the getChangeTxns iterator have been transferred to the external system, and they can be discarded locally.

The changes will not be discarded until the given txn has been committed. By using an XA transaction, the changes can be discarded locally only if they are also committed in the external system.



Copyright (c) 2004-2012 Oracle. All rights reserved.