public class SerializedDOMDataBroker extends AbstractDOMDataBroker
DOMStoreThreePhaseCommitCohort
.
This implementation does not support cancellation of commit,
In order to advance to next phase of three phase commit all subtasks of
previous step must be finish.
This executor does not have an upper bound on subtask timeout.Constructor and Description |
---|
SerializedDOMDataBroker(Map<LogicalDatastoreType,DOMStore> datastores,
com.google.common.util.concurrent.ListeningExecutorService executor)
Construct DOMDataCommitCoordinator which uses supplied executor to
process commit coordinations.
|
Modifier and Type | Method and Description |
---|---|
protected void |
checkNotClosed()
Checks if instance is not closed.
|
org.opendaylight.yangtools.util.DurationStatisticsTracker |
getCommitStatsTracker() |
protected Map<LogicalDatastoreType,T> |
getTxFactories()
Convenience accessor of backing factories intended to be used only by
finalization of this class.
|
DOMDataTreeReadTransaction |
newReadOnlyTransaction()
Creates a new composite read-only transaction
Creates a new composite read-only transaction backed by one transaction per factory in
getTxFactories() . |
DOMDataTreeWriteTransaction |
newWriteOnlyTransaction()
Creates a new composite write-only transaction
|
protected com.google.common.util.concurrent.CheckedFuture<Void,TransactionCommitFailedException> |
submit(DOMDataTreeWriteTransaction transaction,
Collection<DOMStoreThreePhaseCommitCohort> cohorts)
User-supplied implementation of
AsyncWriteTransaction.submit() for transaction. |
close, createTransactionChain, getSupportedExtensions, newTransactionIdentifier, setCloseable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
newReadOnlyTransaction, newWriteOnlyTransaction
public SerializedDOMDataBroker(Map<LogicalDatastoreType,DOMStore> datastores, com.google.common.util.concurrent.ListeningExecutorService executor)
executor
- public org.opendaylight.yangtools.util.DurationStatisticsTracker getCommitStatsTracker()
protected com.google.common.util.concurrent.CheckedFuture<Void,TransactionCommitFailedException> submit(DOMDataTreeWriteTransaction transaction, Collection<DOMStoreThreePhaseCommitCohort> cohorts)
AsyncWriteTransaction.submit()
for transaction.
Callback invoked when AsyncWriteTransaction.submit()
is invoked on transaction
created by this factory.transaction
- Transaction on which AsyncWriteTransaction.submit()
was invoked.cohorts
- Iteratable of cohorts for subtransactions associated with the transaction
being committed.TransactionCommitFailedException
.public final DOMDataTreeReadTransaction newReadOnlyTransaction()
getTxFactories()
.
Subtransaction for reading is selected by supplied LogicalDatastoreType
as parameter
for
DOMDataTreeReadTransaction.read(LogicalDatastoreType, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier)
.
Id of returned transaction is retrieved via newTransactionIdentifier()
.public final DOMDataTreeWriteTransaction newWriteOnlyTransaction()
Creates a new composite write-only transaction backed by one write-only transaction per
factory in getTxFactories()
.
Implementation of composite Write-only transaction is following:
DOMDataTreeWriteTransaction.put(LogicalDatastoreType, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier, org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode)
- backing subtransaction is selected by LogicalDatastoreType
,
DOMStoreWriteTransaction.write(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier, org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode)
is invoked on selected subtransaction.DOMDataTreeWriteTransaction.merge(LogicalDatastoreType, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier, org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode)
- backing subtransaction is selected by LogicalDatastoreType
,
DOMStoreWriteTransaction.merge(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier, org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode)
is invoked on selected subtransaction.DOMDataTreeWriteTransaction.delete(LogicalDatastoreType, org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier)
- backing subtransaction is selected by LogicalDatastoreType
,
DOMStoreWriteTransaction.delete(org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier)
is invoked on selected subtransaction.
AsyncWriteTransaction.submit()
- results in invoking
DOMStoreWriteTransaction.ready()
, gathering all resulting cohorts and then invoking
finalized implementation callback submit(DOMDataTreeWriteTransaction, Collection)
with
transaction which was commited and gathered results.newTransactionIdentifier()
.protected final Map<LogicalDatastoreType,T> getTxFactories()
protected final void checkNotClosed()
IllegalStateException
- If instance of this class was closed.Copyright © 2017 OpenDaylight. All rights reserved.