Class JDBCJournalImpl

  • All Implemented Interfaces:
    org.apache.activemq.artemis.core.journal.Journal, org.apache.activemq.artemis.core.server.ActiveMQComponent

    public class JDBCJournalImpl
    extends AbstractJDBCDriver
    implements org.apache.activemq.artemis.core.journal.Journal
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface org.apache.activemq.artemis.core.journal.Journal

        org.apache.activemq.artemis.core.journal.Journal.JournalState
    • Constructor Summary

      Constructors 
      Constructor Description
      JDBCJournalImpl​(JDBCConnectionProvider connectionProvider, SQLProvider provider, java.util.concurrent.ScheduledExecutorService scheduledExecutorService, java.util.concurrent.Executor completeExecutor, org.apache.activemq.artemis.core.io.IOCriticalErrorListener criticalIOErrorListener, long syncDelay)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void appendAddEvent​(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, java.lang.Object record, boolean sync, org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)  
      void appendAddRecord​(long id, byte recordType, byte[] record, boolean sync)  
      void appendAddRecord​(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, java.lang.Object record, boolean sync)  
      void appendAddRecord​(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, java.lang.Object record, boolean sync, org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)  
      void appendAddRecordTransactional​(long txID, long id, byte recordType, byte[] record)  
      void appendAddRecordTransactional​(long txID, long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, java.lang.Object record)  
      void appendCommitRecord​(long txID, boolean sync)  
      void appendCommitRecord​(long txID, boolean sync, org.apache.activemq.artemis.core.journal.IOCompletion callback)  
      void appendCommitRecord​(long txID, boolean sync, org.apache.activemq.artemis.core.journal.IOCompletion callback, boolean lineUpContext)  
      void appendDeleteRecord​(long id, boolean sync)  
      void appendDeleteRecord​(long id, boolean sync, org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)  
      void appendDeleteRecordTransactional​(long txID, long id)  
      void appendDeleteRecordTransactional​(long txID, long id, byte[] record)  
      void appendDeleteRecordTransactional​(long txID, long id, org.apache.activemq.artemis.core.journal.EncodingSupport record)  
      void appendPrepareRecord​(long txID, byte[] transactionData, boolean sync)  
      void appendPrepareRecord​(long txID, org.apache.activemq.artemis.core.journal.EncodingSupport transactionData, boolean sync)  
      void appendPrepareRecord​(long txID, org.apache.activemq.artemis.core.journal.EncodingSupport transactionData, boolean sync, org.apache.activemq.artemis.core.journal.IOCompletion callback)  
      void appendRollbackRecord​(long txID, boolean sync)  
      void appendRollbackRecord​(long txID, boolean sync, org.apache.activemq.artemis.core.journal.IOCompletion callback)  
      void appendUpdateRecord​(long id, byte recordType, byte[] record, boolean sync)  
      void appendUpdateRecord​(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, java.lang.Object record, boolean sync)  
      void appendUpdateRecord​(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, java.lang.Object record, boolean sync, org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)  
      void appendUpdateRecordTransactional​(long txID, long id, byte recordType, byte[] record)  
      void appendUpdateRecordTransactional​(long txID, long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, java.lang.Object record)  
      java.util.Map<java.lang.Long,​org.apache.activemq.artemis.core.journal.impl.JournalFile> createFilesForBackupSync​(long[] fileIds)  
      protected void createSchema()  
      void destroy()  
      void flush()  
      void forceMoveNextFile()  
      int getAlignment()  
      org.apache.activemq.artemis.core.journal.impl.JournalFile[] getDataFiles()  
      org.apache.activemq.artemis.core.io.SequentialFileFactory getFileFactory()  
      int getFileSize()  
      long getMaxRecordSize()
      The max size record that can be stored in the journal
      int getNumberOfRecords()  
      int getUserVersion()  
      void handleException​(java.util.List<org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalRecord> recordRef, java.lang.Throwable e)
      public for tests only, not through API
      boolean isRemoveExtraFilesOnLoad()  
      boolean isStarted()  
      void lineUpContext​(org.apache.activemq.artemis.core.journal.IOCompletion callback)  
      org.apache.activemq.artemis.core.journal.JournalLoadInformation load​(java.util.List<org.apache.activemq.artemis.core.journal.RecordInfo> committedRecords, java.util.List<org.apache.activemq.artemis.core.journal.PreparedTransactionInfo> preparedTransactions, org.apache.activemq.artemis.core.journal.TransactionFailureCallback failureCallback, boolean fixBadTX)  
      org.apache.activemq.artemis.core.journal.JournalLoadInformation load​(org.apache.activemq.artemis.core.journal.LoaderCallback reloadManager)  
      org.apache.activemq.artemis.core.journal.JournalLoadInformation load​(org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList<org.apache.activemq.artemis.core.journal.RecordInfo> committedRecords, java.util.List<org.apache.activemq.artemis.core.journal.PreparedTransactionInfo> preparedTransactions, org.apache.activemq.artemis.core.journal.TransactionFailureCallback failureCallback, boolean fixBadTX)  
      org.apache.activemq.artemis.core.journal.JournalLoadInformation loadInternalOnly()  
      org.apache.activemq.artemis.core.journal.JournalLoadInformation loadSyncOnly​(org.apache.activemq.artemis.core.journal.Journal.JournalState state)  
      protected void prepareStatements()  
      void replicationSyncFinished()  
      void replicationSyncPreserveOldFiles()  
      void scheduleCompactAndBlock​(int timeout)  
      void setRemoveExtraFilesOnLoad​(boolean removeExtraFilesOnLoad)  
      void start()  
      void stop()  
      void stop​(boolean sync)  
      int sync()  
      void synchronizationLock()  
      void synchronizationUnlock()  
      void tryAppendDeleteRecord​(long id, boolean sync, org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback, org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)  
      void tryAppendDeleteRecord​(long id, org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback, boolean sync)  
      void tryAppendUpdateRecord​(long id, byte recordType, byte[] record, org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback, boolean sync, boolean replaceableRecord)  
      void tryAppendUpdateRecord​(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, java.lang.Object record, boolean sync, boolean replaceableUpdate, org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback, org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)  
      void tryAppendUpdateRecord​(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, java.lang.Object record, org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback, boolean sync, boolean replaceableUpdate)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.apache.activemq.artemis.core.server.ActiveMQComponent

        asyncStop
      • Methods inherited from interface org.apache.activemq.artemis.core.journal.Journal

        appendAddRecord, appendAddRecord, appendAddRecordTransactional, appendUpdateRecord, appendUpdateRecord, appendUpdateRecordTransactional, forceBackup, getCriticalErrorListener, isHistory, load, load, processBackup, processBackupCleanup, replaceableRecord, setCriticalErrorListener, setHistoryFolder, tryAppendUpdateRecord, tryAppendUpdateRecord
    • Constructor Detail

      • JDBCJournalImpl

        public JDBCJournalImpl​(JDBCConnectionProvider connectionProvider,
                               SQLProvider provider,
                               java.util.concurrent.ScheduledExecutorService scheduledExecutorService,
                               java.util.concurrent.Executor completeExecutor,
                               org.apache.activemq.artemis.core.io.IOCriticalErrorListener criticalIOErrorListener,
                               long syncDelay)
    • Method Detail

      • setRemoveExtraFilesOnLoad

        public void setRemoveExtraFilesOnLoad​(boolean removeExtraFilesOnLoad)
        Specified by:
        setRemoveExtraFilesOnLoad in interface org.apache.activemq.artemis.core.journal.Journal
      • isRemoveExtraFilesOnLoad

        public boolean isRemoveExtraFilesOnLoad()
        Specified by:
        isRemoveExtraFilesOnLoad in interface org.apache.activemq.artemis.core.journal.Journal
      • appendAddEvent

        public void appendAddEvent​(long id,
                                   byte recordType,
                                   org.apache.activemq.artemis.core.persistence.Persister persister,
                                   java.lang.Object record,
                                   boolean sync,
                                   org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)
                            throws java.lang.Exception
        Specified by:
        appendAddEvent in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • start

        public void start()
                   throws java.sql.SQLException
        Specified by:
        start in interface org.apache.activemq.artemis.core.server.ActiveMQComponent
        Overrides:
        start in class AbstractJDBCDriver
        Throws:
        java.sql.SQLException
      • flush

        public void flush()
                   throws java.lang.Exception
        Specified by:
        flush in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • getMaxRecordSize

        public long getMaxRecordSize()
        The max size record that can be stored in the journal
        Specified by:
        getMaxRecordSize in interface org.apache.activemq.artemis.core.journal.Journal
        Returns:
      • createSchema

        protected void createSchema()
                             throws java.sql.SQLException
        Specified by:
        createSchema in class AbstractJDBCDriver
        Throws:
        java.sql.SQLException
      • stop

        public void stop()
                  throws java.sql.SQLException
        Specified by:
        stop in interface org.apache.activemq.artemis.core.server.ActiveMQComponent
        Overrides:
        stop in class AbstractJDBCDriver
        Throws:
        java.sql.SQLException
      • stop

        public void stop​(boolean sync)
                  throws java.sql.SQLException
        Throws:
        java.sql.SQLException
      • destroy

        public void destroy()
                     throws java.lang.Exception
        Overrides:
        destroy in class AbstractJDBCDriver
        Throws:
        java.lang.Exception
      • sync

        public int sync()
      • handleException

        public void handleException​(java.util.List<org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalRecord> recordRef,
                                    java.lang.Throwable e)
        public for tests only, not through API
      • appendAddRecord

        public void appendAddRecord​(long id,
                                    byte recordType,
                                    byte[] record,
                                    boolean sync)
                             throws java.lang.Exception
        Specified by:
        appendAddRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendAddRecord

        public void appendAddRecord​(long id,
                                    byte recordType,
                                    org.apache.activemq.artemis.core.persistence.Persister persister,
                                    java.lang.Object record,
                                    boolean sync)
                             throws java.lang.Exception
        Specified by:
        appendAddRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendAddRecord

        public void appendAddRecord​(long id,
                                    byte recordType,
                                    org.apache.activemq.artemis.core.persistence.Persister persister,
                                    java.lang.Object record,
                                    boolean sync,
                                    org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)
                             throws java.lang.Exception
        Specified by:
        appendAddRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendUpdateRecord

        public void appendUpdateRecord​(long id,
                                       byte recordType,
                                       byte[] record,
                                       boolean sync)
                                throws java.lang.Exception
        Specified by:
        appendUpdateRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • tryAppendUpdateRecord

        public void tryAppendUpdateRecord​(long id,
                                          byte recordType,
                                          byte[] record,
                                          org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback,
                                          boolean sync,
                                          boolean replaceableRecord)
                                   throws java.lang.Exception
        Specified by:
        tryAppendUpdateRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendUpdateRecord

        public void appendUpdateRecord​(long id,
                                       byte recordType,
                                       org.apache.activemq.artemis.core.persistence.Persister persister,
                                       java.lang.Object record,
                                       boolean sync)
                                throws java.lang.Exception
        Specified by:
        appendUpdateRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • tryAppendUpdateRecord

        public void tryAppendUpdateRecord​(long id,
                                          byte recordType,
                                          org.apache.activemq.artemis.core.persistence.Persister persister,
                                          java.lang.Object record,
                                          org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback,
                                          boolean sync,
                                          boolean replaceableUpdate)
                                   throws java.lang.Exception
        Specified by:
        tryAppendUpdateRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendUpdateRecord

        public void appendUpdateRecord​(long id,
                                       byte recordType,
                                       org.apache.activemq.artemis.core.persistence.Persister persister,
                                       java.lang.Object record,
                                       boolean sync,
                                       org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)
                                throws java.lang.Exception
        Specified by:
        appendUpdateRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • tryAppendUpdateRecord

        public void tryAppendUpdateRecord​(long id,
                                          byte recordType,
                                          org.apache.activemq.artemis.core.persistence.Persister persister,
                                          java.lang.Object record,
                                          boolean sync,
                                          boolean replaceableUpdate,
                                          org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback,
                                          org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)
                                   throws java.lang.Exception
        Specified by:
        tryAppendUpdateRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendDeleteRecord

        public void appendDeleteRecord​(long id,
                                       boolean sync)
                                throws java.lang.Exception
        Specified by:
        appendDeleteRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • tryAppendDeleteRecord

        public void tryAppendDeleteRecord​(long id,
                                          org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback,
                                          boolean sync)
                                   throws java.lang.Exception
        Specified by:
        tryAppendDeleteRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendDeleteRecord

        public void appendDeleteRecord​(long id,
                                       boolean sync,
                                       org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)
                                throws java.lang.Exception
        Specified by:
        appendDeleteRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • tryAppendDeleteRecord

        public void tryAppendDeleteRecord​(long id,
                                          boolean sync,
                                          org.apache.activemq.artemis.core.journal.JournalUpdateCallback updateCallback,
                                          org.apache.activemq.artemis.core.journal.IOCompletion completionCallback)
                                   throws java.lang.Exception
        Specified by:
        tryAppendDeleteRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendAddRecordTransactional

        public void appendAddRecordTransactional​(long txID,
                                                 long id,
                                                 byte recordType,
                                                 byte[] record)
                                          throws java.lang.Exception
        Specified by:
        appendAddRecordTransactional in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendAddRecordTransactional

        public void appendAddRecordTransactional​(long txID,
                                                 long id,
                                                 byte recordType,
                                                 org.apache.activemq.artemis.core.persistence.Persister persister,
                                                 java.lang.Object record)
                                          throws java.lang.Exception
        Specified by:
        appendAddRecordTransactional in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendUpdateRecordTransactional

        public void appendUpdateRecordTransactional​(long txID,
                                                    long id,
                                                    byte recordType,
                                                    byte[] record)
                                             throws java.lang.Exception
        Specified by:
        appendUpdateRecordTransactional in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendUpdateRecordTransactional

        public void appendUpdateRecordTransactional​(long txID,
                                                    long id,
                                                    byte recordType,
                                                    org.apache.activemq.artemis.core.persistence.Persister persister,
                                                    java.lang.Object record)
                                             throws java.lang.Exception
        Specified by:
        appendUpdateRecordTransactional in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendDeleteRecordTransactional

        public void appendDeleteRecordTransactional​(long txID,
                                                    long id,
                                                    byte[] record)
                                             throws java.lang.Exception
        Specified by:
        appendDeleteRecordTransactional in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendDeleteRecordTransactional

        public void appendDeleteRecordTransactional​(long txID,
                                                    long id,
                                                    org.apache.activemq.artemis.core.journal.EncodingSupport record)
                                             throws java.lang.Exception
        Specified by:
        appendDeleteRecordTransactional in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendDeleteRecordTransactional

        public void appendDeleteRecordTransactional​(long txID,
                                                    long id)
                                             throws java.lang.Exception
        Specified by:
        appendDeleteRecordTransactional in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendCommitRecord

        public void appendCommitRecord​(long txID,
                                       boolean sync)
                                throws java.lang.Exception
        Specified by:
        appendCommitRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendCommitRecord

        public void appendCommitRecord​(long txID,
                                       boolean sync,
                                       org.apache.activemq.artemis.core.journal.IOCompletion callback)
                                throws java.lang.Exception
        Specified by:
        appendCommitRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendCommitRecord

        public void appendCommitRecord​(long txID,
                                       boolean sync,
                                       org.apache.activemq.artemis.core.journal.IOCompletion callback,
                                       boolean lineUpContext)
                                throws java.lang.Exception
        Specified by:
        appendCommitRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendPrepareRecord

        public void appendPrepareRecord​(long txID,
                                        org.apache.activemq.artemis.core.journal.EncodingSupport transactionData,
                                        boolean sync)
                                 throws java.lang.Exception
        Specified by:
        appendPrepareRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendPrepareRecord

        public void appendPrepareRecord​(long txID,
                                        org.apache.activemq.artemis.core.journal.EncodingSupport transactionData,
                                        boolean sync,
                                        org.apache.activemq.artemis.core.journal.IOCompletion callback)
                                 throws java.lang.Exception
        Specified by:
        appendPrepareRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendPrepareRecord

        public void appendPrepareRecord​(long txID,
                                        byte[] transactionData,
                                        boolean sync)
                                 throws java.lang.Exception
        Specified by:
        appendPrepareRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendRollbackRecord

        public void appendRollbackRecord​(long txID,
                                         boolean sync)
                                  throws java.lang.Exception
        Specified by:
        appendRollbackRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • appendRollbackRecord

        public void appendRollbackRecord​(long txID,
                                         boolean sync,
                                         org.apache.activemq.artemis.core.journal.IOCompletion callback)
                                  throws java.lang.Exception
        Specified by:
        appendRollbackRecord in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • load

        public org.apache.activemq.artemis.core.journal.JournalLoadInformation load​(org.apache.activemq.artemis.core.journal.LoaderCallback reloadManager)
        Specified by:
        load in interface org.apache.activemq.artemis.core.journal.Journal
      • loadInternalOnly

        public org.apache.activemq.artemis.core.journal.JournalLoadInformation loadInternalOnly()
                                                                                         throws java.lang.Exception
        Specified by:
        loadInternalOnly in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • loadSyncOnly

        public org.apache.activemq.artemis.core.journal.JournalLoadInformation loadSyncOnly​(org.apache.activemq.artemis.core.journal.Journal.JournalState state)
                                                                                     throws java.lang.Exception
        Specified by:
        loadSyncOnly in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • lineUpContext

        public void lineUpContext​(org.apache.activemq.artemis.core.journal.IOCompletion callback)
        Specified by:
        lineUpContext in interface org.apache.activemq.artemis.core.journal.Journal
      • load

        public org.apache.activemq.artemis.core.journal.JournalLoadInformation load​(org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList<org.apache.activemq.artemis.core.journal.RecordInfo> committedRecords,
                                                                                    java.util.List<org.apache.activemq.artemis.core.journal.PreparedTransactionInfo> preparedTransactions,
                                                                                    org.apache.activemq.artemis.core.journal.TransactionFailureCallback failureCallback,
                                                                                    boolean fixBadTX)
                                                                             throws java.lang.Exception
        Specified by:
        load in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • load

        public org.apache.activemq.artemis.core.journal.JournalLoadInformation load​(java.util.List<org.apache.activemq.artemis.core.journal.RecordInfo> committedRecords,
                                                                                    java.util.List<org.apache.activemq.artemis.core.journal.PreparedTransactionInfo> preparedTransactions,
                                                                                    org.apache.activemq.artemis.core.journal.TransactionFailureCallback failureCallback,
                                                                                    boolean fixBadTX)
                                                                             throws java.lang.Exception
        Specified by:
        load in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • getAlignment

        public int getAlignment()
                         throws java.lang.Exception
        Specified by:
        getAlignment in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • getNumberOfRecords

        public int getNumberOfRecords()
        Specified by:
        getNumberOfRecords in interface org.apache.activemq.artemis.core.journal.Journal
      • getUserVersion

        public int getUserVersion()
        Specified by:
        getUserVersion in interface org.apache.activemq.artemis.core.journal.Journal
      • createFilesForBackupSync

        public java.util.Map<java.lang.Long,​org.apache.activemq.artemis.core.journal.impl.JournalFile> createFilesForBackupSync​(long[] fileIds)
                                                                                                                               throws java.lang.Exception
        Specified by:
        createFilesForBackupSync in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • synchronizationLock

        public final void synchronizationLock()
        Specified by:
        synchronizationLock in interface org.apache.activemq.artemis.core.journal.Journal
      • synchronizationUnlock

        public final void synchronizationUnlock()
        Specified by:
        synchronizationUnlock in interface org.apache.activemq.artemis.core.journal.Journal
      • forceMoveNextFile

        public void forceMoveNextFile()
                               throws java.lang.Exception
        Specified by:
        forceMoveNextFile in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • getDataFiles

        public org.apache.activemq.artemis.core.journal.impl.JournalFile[] getDataFiles()
        Specified by:
        getDataFiles in interface org.apache.activemq.artemis.core.journal.Journal
      • getFileFactory

        public org.apache.activemq.artemis.core.io.SequentialFileFactory getFileFactory()
        Specified by:
        getFileFactory in interface org.apache.activemq.artemis.core.journal.Journal
      • getFileSize

        public int getFileSize()
        Specified by:
        getFileSize in interface org.apache.activemq.artemis.core.journal.Journal
      • scheduleCompactAndBlock

        public void scheduleCompactAndBlock​(int timeout)
                                     throws java.lang.Exception
        Specified by:
        scheduleCompactAndBlock in interface org.apache.activemq.artemis.core.journal.Journal
        Throws:
        java.lang.Exception
      • replicationSyncPreserveOldFiles

        public void replicationSyncPreserveOldFiles()
        Specified by:
        replicationSyncPreserveOldFiles in interface org.apache.activemq.artemis.core.journal.Journal
      • replicationSyncFinished

        public void replicationSyncFinished()
        Specified by:
        replicationSyncFinished in interface org.apache.activemq.artemis.core.journal.Journal
      • isStarted

        public boolean isStarted()
        Specified by:
        isStarted in interface org.apache.activemq.artemis.core.server.ActiveMQComponent