Class MongoSynchronousTransactionManagerImpl

  • All Implemented Interfaces:
    MongoSynchronousTransactionManager, io.micronaut.transaction.support.TransactionStateOperations<com.mongodb.client.ClientSession,​io.micronaut.transaction.support.SynchronousTransactionState>, io.micronaut.transaction.SynchronousTransactionManager<com.mongodb.client.ClientSession>, io.micronaut.transaction.TransactionManager, io.micronaut.transaction.TransactionOperations<com.mongodb.client.ClientSession>, java.io.Serializable

    @RequiresSyncMongo
    @EachBean(com.mongodb.client.MongoClient.class)
    @Internal
    public final class MongoSynchronousTransactionManagerImpl
    extends io.micronaut.transaction.support.AbstractSynchronousTransactionManager<com.mongodb.client.ClientSession>
    implements MongoSynchronousTransactionManager
    MongoDB synchronous transaction manager.
    Since:
    3.3
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class io.micronaut.transaction.support.AbstractSynchronousTransactionManager

        io.micronaut.transaction.support.AbstractSynchronousTransactionManager.SuspendedResourcesHolder
    • Field Summary

      • Fields inherited from class io.micronaut.transaction.support.AbstractSynchronousStateTransactionManager

        logger
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void closeClientSession()
      Close existing connection.
      protected void doBegin​(java.lang.Object transaction, io.micronaut.transaction.TransactionDefinition definition)  
      protected void doCleanupAfterCompletion​(java.lang.Object transaction)  
      protected void doCommit​(io.micronaut.transaction.support.DefaultTransactionStatus<com.mongodb.client.ClientSession> status)  
      protected java.lang.Object doGetTransaction()  
      protected void doResume​(java.lang.Object transaction, java.lang.Object suspendedResources)  
      protected void doRollback​(io.micronaut.transaction.support.DefaultTransactionStatus<com.mongodb.client.ClientSession> status)  
      protected void doSetRollbackOnly​(io.micronaut.transaction.support.DefaultTransactionStatus status)  
      protected java.lang.Object doSuspend​(java.lang.Object transaction)  
      com.mongodb.client.ClientSession findClientSession()
      Find existing connection.
      com.mongodb.client.MongoClient getClient()  
      com.mongodb.client.ClientSession getConnection()  
      protected com.mongodb.client.ClientSession getConnection​(java.lang.Object transaction)  
      protected java.lang.Object getTransactionStateKey()  
      boolean hasConnection()  
      protected boolean isExistingTransaction​(java.lang.Object transaction)  
      • Methods inherited from class io.micronaut.transaction.support.AbstractSynchronousTransactionManager

        commit, doCleanupAfterCompletion, doDestroyState, doGetTransaction, execute, executeRead, executeWrite, find, findOrCreateState, getConnection, getState, getTransaction, invokeAfterCompletion, isExistingTransaction, newTransactionStatus, newTransactionStatus, prepareSynchronization, prepareSynchronization, prepareTransactionStatus, registerAfterCompletionWithExistingTransaction, registerAfterCompletionWithExistingTransaction, resume, rollback, suspend, triggerBeforeCommit, triggerBeforeCompletion
      • Methods inherited from class io.micronaut.transaction.support.AbstractSynchronousStateTransactionManager

        commit, determineTimeout, execute, executeRead, executeWrite, getDefaultTimeout, getTransaction, getTransactionSynchronization, invokeAfterCompletion, isFailEarlyOnGlobalRollbackOnly, isGlobalRollbackOnParticipationFailure, isNestedTransactionAllowed, isRollbackOnCommitFailure, isValidateExistingTransaction, prepareForCommit, prepareTransactionStatus, resume, rollback, setDefaultTimeout, setFailEarlyOnGlobalRollbackOnly, setGlobalRollbackOnParticipationFailure, setNestedTransactionAllowed, setRollbackOnCommitFailure, setTransactionSynchronization, setValidateExistingTransaction, shouldCommitOnGlobalRollbackOnly, suspend, triggerBeforeCommit, triggerBeforeCompletion, useSavepointForNestedTransaction
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface io.micronaut.transaction.SynchronousTransactionManager

        commit, getTransaction, rollback
      • Methods inherited from interface io.micronaut.transaction.TransactionOperations

        execute, executeRead, executeWrite
    • Constructor Detail

      • MongoSynchronousTransactionManagerImpl

        public MongoSynchronousTransactionManagerImpl​(com.mongodb.client.MongoClient mongoClient,
                                                      @Nullable @Parameter
                                                      java.lang.String name)
        Default constructor.
        Parameters:
        mongoClient - The mongo client
        name - The datasource name
    • Method Detail

      • getTransactionStateKey

        protected java.lang.Object getTransactionStateKey()
        Overrides:
        getTransactionStateKey in class io.micronaut.transaction.support.AbstractSynchronousTransactionManager<com.mongodb.client.ClientSession>
      • findClientSession

        @Nullable
        public com.mongodb.client.ClientSession findClientSession()
        Find existing connection.
        Returns:
        The client session
      • closeClientSession

        public void closeClientSession()
        Close existing connection.
      • getConnection

        public com.mongodb.client.ClientSession getConnection()
        Specified by:
        getConnection in interface io.micronaut.transaction.TransactionOperations<com.mongodb.client.ClientSession>
      • hasConnection

        public boolean hasConnection()
        Specified by:
        hasConnection in interface io.micronaut.transaction.TransactionOperations<com.mongodb.client.ClientSession>
      • getConnection

        protected com.mongodb.client.ClientSession getConnection​(java.lang.Object transaction)
        Specified by:
        getConnection in class io.micronaut.transaction.support.AbstractSynchronousTransactionManager<com.mongodb.client.ClientSession>
      • doGetTransaction

        protected java.lang.Object doGetTransaction()
                                             throws io.micronaut.transaction.exceptions.TransactionException
        Specified by:
        doGetTransaction in class io.micronaut.transaction.support.AbstractSynchronousTransactionManager<com.mongodb.client.ClientSession>
        Throws:
        io.micronaut.transaction.exceptions.TransactionException
      • isExistingTransaction

        protected boolean isExistingTransaction​(java.lang.Object transaction)
                                         throws io.micronaut.transaction.exceptions.TransactionException
        Overrides:
        isExistingTransaction in class io.micronaut.transaction.support.AbstractSynchronousTransactionManager<com.mongodb.client.ClientSession>
        Throws:
        io.micronaut.transaction.exceptions.TransactionException
      • doBegin

        protected void doBegin​(java.lang.Object transaction,
                               io.micronaut.transaction.TransactionDefinition definition)
                        throws io.micronaut.transaction.exceptions.TransactionException
        Specified by:
        doBegin in class io.micronaut.transaction.support.AbstractSynchronousStateTransactionManager<com.mongodb.client.ClientSession>
        Throws:
        io.micronaut.transaction.exceptions.TransactionException
      • doCommit

        protected void doCommit​(io.micronaut.transaction.support.DefaultTransactionStatus<com.mongodb.client.ClientSession> status)
                         throws io.micronaut.transaction.exceptions.TransactionException
        Specified by:
        doCommit in class io.micronaut.transaction.support.AbstractSynchronousStateTransactionManager<com.mongodb.client.ClientSession>
        Throws:
        io.micronaut.transaction.exceptions.TransactionException
      • doRollback

        protected void doRollback​(io.micronaut.transaction.support.DefaultTransactionStatus<com.mongodb.client.ClientSession> status)
                           throws io.micronaut.transaction.exceptions.TransactionException
        Specified by:
        doRollback in class io.micronaut.transaction.support.AbstractSynchronousStateTransactionManager<com.mongodb.client.ClientSession>
        Throws:
        io.micronaut.transaction.exceptions.TransactionException
      • doSuspend

        protected java.lang.Object doSuspend​(java.lang.Object transaction)
        Overrides:
        doSuspend in class io.micronaut.transaction.support.AbstractSynchronousStateTransactionManager<com.mongodb.client.ClientSession>
      • doResume

        protected void doResume​(@Nullable
                                java.lang.Object transaction,
                                java.lang.Object suspendedResources)
        Overrides:
        doResume in class io.micronaut.transaction.support.AbstractSynchronousStateTransactionManager<com.mongodb.client.ClientSession>
      • doSetRollbackOnly

        protected void doSetRollbackOnly​(io.micronaut.transaction.support.DefaultTransactionStatus status)
        Overrides:
        doSetRollbackOnly in class io.micronaut.transaction.support.AbstractSynchronousStateTransactionManager<com.mongodb.client.ClientSession>
      • doCleanupAfterCompletion

        protected void doCleanupAfterCompletion​(java.lang.Object transaction)
        Overrides:
        doCleanupAfterCompletion in class io.micronaut.transaction.support.AbstractSynchronousTransactionManager<com.mongodb.client.ClientSession>