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:
MapStorageManager,StorageManager,ActiveMQComponent,CriticalComponent,IDGenerator
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager
AbstractJournalStorageManager.JournalContentNested 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, replicatorFields 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, mapPersistedBridgeConfigurations, mapPersistedConnectors, mapPersistedDivertConfigurations, mapPersistedKeyValuePairs, mapPersistedRoles, mapPersistedSecuritySettings, mapPersistedUsers, messageJournal, scheduledExecutorService, started, storageManagerLock, unlockCloseable -
Constructor Summary
ConstructorsConstructorDescriptionJDBCJournalStorageManager(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
Modifier and TypeMethodDescriptionfinal voidaddBytesToLargeMessage(SequentialFile file, long messageId, byte[] bytes) final voidaddBytesToLargeMessage(SequentialFile file, long messageId, ActiveMQBuffer bytes) allocateDirectBuffer(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) Stop thisStorageManagerMethods inherited from class org.apache.activemq.artemis.core.persistence.impl.journal.JournalStorageManager
beforeStart, beforeStop, createCoreLargeMessage, createCoreLargeMessage, createDirectories, createFileForLargeMessage, createMessageJournal, deleteLargeMessageBody, fixJournalFileSize, getAllowedPageSize, getJournalSequentialFileFactory, getUsedConnections, injectMonitor, isReplicated, largeMessageClosed, onLargeMessageCreate, pageClosed, pageDeleted, pageWrite, parseLargeMessage, performCachedLargeMessageDeletes, recoverLargeMessagesOnFolder, startReplication, stop, stopReplicationMethods inherited from class org.apache.activemq.artemis.core.persistence.impl.journal.AbstractJournalStorageManager
addAddressBinding, addGrouping, addQueueBinding, addToPage, afterCompleteOperations, afterCompleteOperations, afterStoreOperations, asyncCommit, checkInvalidPageTransactions, clearContext, closeableReadLock, commit, commit, commitBindings, confirmPendingLargeMessage, confirmPendingLargeMessageTX, criticalError, deleteAddressBinding, deleteAddressSetting, deleteAddressStatus, deleteBridgeConfiguration, deleteConnector, deleteCursorAcknowledge, deleteCursorAcknowledgeTransactional, deleteDivertConfiguration, deleteDuplicateID, deleteDuplicateIDTransactional, deleteGrouping, deleteHeuristicCompletion, deleteID, deleteIncrementRecord, deleteKeyValuePair, deleteMapRecord, deleteMapRecordTx, deleteMessage, deletePageComplete, deletePageCounter, deletePageTransactional, deletePendingPageCounter, deleteQueueBinding, deleteQueueStatus, deleteRole, deleteSecuritySetting, deleteUser, generateID, getBindingsJournal, getConfig, getContext, getCurrentID, getIDGenerator, getMaxRecordSize, getMessageJournal, getPersistedKeyValuePairs, getPersistedRoles, getPersistedUsers, getWarningRecordSize, isStarted, lineUpContext, loadBindingJournal, loadInternalOnly, loadMessageJournal, newAddressBindingEncoding, newContext, newQueueBindingEncoding, newQueueStatusEncoding, newSecurityRecord, newSingleThreadContext, persistIdGenerator, prepare, recoverAddressSettings, recoverAddressSettings, recoverBridgeConfigurations, recoverConnectors, recoverDivertConfigurations, recoverSecuritySettings, rollback, rollbackBindings, setContext, start, storeAcknowledge, storeAcknowledgeTransactional, storeAddressSetting, storeAddressStatus, storeBridgeConfiguration, storeConnector, storeCursorAcknowledge, storeCursorAcknowledgeTransactional, storeDivertConfiguration, storeDuplicateID, storeDuplicateIDTransactional, storeHeuristicCompletion, storeID, storeKeyValuePair, storeMapRecord, storeMapRecord, storeMessage, storeMessageTransactional, storePageCompleteTransactional, storePageCounter, storePageCounterInc, storePageCounterInc, storePageTransaction, storePendingCounter, storeQueueStatus, storeReference, storeReferenceTransactional, storeRole, storeSecuritySetting, storeUser, updateDeliveryCount, updateDuplicateIDTransactional, updatePageTransaction, updateQueueBinding, updateScheduledDeliveryTime, updateScheduledDeliveryTimeTransactional, waitOnOperations, waitOnOperations, writeLock, writeUnlockMethods inherited from class org.apache.activemq.artemis.utils.critical.CriticalComponentImpl
checkExpiration, getCriticalAnalyzer, measureCriticalMethods inherited from class java.lang.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 org.apache.activemq.artemis.core.persistence.StorageManager
closeableReadLock, createFileForLargeMessage, loadMessageJournal, loadMessageJournal
-
Constructor Details
-
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 Details
-
init
Description copied from class:AbstractJournalStorageManagerCalled during initialization. Used by implementations to setup Journals, Stores etc...- Overrides:
initin classJournalStorageManager
-
addBytesToLargeMessage
public final void addBytesToLargeMessage(SequentialFile file, long messageId, byte[] bytes) throws Exception - Specified by:
addBytesToLargeMessagein interfaceStorageManager- Overrides:
addBytesToLargeMessagein classJournalStorageManager- Throws:
Exception
-
addBytesToLargeMessage
public final void addBytesToLargeMessage(SequentialFile file, long messageId, ActiveMQBuffer bytes) throws Exception - Specified by:
addBytesToLargeMessagein interfaceStorageManager- Overrides:
addBytesToLargeMessagein classJournalStorageManager- Throws:
Exception
-
stop
Description copied from interface:StorageManagerStop thisStorageManager- 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
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
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
-