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.String changeLogCollectionName  
    protected java.util.Set<io.changock.driver.api.driver.ChangeSetDependency> dependencies  
    protected boolean indexCreation  
    protected java.lang.String lockCollectionName  
    protected MongoSync4LockRepository lockRepository  
    protected com.mongodb.client.MongoClient mongoClient  
    protected com.mongodb.client.MongoDatabase mongoDatabase  
    protected io.changock.driver.api.driver.TransactionStrategy transactionStrategy  
  • Constructor Summary

    Constructors 
    Modifier Constructor Description
    protected MongoSync4DriverBase​(com.mongodb.client.MongoClient mongoClient, java.lang.String databaseName, long lockAcquiredForMinutes, long maxWaitingForLockMinutes, int maxTries)  
    protected MongoSync4DriverBase​(com.mongodb.client.MongoDatabase mongoDatabase, long lockAcquiredForMinutes, long maxWaitingForLockMinutes, int maxTries)  
  • Method Summary

    Modifier and Type Method Description
    void disableTransaction()  
    void executeInTransaction​(java.lang.Runnable operation)  
    java.lang.String getChangeLogCollectionName()  
    java.util.Set<io.changock.driver.api.driver.ChangeSetDependency> getDependencies()  
    java.lang.String getLockCollectionName()  
    protected io.changock.driver.core.lock.LockRepository getLockRepository()  
    io.changock.driver.api.driver.TransactionStrategy getTransactionStrategy()  
    void runValidation()  
    void setChangeLogCollectionName​(java.lang.String changeLogCollectionName)  
    void setIndexCreation​(boolean indexCreation)  
    void setLockCollectionName​(java.lang.String lockCollectionName)  
    void setTransactionOptions​(com.mongodb.TransactionOptions txOptions)
    When using Java MongoDB driver directly, it sets the transaction options for all the Mongock's transactions.
    void specificInitialization()  

    Methods inherited from class io.changock.driver.core.driver.ConnectionDriverBase

    getAndAcquireLockManager, getLockManager, initialize, isInitialized

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

    Methods inherited from interface io.changock.driver.api.driver.ConnectionDriver

    getAndAcquireLockManager, getChangeEntryService, getForbiddenParameters, getLegacyMigrationChangeLogClass, getLockManager, initialize, isInitialized
  • Field Details

  • 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:
      setChangeLogCollectionName in interface MongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
    • setLockCollectionName

      public void setLockCollectionName​(java.lang.String lockCollectionName)
      Specified by:
      setLockCollectionName in interface MongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
    • getChangeLogCollectionName

      public java.lang.String getChangeLogCollectionName()
      Specified by:
      getChangeLogCollectionName in interface MongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
    • getLockCollectionName

      public java.lang.String getLockCollectionName()
      Specified by:
      getLockCollectionName in interface MongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
    • setIndexCreation

      public void setIndexCreation​(boolean indexCreation)
      Specified by:
      setIndexCreation in interface MongockConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
    • runValidation

      public void runValidation() throws io.changock.migration.api.exception.ChangockException
      Specified by:
      runValidation in interface io.changock.driver.api.common.Validable
      Throws:
      io.changock.migration.api.exception.ChangockException
    • getLockRepository

      protected io.changock.driver.core.lock.LockRepository getLockRepository()
      Specified by:
      getLockRepository in class io.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:
      getDependencies in interface io.changock.driver.api.driver.ConnectionDriver<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
    • specificInitialization

      public void specificInitialization()
      Specified by:
      specificInitialization in class io.changock.driver.core.driver.ConnectionDriverBase<CHANGE_ENTRY extends io.changock.driver.api.entry.ChangeEntry>
    • disableTransaction

      public void disableTransaction()
      Specified by:
      disableTransaction in interface io.changock.driver.api.driver.Transactionable
    • getTransactionStrategy

      public io.changock.driver.api.driver.TransactionStrategy getTransactionStrategy()
      Specified by:
      getTransactionStrategy in interface io.changock.driver.api.driver.Transactionable
    • executeInTransaction

      public void executeInTransaction​(java.lang.Runnable operation)
      Specified by:
      executeInTransaction in interface io.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