Class JDBCJournalStorageManager
- java.lang.Object
-
- org.apache.activemq.artemis.utils.critical.CriticalComponentImpl
-
- org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager
-
- org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager
-
- org.apache.activemq.artemis.core.persistence.impl.journal.JDBCJournalStorageManager
-
- All Implemented Interfaces:
StorageManager,ActiveMQComponent,CriticalComponent,IDGenerator
public class JDBCJournalStorageManager extends JournalStorageManager
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager
AbstractJournalStorageManager.JournalContent
-
Nested classes/interfaces inherited from interface org.apache.activemq.artemis.core.persistence.StorageManager
StorageManager.LargeMessageExtension
-
-
Field Summary
-
Fields inherited from class org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager
ACTIVEMQ_DATA, bindingsFF, journalFF, largeMessagesDirectory, largeMessagesFactory, originalBindingsJournal, originalMessageJournal, replicator
-
Fields inherited from class org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager
bindingsJournal, config, CRITICAL_PATHS, CRITICAL_STOP, CRITICAL_STOP_2, CRITICAL_STORE, dummyCloseable, executorFactory, idGenerator, ioCriticalErrorListener, ioExecutorFactory, journalLoaded, largeMessagesToDelete, mapPersistedAddressSettings, mapPersistedDivertConfigurations, mapPersistedKeyValuePairs, mapPersistedRoles, mapPersistedSecuritySettings, mapPersistedUsers, messageJournal, scheduledExecutorService, started, storageManagerLock, unlockCloseable
-
-
Constructor Summary
Constructors Constructor Description JDBCJournalStorageManager(Configuration config, CriticalAnalyzer analyzer, ScheduledExecutorService scheduledExecutorService, ExecutorFactory executorFactory, ExecutorFactory ioExecutorFactory, IOCriticalErrorListener criticalErrorListener)JDBCJournalStorageManager(Configuration config, CriticalAnalyzer analyzer, ExecutorFactory executorFactory, ExecutorFactory ioExecutorFactory, ScheduledExecutorService scheduledExecutorService)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ByteBufferallocateDirectBuffer(int size)AIO has an optimized buffer which has a method to release it instead of the way NIO will release data based on GC.voidfreeDirectBuffer(ByteBuffer buffer)AIO has an optimized buffer which has a method to release it instead of the way NIO will release data based on GC.protected voidinit(Configuration config, IOCriticalErrorListener criticalErrorListener)Called during initialization.voidstop(boolean ioCriticalError, boolean sendFailover)-
Methods inherited from class org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager
addBytesToLargeMessage, addBytesToLargeMessage, beforeStart, beforeStop, createFileForLargeMessage, createLargeMessage, createLargeMessage, createMessageJournal, deleteLargeMessageBody, fixJournalFileSize, getJournalSequentialFileFactory, injectMonitor, isReplicated, largeMessageClosed, largeMessageCreated, pageClosed, pageDeleted, pageWrite, parseLargeMessage, performCachedLargeMessageDeletes, startReplication, stop, stopReplication, storePendingLargeMessage
-
Methods inherited from class org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager
addAddressBinding, addGrouping, addQueueBinding, addToPage, afterCompleteOperations, afterStoreOperations, checkInvalidPageTransactions, clearContext, closeableReadLock, commit, commit, commitBindings, confirmLargeMessage, confirmPendingLargeMessage, confirmPendingLargeMessageTX, criticalError, deleteAddressBinding, deleteAddressSetting, deleteAddressStatus, deleteCursorAcknowledge, deleteCursorAcknowledgeTransactional, deleteDivertConfiguration, deleteDuplicateID, deleteDuplicateIDTransactional, deleteGrouping, deleteHeuristicCompletion, deleteID, deleteIncrementRecord, deleteKeyValuePair, deleteMessage, deletePageComplete, deletePageCounter, deletePageTransactional, deletePendingPageCounter, deleteQueueBinding, deleteQueueStatus, deleteRole, deleteSecuritySetting, deleteUser, generateID, getBindingsJournal, getConfig, getContext, getCurrentID, getIDGenerator, getMaxRecordSize, getMessageJournal, getPersistedKeyValuePairs, getPersistedRoles, getPersistedUsers, isStarted, lineUpContext, loadBindingJournal, loadInternalOnly, loadMessageJournal, newAddressBindingEncoding, newContext, newQueueBindingEncoding, newQueueStatusEncoding, newSecurityRecord, newSingleThreadContext, persistIdGenerator, prepare, recoverAddressSettings, recoverDivertConfigurations, recoverSecuritySettings, rollback, rollbackBindings, setContext, start, storeAcknowledge, storeAcknowledgeTransactional, storeAddressSetting, storeAddressStatus, storeCursorAcknowledge, storeCursorAcknowledgeTransactional, storeDivertConfiguration, storeDuplicateID, storeDuplicateIDTransactional, storeHeuristicCompletion, storeID, storeKeyValuePair, storeMessage, storeMessageTransactional, storePageCompleteTransactional, storePageCounter, storePageCounterInc, storePageCounterInc, storePageTransaction, storePendingCounter, storeQueueStatus, storeReference, storeReferenceTransactional, storeRole, storeSecuritySetting, storeUser, updateDeliveryCount, updateDuplicateIDTransactional, updatePageTransaction, updateQueueBinding, updateScheduledDeliveryTime, updateScheduledDeliveryTimeTransactional, waitOnOperations, waitOnOperations
-
Methods inherited from class org.apache.activemq.artemis.utils.critical.CriticalComponentImpl
checkExpiration, getCriticalAnalyzer, measureCritical
-
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.persistence.StorageManager
createFileForLargeMessage
-
-
-
-
Constructor Detail
-
JDBCJournalStorageManager
public JDBCJournalStorageManager(Configuration config, CriticalAnalyzer analyzer, ExecutorFactory executorFactory, ExecutorFactory ioExecutorFactory, ScheduledExecutorService scheduledExecutorService)
-
JDBCJournalStorageManager
public JDBCJournalStorageManager(Configuration config, CriticalAnalyzer analyzer, ScheduledExecutorService scheduledExecutorService, ExecutorFactory executorFactory, ExecutorFactory ioExecutorFactory, IOCriticalErrorListener criticalErrorListener)
-
-
Method Detail
-
init
protected void init(Configuration config, IOCriticalErrorListener criticalErrorListener)
Description copied from class:AbstractJournalStorageManagerCalled during initialization. Used by implementations to setup Journals, Stores etc...- Overrides:
initin classJournalStorageManager
-
stop
public void stop(boolean ioCriticalError, boolean sendFailover) throws Exception- Specified by:
stopin interfaceStorageManager- Overrides:
stopin classJournalStorageManager- Parameters:
ioCriticalError- is the server being stopped due to an IO critical error.sendFailover- this is to send the replication stopping in case of replication.- Throws:
Exception
-
allocateDirectBuffer
public ByteBuffer allocateDirectBuffer(int size)
Description copied from interface:StorageManagerAIO has an optimized buffer which has a method to release it instead of the way NIO will release data based on GC. These methods will use that buffer if the inner method supports it- Specified by:
allocateDirectBufferin interfaceStorageManager- Overrides:
allocateDirectBufferin classJournalStorageManager
-
freeDirectBuffer
public void freeDirectBuffer(ByteBuffer buffer)
Description copied from interface:StorageManagerAIO has an optimized buffer which has a method to release it instead of the way NIO will release data based on GC. These methods will use that buffer if the inner method supports it- Specified by:
freeDirectBufferin interfaceStorageManager- Overrides:
freeDirectBufferin classJournalStorageManager
-
-