Interface DOMDataTreeReadTransaction

All Superinterfaces:
AutoCloseable, DOMDataTreeReadOperations, DOMDataTreeTransaction, Identifiable<Object>, Registration
All Known Subinterfaces:
DOMDataTreeQueryReadTransaction
All Known Implementing Classes:
ForwardingDOMDataReadOnlyTransaction

public interface DOMDataTreeReadTransaction extends DOMDataTreeTransaction, DOMDataTreeReadOperations, Registration
A transaction that provides read access to a logical data store.

View of the data tree is a stable point-in-time snapshot of the current data tree state when the transaction was created. It's state and underlying data tree is not affected by other concurrently running transactions.

Implementation Note: This interface is not intended to be implemented by users of MD-SAL, but only to be consumed by them.

Transaction isolation example

Lets assume initial state of data tree for PATH is A. txRead = broker.newReadOnlyTransaction(); // read Transaction is snapshot of data txWrite = broker.newReadWriteTransactoin(); // concurrent write transaction txRead.read(OPERATIONAL, PATH).get(); // will return Optional containing A txWrite = broker.put(OPERATIONAL, PATH, B); // writes B to PATH txRead.read(OPERATIONAL, PATH).get(); // still returns Optional containing A txWrite.submit().get(); // data tree is updated, PATH contains B txRead.read(OPERATIONAL, PATH).get(); // still returns Optional containing A txAfterCommit = broker.newReadOnlyTransaction(); // read Transaction is snapshot of new state txAfterCommit.read(OPERATIONAL, PATH).get(); // returns Optional containing B;

Note: example contains blocking calls on future only to illustrate that action happened after other asynchronous action. Use of blocking call AbstractFuture.get() is discouraged for most uses and you should use FluentFuture.addCallback(com.google.common.util.concurrent.FutureCallback, java.util.concurrent.Executor) or other functions from Futures to register more specific listeners.

  • Method Summary

    Modifier and Type
    Method
    Description
    void
    Closes this transaction and releases all resources associated with it.

    Methods inherited from interface org.opendaylight.mdsal.dom.api.DOMDataTreeReadOperations

    exists, read

    Methods inherited from interface org.opendaylight.yangtools.concepts.Identifiable

    getIdentifier
  • Method Details

    • close

      void close()
      Closes this transaction and releases all resources associated with it.
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Registration