Class JDBCJournalImpl
java.lang.Object
org.apache.activemq.artemis.jdbc.store.drivers.AbstractJDBCDriver
org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalImpl
- All Implemented Interfaces:
Journal, org.apache.activemq.artemis.core.server.ActiveMQComponent
-
Nested Class Summary
Nested classes/interfaces inherited from interface Journal
Journal.JournalState -
Field Summary
Fields inherited from class AbstractJDBCDriver
connectionProvider, sqlProvider -
Constructor Summary
ConstructorsConstructorDescriptionJDBCJournalImpl(JDBCConnectionProvider connectionProvider, SQLProvider provider, ScheduledExecutorService scheduledExecutorService, Executor completeExecutor, IOCriticalErrorListener criticalIOErrorListener, long syncDelay) -
Method Summary
Modifier and TypeMethodDescriptionvoidappendAddEvent(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync, IOCompletion completionCallback) voidappendAddRecord(long id, byte recordType, byte[] record, boolean sync) voidappendAddRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync) voidappendAddRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync, IOCompletion completionCallback) voidappendAddRecordTransactional(long txID, long id, byte recordType, byte[] record) voidappendAddRecordTransactional(long txID, long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record) voidappendCommitRecord(long txID, boolean sync) voidappendCommitRecord(long txID, boolean sync, IOCompletion callback) voidappendCommitRecord(long txID, boolean sync, IOCompletion callback, boolean lineUpContext) voidappendDeleteRecord(long id, boolean sync) voidappendDeleteRecord(long id, boolean sync, IOCompletion completionCallback) voidappendDeleteRecordTransactional(long txID, long id) voidappendDeleteRecordTransactional(long txID, long id, byte[] record) voidappendDeleteRecordTransactional(long txID, long id, EncodingSupport record) voidappendPrepareRecord(long txID, byte[] transactionData, boolean sync) voidappendPrepareRecord(long txID, EncodingSupport transactionData, boolean sync) voidappendPrepareRecord(long txID, EncodingSupport transactionData, boolean sync, IOCompletion callback) voidappendRollbackRecord(long txID, boolean sync) voidappendRollbackRecord(long txID, boolean sync, IOCompletion callback) voidappendUpdateRecord(long id, byte recordType, byte[] record, boolean sync) voidappendUpdateRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync) voidappendUpdateRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync, IOCompletion completionCallback) voidappendUpdateRecordTransactional(long txID, long id, byte recordType, byte[] record) voidappendUpdateRecordTransactional(long txID, long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record) createFilesForBackupSync(long[] fileIds) protected voidvoiddestroy()voidflush()voidintintlongThe max size record that can be stored in the journalintintlongvoidhandleException(List<org.apache.activemq.artemis.jdbc.store.journal.JDBCJournalRecord> recordRef, Throwable e) public for tests only, not through APIbooleanbooleanvoidlineUpContext(IOCompletion callback) load(List<RecordInfo> committedRecords, List<PreparedTransactionInfo> preparedTransactions, TransactionFailureCallback failureCallback, boolean fixBadTX) load(LoaderCallback reloadManager) load(org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList<RecordInfo> committedRecords, List<PreparedTransactionInfo> preparedTransactions, TransactionFailureCallback failureCallback, boolean fixBadTX) loadSyncOnly(Journal.JournalState state) protected voidvoidvoidvoidscheduleCompactAndBlock(int timeout) voidsetRemoveExtraFilesOnLoad(boolean removeExtraFilesOnLoad) voidstart()voidstop()voidstop(boolean sync) intsync()final voidfinal voidvoidtryAppendDeleteRecord(long id, boolean sync, JournalUpdateCallback updateCallback, IOCompletion completionCallback) voidtryAppendDeleteRecord(long id, JournalUpdateCallback updateCallback, boolean sync) voidtryAppendUpdateRecord(long id, byte recordType, byte[] record, JournalUpdateCallback updateCallback, boolean sync, boolean replaceableRecord) voidtryAppendUpdateRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync, boolean replaceableUpdate, JournalUpdateCallback updateCallback, IOCompletion completionCallback) voidtryAppendUpdateRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, JournalUpdateCallback updateCallback, boolean sync, boolean replaceableUpdate) Methods inherited from class AbstractJDBCDriver
createTable, getJdbcConnectionProvider, getSqlProvider, setJdbcConnectionProvider, setSqlProviderMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.activemq.artemis.core.server.ActiveMQComponent
asyncStopMethods inherited from interface Journal
appendAddRecord, appendAddRecord, appendAddRecordTransactional, appendUpdateRecord, appendUpdateRecord, appendUpdateRecordTransactional, forceBackup, getCriticalErrorListener, getHistoryFolder, isHistory, load, load, processBackup, processBackupCleanup, replaceableRecord, setCriticalErrorListener, setHistoryFolder, tryAppendUpdateRecord, tryAppendUpdateRecord
-
Constructor Details
-
JDBCJournalImpl
public JDBCJournalImpl(JDBCConnectionProvider connectionProvider, SQLProvider provider, ScheduledExecutorService scheduledExecutorService, Executor completeExecutor, IOCriticalErrorListener criticalIOErrorListener, long syncDelay)
-
-
Method Details
-
setRemoveExtraFilesOnLoad
public void setRemoveExtraFilesOnLoad(boolean removeExtraFilesOnLoad) - Specified by:
setRemoveExtraFilesOnLoadin interfaceJournal
-
isRemoveExtraFilesOnLoad
public boolean isRemoveExtraFilesOnLoad()- Specified by:
isRemoveExtraFilesOnLoadin interfaceJournal
-
appendAddEvent
public void appendAddEvent(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync, IOCompletion completionCallback) throws Exception - Specified by:
appendAddEventin interfaceJournal- Throws:
Exception
-
start
- Specified by:
startin interfaceorg.apache.activemq.artemis.core.server.ActiveMQComponent- Overrides:
startin classAbstractJDBCDriver- Throws:
SQLException
-
flush
-
getMaxRecordSize
public long getMaxRecordSize()The max size record that can be stored in the journal- Specified by:
getMaxRecordSizein interfaceJournal
-
getWarningRecordSize
public long getWarningRecordSize()- Specified by:
getWarningRecordSizein interfaceJournal
-
createSchema
- Specified by:
createSchemain classAbstractJDBCDriver- Throws:
SQLException
-
prepareStatements
protected void prepareStatements()- Specified by:
prepareStatementsin classAbstractJDBCDriver
-
stop
- Specified by:
stopin interfaceorg.apache.activemq.artemis.core.server.ActiveMQComponent- Overrides:
stopin classAbstractJDBCDriver- Throws:
SQLException
-
stop
- Throws:
SQLException
-
destroy
- Overrides:
destroyin classAbstractJDBCDriver- Throws:
Exception
-
sync
public int sync() -
handleException
-
appendAddRecord
- Specified by:
appendAddRecordin interfaceJournal- Throws:
Exception
-
appendAddRecord
public void appendAddRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync) throws Exception - Specified by:
appendAddRecordin interfaceJournal- Throws:
Exception
-
appendAddRecord
public void appendAddRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync, IOCompletion completionCallback) throws Exception - Specified by:
appendAddRecordin interfaceJournal- Throws:
Exception
-
appendUpdateRecord
public void appendUpdateRecord(long id, byte recordType, byte[] record, boolean sync) throws Exception - Specified by:
appendUpdateRecordin interfaceJournal- Throws:
Exception
-
tryAppendUpdateRecord
public void tryAppendUpdateRecord(long id, byte recordType, byte[] record, JournalUpdateCallback updateCallback, boolean sync, boolean replaceableRecord) throws Exception - Specified by:
tryAppendUpdateRecordin interfaceJournal- Throws:
Exception
-
appendUpdateRecord
public void appendUpdateRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync) throws Exception - Specified by:
appendUpdateRecordin interfaceJournal- Throws:
Exception
-
tryAppendUpdateRecord
public void tryAppendUpdateRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, JournalUpdateCallback updateCallback, boolean sync, boolean replaceableUpdate) throws Exception - Specified by:
tryAppendUpdateRecordin interfaceJournal- Throws:
Exception
-
appendUpdateRecord
public void appendUpdateRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync, IOCompletion completionCallback) throws Exception - Specified by:
appendUpdateRecordin interfaceJournal- Throws:
Exception
-
tryAppendUpdateRecord
public void tryAppendUpdateRecord(long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record, boolean sync, boolean replaceableUpdate, JournalUpdateCallback updateCallback, IOCompletion completionCallback) throws Exception - Specified by:
tryAppendUpdateRecordin interfaceJournal- Throws:
Exception
-
appendDeleteRecord
- Specified by:
appendDeleteRecordin interfaceJournal- Throws:
Exception
-
tryAppendDeleteRecord
public void tryAppendDeleteRecord(long id, JournalUpdateCallback updateCallback, boolean sync) throws Exception - Specified by:
tryAppendDeleteRecordin interfaceJournal- Throws:
Exception
-
appendDeleteRecord
public void appendDeleteRecord(long id, boolean sync, IOCompletion completionCallback) throws Exception - Specified by:
appendDeleteRecordin interfaceJournal- Throws:
Exception
-
tryAppendDeleteRecord
public void tryAppendDeleteRecord(long id, boolean sync, JournalUpdateCallback updateCallback, IOCompletion completionCallback) throws Exception - Specified by:
tryAppendDeleteRecordin interfaceJournal- Throws:
Exception
-
appendAddRecordTransactional
public void appendAddRecordTransactional(long txID, long id, byte recordType, byte[] record) throws Exception - Specified by:
appendAddRecordTransactionalin interfaceJournal- Throws:
Exception
-
appendAddRecordTransactional
public void appendAddRecordTransactional(long txID, long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record) throws Exception - Specified by:
appendAddRecordTransactionalin interfaceJournal- Throws:
Exception
-
appendUpdateRecordTransactional
public void appendUpdateRecordTransactional(long txID, long id, byte recordType, byte[] record) throws Exception - Specified by:
appendUpdateRecordTransactionalin interfaceJournal- Throws:
Exception
-
appendUpdateRecordTransactional
public void appendUpdateRecordTransactional(long txID, long id, byte recordType, org.apache.activemq.artemis.core.persistence.Persister persister, Object record) throws Exception - Specified by:
appendUpdateRecordTransactionalin interfaceJournal- Throws:
Exception
-
appendDeleteRecordTransactional
- Specified by:
appendDeleteRecordTransactionalin interfaceJournal- Throws:
Exception
-
appendDeleteRecordTransactional
public void appendDeleteRecordTransactional(long txID, long id, EncodingSupport record) throws Exception - Specified by:
appendDeleteRecordTransactionalin interfaceJournal- Throws:
Exception
-
appendDeleteRecordTransactional
- Specified by:
appendDeleteRecordTransactionalin interfaceJournal- Throws:
Exception
-
appendCommitRecord
- Specified by:
appendCommitRecordin interfaceJournal- Throws:
Exception
-
appendCommitRecord
- Specified by:
appendCommitRecordin interfaceJournal- Throws:
Exception
-
appendCommitRecord
public void appendCommitRecord(long txID, boolean sync, IOCompletion callback, boolean lineUpContext) throws Exception - Specified by:
appendCommitRecordin interfaceJournal- Throws:
Exception
-
appendPrepareRecord
public void appendPrepareRecord(long txID, EncodingSupport transactionData, boolean sync) throws Exception - Specified by:
appendPrepareRecordin interfaceJournal- Throws:
Exception
-
appendPrepareRecord
public void appendPrepareRecord(long txID, EncodingSupport transactionData, boolean sync, IOCompletion callback) throws Exception - Specified by:
appendPrepareRecordin interfaceJournal- Throws:
Exception
-
appendPrepareRecord
- Specified by:
appendPrepareRecordin interfaceJournal- Throws:
Exception
-
appendRollbackRecord
- Specified by:
appendRollbackRecordin interfaceJournal- Throws:
Exception
-
appendRollbackRecord
- Specified by:
appendRollbackRecordin interfaceJournal- Throws:
Exception
-
load
-
loadInternalOnly
- Specified by:
loadInternalOnlyin interfaceJournal- Throws:
Exception
-
loadSyncOnly
- Specified by:
loadSyncOnlyin interfaceJournal- Throws:
Exception
-
lineUpContext
- Specified by:
lineUpContextin interfaceJournal
-
load
public JournalLoadInformation load(org.apache.activemq.artemis.utils.collections.SparseArrayLinkedList<RecordInfo> committedRecords, List<PreparedTransactionInfo> preparedTransactions, TransactionFailureCallback failureCallback, boolean fixBadTX) throws Exception -
load
public JournalLoadInformation load(List<RecordInfo> committedRecords, List<PreparedTransactionInfo> preparedTransactions, TransactionFailureCallback failureCallback, boolean fixBadTX) throws Exception -
getAlignment
- Specified by:
getAlignmentin interfaceJournal- Throws:
Exception
-
getNumberOfRecords
public int getNumberOfRecords()- Specified by:
getNumberOfRecordsin interfaceJournal
-
getUserVersion
public int getUserVersion()- Specified by:
getUserVersionin interfaceJournal
-
createFilesForBackupSync
- Specified by:
createFilesForBackupSyncin interfaceJournal- Throws:
Exception
-
synchronizationLock
public final void synchronizationLock()- Specified by:
synchronizationLockin interfaceJournal
-
synchronizationUnlock
public final void synchronizationUnlock()- Specified by:
synchronizationUnlockin interfaceJournal
-
forceMoveNextFile
- Specified by:
forceMoveNextFilein interfaceJournal- Throws:
Exception
-
getDataFiles
- Specified by:
getDataFilesin interfaceJournal
-
getFileFactory
- Specified by:
getFileFactoryin interfaceJournal
-
getFileSize
public int getFileSize()- Specified by:
getFileSizein interfaceJournal
-
scheduleCompactAndBlock
- Specified by:
scheduleCompactAndBlockin interfaceJournal- Throws:
Exception
-
replicationSyncPreserveOldFiles
public void replicationSyncPreserveOldFiles()- Specified by:
replicationSyncPreserveOldFilesin interfaceJournal
-
replicationSyncFinished
public void replicationSyncFinished()- Specified by:
replicationSyncFinishedin interfaceJournal
-
isStarted
public boolean isStarted()- Specified by:
isStartedin interfaceorg.apache.activemq.artemis.core.server.ActiveMQComponent
-