Package org.apache.activemq.store.kahadb
Class KahaDBStore
- java.lang.Object
-
- org.apache.activemq.util.ServiceSupport
-
- org.apache.activemq.store.kahadb.MessageDatabase
-
- org.apache.activemq.store.kahadb.KahaDBStore
-
- All Implemented Interfaces:
BrokerServiceAware,org.apache.activemq.Service,NoLocalSubscriptionAware,PersistenceAdapter
public class KahaDBStore extends MessageDatabase implements PersistenceAdapter, NoLocalSubscriptionAware
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classKahaDBStore.KahaDBMessageStorestatic interfaceKahaDBStore.StoreTaskclassKahaDBStore.StoreTaskExecutor-
Nested classes/interfaces inherited from class org.apache.activemq.store.kahadb.MessageDatabase
MessageDatabase.LastAckMarshaller, MessageDatabase.MessageKeysMarshaller, MessageDatabase.MessageStoreStatisticsMarshaller, MessageDatabase.Metadata, MessageDatabase.PurgeRecoveredXATransactionStrategy, MessageDatabase.StoredDestinationMarshaller
-
-
Field Summary
Fields Modifier and Type Field Description protected List<Map<org.apache.activemq.store.kahadb.KahaDBStore.AsyncJobKey,KahaDBStore.StoreTask>>asyncQueueMapsprotected List<Map<org.apache.activemq.store.kahadb.KahaDBStore.AsyncJobKey,KahaDBStore.StoreTask>>asyncTopicMapsstatic intcancelledTaskModMetricstatic StringPROPERTY_ASYNC_EXECUTOR_MAX_THREADSstatic StringPROPERTY_CANCELED_TASK_MOD_METRICprotected ExecutorServicequeueExecutorprotected ExecutorServicetopicExecutor-
Fields inherited from class org.apache.activemq.store.kahadb.MessageDatabase
archiveDataLogs, brokerService, DEFAULT_DIRECTORY, deleteAllMessages, directory, directoryArchive, failIfDatabaseIsLocked, forceRecoverIndex, indexDirectory, indexLock, journal, journalDiskSyncStrategy, journalSize, lastAsyncJournalUpdate, LOG_SLOW_ACCESS_TIME, metadata, metadataMarshaller, opened, pageFile, persistenceAdapterStatistics, preparedTransactions, PROPERTY_LOG_SLOW_ACCESS_TIME, purgeRecoveredXATransactionStrategy, scheduler, storeCache, storedDestinations, UNMATCHED
-
-
Constructor Summary
Constructors Constructor Description KahaDBStore()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddQueueTask(KahaDBStore.KahaDBMessageStore store, org.apache.activemq.store.kahadb.KahaDBStore.StoreQueueTask task)protected voidaddTopicTask(org.apache.activemq.store.kahadb.KahaDBStore.KahaDBTopicMessageStore store, org.apache.activemq.store.kahadb.KahaDBStore.StoreTopicTask task)voidbeginTransaction(ConnectionContext context)voidcheckpoint(boolean sync)voidcommitTransaction(ConnectionContext context)protected voidconfigureMetadata()JobSchedulerStorecreateJobSchedulerStore()MessageStorecreateQueueMessageStore(org.apache.activemq.command.ActiveMQQueue destination)TopicMessageStorecreateTopicMessageStore(org.apache.activemq.command.ActiveMQTopic destination)TransactionStorecreateTransactionStore()voiddeleteAllMessages()voiddoStart()voiddoStop(ServiceStopper stopper)voidforgetRecoveredAcks(ArrayList<org.apache.activemq.command.MessageAck> preparedAcks, boolean isRollback)Set<org.apache.activemq.command.ActiveMQDestination>getDestinations()booleangetForceRecoverIndex()longgetLastMessageBrokerSequenceId()longgetLastProducerSequenceId(org.apache.activemq.command.ProducerId id)intgetMaxAsyncJobs()TransactionIdTransformergetTransactionIdTransformer()SystemUsagegetUsageManager()booleanisConcurrentStoreAndDispatchQueues()booleanisConcurrentStoreAndDispatchTopics()booleanisPersistNoLocal()voidremoveQueueMessageStore(org.apache.activemq.command.ActiveMQQueue destination)Cleanup method to remove any state associated with the given destination.protected org.apache.activemq.store.kahadb.KahaDBStore.StoreQueueTaskremoveQueueTask(KahaDBStore.KahaDBMessageStore store, org.apache.activemq.command.MessageId id)voidremoveTopicMessageStore(org.apache.activemq.command.ActiveMQTopic destination)Cleanup method to remove any state associated with the given destination This method does not stop the message store (it might not be cached).protected org.apache.activemq.store.kahadb.KahaDBStore.StoreTopicTaskremoveTopicTask(org.apache.activemq.store.kahadb.KahaDBStore.KahaDBTopicMessageStore store, org.apache.activemq.command.MessageId id)voidrollbackTransaction(ConnectionContext context)voidsetBrokerName(String brokerName)voidsetConcurrentStoreAndDispatchQueues(boolean concurrentStoreAndDispatch)voidsetConcurrentStoreAndDispatchTopics(boolean concurrentStoreAndDispatch)voidsetForceRecoverIndex(boolean forceRecoverIndex)voidsetMaxAsyncJobs(int maxAsyncJobs)voidsetTransactionIdTransformer(TransactionIdTransformer transactionIdTransformer)voidsetUsageManager(SystemUsage usageManager)longsize()StringtoString()voidtrackRecoveredAcks(ArrayList<org.apache.activemq.command.MessageAck> preparedAcks)-
Methods inherited from class org.apache.activemq.store.kahadb.MessageDatabase
allowIOResumption, checkpointCleanup, clearStoreStats, close, createJournal, decrementAndSubSizeToStoreStat, decrementAndSubSizeToStoreStat, decrementAndSubSizeToStoreStat, decrementAndSubSizeToStoreStat, getCheckpointInterval, getCleanupInterval, getCleanupOnStop, getCompactAcksAfterNoGC, getDirectory, getDirectoryArchive, getExistingStoredDestination, getFailoverProducersAuditDepth, getIndexCacheSize, getIndexDirectory, getIndexLFUEvictionFactor, getIndexWriteBatchSize, getInProgressTxLocationRange, getJournal, getJournalDiskSyncInterval, getJournalDiskSyncStrategy, getJournalDiskSyncStrategyEnum, getJournalFilesBeingReplicated, getJournalMaxFileLength, getJournalMaxWriteBatchSize, getLastAck, getLastUpdatePosition, getMaxFailoverProducersToTrack, getMetadata, getPageFile, getPersistenceAdapterStatistics, getPreallocationScope, getPreallocationStrategy, getPreparedTransaction, getPurgeRecoveredXATransactionStrategy, getPurgeRecoveredXATransactionStrategyEnum, getSequenceSet, getStoredDestination, getStoredMessageCount, getStoredMessageSize, getStoredMessageSize, getStoredMessageStoreStatistics, getStoreStats, getSubStats, getTransactions, incrementalRecover, incrementAndAddSizeToStoreStat, incrementAndAddSizeToStoreStat, incrementAndAddSizeToStoreStat, incrementAndAddSizeToStoreStat, isArchiveCorruptedIndex, isArchiveDataLogs, isCheckForCorruptJournalFiles, isChecksumJournalFiles, isCompactAcksIgnoresStoreGrowth, isDeleteAllMessages, isEnableAckCompaction, isEnableIndexDiskSyncs, isEnableIndexPageCaching, isEnableIndexRecoveryFile, isEnableJournalDiskSyncs, isEnableSubscriptionStatistics, isFailIfDatabaseIsLocked, isIgnoreMissingJournalfiles, isUseIndexLFRUEviction, key, load, load, matchType, open, process, process, process, process, process, process, process, process, process, processLocation, recoverIndex, setArchiveCorruptedIndex, setArchiveDataLogs, setBrokerService, setCheckForCorruptJournalFiles, setCheckpointInterval, setChecksumJournalFiles, setCleanupInterval, setCleanupOnStop, setCompactAcksAfterNoGC, setCompactAcksIgnoresStoreGrowth, setDeleteAllMessages, setDirectory, setDirectoryArchive, setEnableAckCompaction, setEnableIndexDiskSyncs, setEnableIndexPageCaching, setEnableIndexRecoveryFile, setEnableIndexWriteAsync, setEnableJournalDiskSyncs, setEnableSubscriptionStatistics, setFailIfDatabaseIsLocked, setFailoverProducersAuditDepth, setIgnoreMissingJournalfiles, setIndexCacheSize, setIndexDirectory, setIndexLFUEvictionFactor, setIndexWriteBatchSize, setJournalDiskSyncInterval, setJournalDiskSyncStrategy, setJournalMaxFileLength, setJournalMaxWriteBatchSize, setMaxFailoverProducersToTrack, setPreallocationScope, setPreallocationStrategy, setPurgeRecoveredXATransactionStrategy, setUseIndexLFRUEviction, store, store, store, store, toByteSequence, unload
-
Methods inherited from class org.apache.activemq.util.ServiceSupport
addServiceListener, dispose, isStarted, isStopped, isStopping, postStop, preStart, removeServiceListener, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.activemq.store.PersistenceAdapter
allowIOResumption, getDirectory, setDirectory
-
-
-
-
Field Detail
-
PROPERTY_CANCELED_TASK_MOD_METRIC
public static final String PROPERTY_CANCELED_TASK_MOD_METRIC
- See Also:
- Constant Field Values
-
cancelledTaskModMetric
public static final int cancelledTaskModMetric
-
PROPERTY_ASYNC_EXECUTOR_MAX_THREADS
public static final String PROPERTY_ASYNC_EXECUTOR_MAX_THREADS
- See Also:
- Constant Field Values
-
queueExecutor
protected ExecutorService queueExecutor
-
topicExecutor
protected ExecutorService topicExecutor
-
asyncQueueMaps
protected final List<Map<org.apache.activemq.store.kahadb.KahaDBStore.AsyncJobKey,KahaDBStore.StoreTask>> asyncQueueMaps
-
asyncTopicMaps
protected final List<Map<org.apache.activemq.store.kahadb.KahaDBStore.AsyncJobKey,KahaDBStore.StoreTask>> asyncTopicMaps
-
-
Method Detail
-
setBrokerName
public void setBrokerName(String brokerName)
- Specified by:
setBrokerNamein interfacePersistenceAdapter
-
setUsageManager
public void setUsageManager(SystemUsage usageManager)
- Specified by:
setUsageManagerin interfacePersistenceAdapter
-
getUsageManager
public SystemUsage getUsageManager()
-
isConcurrentStoreAndDispatchQueues
public boolean isConcurrentStoreAndDispatchQueues()
- Returns:
- the concurrentStoreAndDispatch
-
setConcurrentStoreAndDispatchQueues
public void setConcurrentStoreAndDispatchQueues(boolean concurrentStoreAndDispatch)
- Parameters:
concurrentStoreAndDispatch- the concurrentStoreAndDispatch to set
-
isConcurrentStoreAndDispatchTopics
public boolean isConcurrentStoreAndDispatchTopics()
- Returns:
- the concurrentStoreAndDispatch
-
setConcurrentStoreAndDispatchTopics
public void setConcurrentStoreAndDispatchTopics(boolean concurrentStoreAndDispatch)
- Parameters:
concurrentStoreAndDispatch- the concurrentStoreAndDispatch to set
-
getMaxAsyncJobs
public int getMaxAsyncJobs()
- Returns:
- the maxAsyncJobs
-
setMaxAsyncJobs
public void setMaxAsyncJobs(int maxAsyncJobs)
- Parameters:
maxAsyncJobs- the maxAsyncJobs to set
-
configureMetadata
protected void configureMetadata()
- Specified by:
configureMetadatain classMessageDatabase
-
doStart
public void doStart() throws Exception- Overrides:
doStartin classMessageDatabase- Throws:
Exception
-
doStop
public void doStop(ServiceStopper stopper) throws Exception
- Overrides:
doStopin classMessageDatabase- Throws:
Exception
-
removeQueueTask
protected org.apache.activemq.store.kahadb.KahaDBStore.StoreQueueTask removeQueueTask(KahaDBStore.KahaDBMessageStore store, org.apache.activemq.command.MessageId id)
-
addQueueTask
protected void addQueueTask(KahaDBStore.KahaDBMessageStore store, org.apache.activemq.store.kahadb.KahaDBStore.StoreQueueTask task) throws IOException
- Throws:
IOException
-
removeTopicTask
protected org.apache.activemq.store.kahadb.KahaDBStore.StoreTopicTask removeTopicTask(org.apache.activemq.store.kahadb.KahaDBStore.KahaDBTopicMessageStore store, org.apache.activemq.command.MessageId id)
-
addTopicTask
protected void addTopicTask(org.apache.activemq.store.kahadb.KahaDBStore.KahaDBTopicMessageStore store, org.apache.activemq.store.kahadb.KahaDBStore.StoreTopicTask task) throws IOException- Throws:
IOException
-
createTransactionStore
public TransactionStore createTransactionStore() throws IOException
- Specified by:
createTransactionStorein interfacePersistenceAdapter- Throws:
IOException
-
getForceRecoverIndex
public boolean getForceRecoverIndex()
-
setForceRecoverIndex
public void setForceRecoverIndex(boolean forceRecoverIndex)
-
forgetRecoveredAcks
public void forgetRecoveredAcks(ArrayList<org.apache.activemq.command.MessageAck> preparedAcks, boolean isRollback) throws IOException
- Throws:
IOException
-
trackRecoveredAcks
public void trackRecoveredAcks(ArrayList<org.apache.activemq.command.MessageAck> preparedAcks) throws IOException
- Throws:
IOException
-
createQueueMessageStore
public MessageStore createQueueMessageStore(org.apache.activemq.command.ActiveMQQueue destination) throws IOException
- Specified by:
createQueueMessageStorein interfacePersistenceAdapter- Throws:
IOException
-
createTopicMessageStore
public TopicMessageStore createTopicMessageStore(org.apache.activemq.command.ActiveMQTopic destination) throws IOException
- Specified by:
createTopicMessageStorein interfacePersistenceAdapter- Throws:
IOException
-
removeQueueMessageStore
public void removeQueueMessageStore(org.apache.activemq.command.ActiveMQQueue destination)
Cleanup method to remove any state associated with the given destination. This method does not stop the message store (it might not be cached).- Specified by:
removeQueueMessageStorein interfacePersistenceAdapter- Parameters:
destination- Destination to forget
-
removeTopicMessageStore
public void removeTopicMessageStore(org.apache.activemq.command.ActiveMQTopic destination)
Cleanup method to remove any state associated with the given destination This method does not stop the message store (it might not be cached).- Specified by:
removeTopicMessageStorein interfacePersistenceAdapter- Parameters:
destination- Destination to forget
-
deleteAllMessages
public void deleteAllMessages() throws IOException- Specified by:
deleteAllMessagesin interfacePersistenceAdapter- Throws:
IOException
-
getDestinations
public Set<org.apache.activemq.command.ActiveMQDestination> getDestinations()
- Specified by:
getDestinationsin interfacePersistenceAdapter
-
getLastMessageBrokerSequenceId
public long getLastMessageBrokerSequenceId() throws IOException- Specified by:
getLastMessageBrokerSequenceIdin interfacePersistenceAdapter- Throws:
IOException
-
getLastProducerSequenceId
public long getLastProducerSequenceId(org.apache.activemq.command.ProducerId id)
- Specified by:
getLastProducerSequenceIdin interfacePersistenceAdapter
-
size
public long size()
- Specified by:
sizein interfacePersistenceAdapter
-
beginTransaction
public void beginTransaction(ConnectionContext context) throws IOException
- Specified by:
beginTransactionin interfacePersistenceAdapter- Throws:
IOException
-
commitTransaction
public void commitTransaction(ConnectionContext context) throws IOException
- Specified by:
commitTransactionin interfacePersistenceAdapter- Throws:
IOException
-
rollbackTransaction
public void rollbackTransaction(ConnectionContext context) throws IOException
- Specified by:
rollbackTransactionin interfacePersistenceAdapter- Throws:
IOException
-
checkpoint
public void checkpoint(boolean sync) throws IOException- Specified by:
checkpointin interfacePersistenceAdapter- Throws:
IOException
-
getTransactionIdTransformer
public TransactionIdTransformer getTransactionIdTransformer()
-
setTransactionIdTransformer
public void setTransactionIdTransformer(TransactionIdTransformer transactionIdTransformer)
-
createJobSchedulerStore
public JobSchedulerStore createJobSchedulerStore() throws IOException, UnsupportedOperationException
- Specified by:
createJobSchedulerStorein interfacePersistenceAdapter- Throws:
IOExceptionUnsupportedOperationException
-
isPersistNoLocal
public boolean isPersistNoLocal()
- Specified by:
isPersistNoLocalin interfaceNoLocalSubscriptionAware
-
-