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.
|
protected com.google.common.util.concurrent.FluentFuture<? extends CommitInfo> |
commit(DOMDataTreeWriteTransaction transaction,
Collection<DOMStoreThreePhaseCommitCohort> cohorts)
User-supplied implementation of
DOMDataTreeWriteTransaction.commit() for transaction. |
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.
|
DOMDataTreeReadWriteTransaction |
newReadWriteTransaction()
Creates a new composite read-write transaction.
|
DOMDataTreeWriteTransaction |
newWriteOnlyTransaction()
Creates a new composite write-only transaction
|
close, createTransactionChain, getExtensions, newTransactionIdentifier, setCloseable
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
newReadOnlyTransaction, newReadWriteTransaction, newWriteOnlyTransaction
public SerializedDOMDataBroker(Map<LogicalDatastoreType,DOMStore> datastores, com.google.common.util.concurrent.ListeningExecutorService executor)
datastores
- the Map of backing DOMStore instancesexecutor
- the ListeningExecutorService to usepublic org.opendaylight.yangtools.util.DurationStatisticsTracker getCommitStatsTracker()
protected com.google.common.util.concurrent.FluentFuture<? extends CommitInfo> commit(DOMDataTreeWriteTransaction transaction, Collection<DOMStoreThreePhaseCommitCohort> cohorts)
DOMDataTreeWriteTransaction.commit()
for transaction.
Callback invoked when DOMDataTreeWriteTransaction.commit()
is invoked on transaction created by this
factory.
transaction
- Transaction on which DOMDataTreeWriteTransaction.commit()
was invoked.cohorts
- Iteratable of cohorts for subtransactions associated with the transaction being committed.TransactionCommitFailedException
.public final DOMDataTreeReadTransaction newReadOnlyTransaction()
Creates a new composite read-only transaction backed by one transaction per factory in getTxFactories()
.
Subtransaction for reading is selected by supplied LogicalDatastoreType
as parameter for
DOMDataTreeReadOperations.read(LogicalDatastoreType, 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:
DOMDataTreeWriteOperations.put(LogicalDatastoreType, YangInstanceIdentifier, NormalizedNode)
- backing subtransaction is selected by LogicalDatastoreType
,
DOMStoreWriteTransaction.write(YangInstanceIdentifier, NormalizedNode)
is invoked on selected
subtransaction.DOMDataTreeWriteOperations.merge(LogicalDatastoreType, YangInstanceIdentifier, NormalizedNode)
- backing subtransaction is selected by LogicalDatastoreType
,
DOMStoreWriteTransaction.merge(YangInstanceIdentifier, NormalizedNode)
is invoked on selected
subtransaction.DOMDataTreeWriteOperations.delete(LogicalDatastoreType, YangInstanceIdentifier)
- backing subtransaction is selected by LogicalDatastoreType
,
DOMStoreWriteTransaction.delete(YangInstanceIdentifier)
is invoked on selected subtransaction.
DOMDataTreeWriteTransaction.commit()
- results in invoking DOMStoreWriteTransaction.ready()
,
gathering all resulting cohorts and then invoking finalized implementation callback
commit(DOMDataTreeWriteTransaction, Collection)
with transaction which was committed and gathered
results.
Id of returned transaction is generated via newTransactionIdentifier()
.
public final DOMDataTreeReadWriteTransaction newReadWriteTransaction()
protected final Map<LogicalDatastoreType,T> getTxFactories()
protected final void checkNotClosed()
IllegalStateException
- If instance of this class was closed.Copyright © 2019 OpenDaylight. All rights reserved.