Class MongoSync4DriverBase<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
java.lang.Object
io.changock.driver.core.driver.ConnectionDriverBase<CHANGE_ENTRY>
com.github.cloudyrock.mongock.driver.mongodb.sync.v4.driver.MongoSync4DriverBase<CHANGE_ENTRY>
- All Implemented Interfaces:
MongockConnectionDriver<CHANGE_ENTRY>,io.changock.driver.api.common.Validable,io.changock.driver.api.driver.ConnectionDriver<CHANGE_ENTRY>,io.changock.driver.api.driver.Transactionable
- Direct Known Subclasses:
MongoSync4Driver
@NotThreadSafe public abstract class MongoSync4DriverBase<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry> extends io.changock.driver.core.driver.ConnectionDriverBase<CHANGE_ENTRY> implements MongockConnectionDriver<CHANGE_ENTRY>, io.changock.driver.api.driver.Transactionable
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.StringchangeLogCollectionNameprotected java.util.Set<io.changock.driver.api.driver.ChangeSetDependency>dependenciesprotected booleanindexCreationprotected java.lang.StringlockCollectionNameprotected MongoSync4LockRepositorylockRepositoryprotected com.mongodb.client.MongoClientmongoClientprotected com.mongodb.client.MongoDatabasemongoDatabaseprotected io.changock.driver.api.driver.TransactionStrategytransactionStrategy -
Constructor Summary
Constructors Modifier Constructor Description protectedMongoSync4DriverBase(com.mongodb.client.MongoClient mongoClient, java.lang.String databaseName, long lockAcquiredForMinutes, long maxWaitingForLockMinutes, int maxTries)protectedMongoSync4DriverBase(com.mongodb.client.MongoDatabase mongoDatabase, long lockAcquiredForMinutes, long maxWaitingForLockMinutes, int maxTries) -
Method Summary
Modifier and Type Method Description voiddisableTransaction()voidexecuteInTransaction(java.lang.Runnable operation)java.lang.StringgetChangeLogCollectionName()java.util.Set<io.changock.driver.api.driver.ChangeSetDependency>getDependencies()java.lang.StringgetLockCollectionName()protected io.changock.driver.core.lock.LockRepositorygetLockRepository()io.changock.driver.api.driver.TransactionStrategygetTransactionStrategy()voidrunValidation()voidsetChangeLogCollectionName(java.lang.String changeLogCollectionName)voidsetIndexCreation(boolean indexCreation)voidsetLockCollectionName(java.lang.String lockCollectionName)voidsetTransactionOptions(com.mongodb.TransactionOptions txOptions)When using Java MongoDB driver directly, it sets the transaction options for all the Mongock's transactions.voidspecificInitialization()Methods inherited from class io.changock.driver.core.driver.ConnectionDriverBase
getAndAcquireLockManager, getLockManager, initialize, isInitialized
-
Field Details
-
mongoDatabase
protected final com.mongodb.client.MongoDatabase mongoDatabase -
changeLogCollectionName
protected java.lang.String changeLogCollectionName -
lockCollectionName
protected java.lang.String lockCollectionName -
indexCreation
protected boolean indexCreation -
lockRepository
-
dependencies
protected java.util.Set<io.changock.driver.api.driver.ChangeSetDependency> dependencies -
transactionStrategy
protected io.changock.driver.api.driver.TransactionStrategy transactionStrategy -
mongoClient
protected com.mongodb.client.MongoClient mongoClient
-
-
Constructor Details
-
MongoSync4DriverBase
protected MongoSync4DriverBase(com.mongodb.client.MongoClient mongoClient, java.lang.String databaseName, long lockAcquiredForMinutes, long maxWaitingForLockMinutes, int maxTries) -
MongoSync4DriverBase
protected MongoSync4DriverBase(com.mongodb.client.MongoDatabase mongoDatabase, long lockAcquiredForMinutes, long maxWaitingForLockMinutes, int maxTries)
-
-
Method Details
-
setChangeLogCollectionName
public void setChangeLogCollectionName(java.lang.String changeLogCollectionName)- Specified by:
setChangeLogCollectionNamein interfaceMongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
-
setLockCollectionName
public void setLockCollectionName(java.lang.String lockCollectionName)- Specified by:
setLockCollectionNamein interfaceMongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
-
getChangeLogCollectionName
public java.lang.String getChangeLogCollectionName()- Specified by:
getChangeLogCollectionNamein interfaceMongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
-
getLockCollectionName
public java.lang.String getLockCollectionName()- Specified by:
getLockCollectionNamein interfaceMongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
-
setIndexCreation
public void setIndexCreation(boolean indexCreation)- Specified by:
setIndexCreationin interfaceMongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
-
runValidation
public void runValidation() throws io.changock.migration.api.exception.ChangockException- Specified by:
runValidationin interfaceio.changock.driver.api.common.Validable- Throws:
io.changock.migration.api.exception.ChangockException
-
getLockRepository
protected io.changock.driver.core.lock.LockRepository getLockRepository()- Specified by:
getLockRepositoryin classio.changock.driver.core.driver.ConnectionDriverBase<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
-
getDependencies
public java.util.Set<io.changock.driver.api.driver.ChangeSetDependency> getDependencies()- Specified by:
getDependenciesin interfaceio.changock.driver.api.driver.ConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
-
specificInitialization
public void specificInitialization()- Specified by:
specificInitializationin classio.changock.driver.core.driver.ConnectionDriverBase<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
-
disableTransaction
public void disableTransaction()- Specified by:
disableTransactionin interfaceio.changock.driver.api.driver.Transactionable
-
getTransactionStrategy
public io.changock.driver.api.driver.TransactionStrategy getTransactionStrategy()- Specified by:
getTransactionStrategyin interfaceio.changock.driver.api.driver.Transactionable
-
executeInTransaction
public void executeInTransaction(java.lang.Runnable operation)- Specified by:
executeInTransactionin interfaceio.changock.driver.api.driver.Transactionable
-
setTransactionOptions
public void setTransactionOptions(com.mongodb.TransactionOptions txOptions)When using Java MongoDB driver directly, it sets the transaction options for all the Mongock's transactions. Default: readPreference: primary, readConcern and writeConcern: majority- Parameters:
txOptions- transaction options
-