public class TransactionChainManager extends Object implements org.opendaylight.mdsal.binding.api.TransactionChainListener, AutoCloseable
WriteTransaction
life cycle. It is
a TransactionChainListener
and provide package protected methods for writeToTransaction
method (wrapped WriteOperations.put(LogicalDatastoreType, InstanceIdentifier, DataObject)
)
and submitTransaction method (wrapped WriteTransaction.commit()
).Constructor and Description |
---|
TransactionChainManager(org.opendaylight.mdsal.binding.api.DataBroker dataBroker,
String deviceIdentifier) |
Modifier and Type | Method and Description |
---|---|
void |
acquireWriteTransactionLock() |
void |
activateTransactionManager()
Method change status for TxChainManager to WORKING and it has to make
registration for this class instance as
TransactionChainListener to provide possibility a make DS
transactions. |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
addDeleteOperationToTxChain(org.opendaylight.mdsal.common.api.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path) |
void |
close() |
com.google.common.util.concurrent.FluentFuture<?> |
deactivateTransactionManager()
Method change status for TxChainManger to SLEEPING and it unregisters
this class instance as
TransactionChainListener so it broke a possibility to write something to DS. |
boolean |
initialSubmitWriteTransaction() |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
mergeToTransaction(org.opendaylight.mdsal.common.api.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
T data,
boolean createParents) |
void |
onTransactionChainFailed(org.opendaylight.mdsal.binding.api.TransactionChain chain,
org.opendaylight.mdsal.binding.api.Transaction transaction,
Throwable cause) |
void |
onTransactionChainSuccessful(org.opendaylight.mdsal.binding.api.TransactionChain chain) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
readFromTransaction(org.opendaylight.mdsal.common.api.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path) |
void |
releaseWriteTransactionLock() |
com.google.common.util.concurrent.ListenableFuture<?> |
shuttingDown() |
boolean |
submitTransaction() |
boolean |
submitTransaction(boolean doSync) |
<T extends org.opendaylight.yangtools.yang.binding.DataObject> |
writeToTransaction(org.opendaylight.mdsal.common.api.LogicalDatastoreType store,
org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path,
T data,
boolean createParents) |
public boolean initialSubmitWriteTransaction()
public void activateTransactionManager()
TransactionChainListener
to provide possibility a make DS
transactions. Call this method for MASTER role only.public com.google.common.util.concurrent.FluentFuture<?> deactivateTransactionManager()
TransactionChainListener
so it broke a possibility to write something to DS.
Call this method for SLAVE only.public boolean submitTransaction()
public boolean submitTransaction(boolean doSync)
public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void addDeleteOperationToTxChain(org.opendaylight.mdsal.common.api.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void writeToTransaction(org.opendaylight.mdsal.common.api.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data, boolean createParents)
public <T extends org.opendaylight.yangtools.yang.binding.DataObject> void mergeToTransaction(org.opendaylight.mdsal.common.api.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path, T data, boolean createParents)
public <T extends org.opendaylight.yangtools.yang.binding.DataObject> com.google.common.util.concurrent.ListenableFuture<Optional<T>> readFromTransaction(org.opendaylight.mdsal.common.api.LogicalDatastoreType store, org.opendaylight.yangtools.yang.binding.InstanceIdentifier<T> path)
public void onTransactionChainFailed(org.opendaylight.mdsal.binding.api.TransactionChain chain, org.opendaylight.mdsal.binding.api.Transaction transaction, Throwable cause)
onTransactionChainFailed
in interface org.opendaylight.mdsal.binding.api.TransactionChainListener
public void onTransactionChainSuccessful(org.opendaylight.mdsal.binding.api.TransactionChain chain)
onTransactionChainSuccessful
in interface org.opendaylight.mdsal.binding.api.TransactionChainListener
public com.google.common.util.concurrent.ListenableFuture<?> shuttingDown()
public void close()
close
in interface AutoCloseable
public void acquireWriteTransactionLock()
public void releaseWriteTransactionLock()
Copyright © 2020 OpenDaylight. All rights reserved.