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 ClassesModifier and TypeClassDescriptionclassstatic interfaceclassNested 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
FieldsModifier and TypeFieldDescriptionprotected final List<Map<org.apache.activemq.store.kahadb.KahaDBStore.AsyncJobKey,KahaDBStore.StoreTask>> protected final List<Map<org.apache.activemq.store.kahadb.KahaDBStore.AsyncJobKey,KahaDBStore.StoreTask>> static final intstatic final Stringstatic final Stringprotected ExecutorServiceprotected ExecutorServiceFields 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected 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 voidcreateQueueMessageStore(org.apache.activemq.command.ActiveMQQueue destination) createTopicMessageStore(org.apache.activemq.command.ActiveMQTopic destination) voidvoiddoStart()voiddoStop(ServiceStopper stopper) voidforgetRecoveredAcks(ArrayList<org.apache.activemq.command.MessageAck> preparedAcks, boolean isRollback) Set<org.apache.activemq.command.ActiveMQDestination>booleanlonglonggetLastProducerSequenceId(org.apache.activemq.command.ProducerId id) intbooleanbooleanbooleanvoidremoveQueueMessageStore(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()toString()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, unloadMethods inherited from class org.apache.activemq.util.ServiceSupport
addServiceListener, dispose, isStarted, isStopped, isStopping, postStop, preStart, removeServiceListener, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.activemq.store.PersistenceAdapter
allowIOResumption, getDirectory, setDirectoryMethods inherited from interface org.apache.activemq.Service
start, stop
-
Field Details
-
PROPERTY_CANCELED_TASK_MOD_METRIC
- See Also:
-
cancelledTaskModMetric
public static final int cancelledTaskModMetric -
PROPERTY_ASYNC_EXECUTOR_MAX_THREADS
- See Also:
-
queueExecutor
-
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
-
-
Constructor Details
-
KahaDBStore
public KahaDBStore()
-
-
Method Details
-
toString
-
setBrokerName
- Specified by:
setBrokerNamein interfacePersistenceAdapter
-
setUsageManager
- Specified by:
setUsageManagerin interfacePersistenceAdapter
-
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
- Overrides:
doStartin classMessageDatabase- Throws:
Exception
-
doStop
- 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
- 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
- Specified by:
deleteAllMessagesin interfacePersistenceAdapter- Throws:
IOException
-
getDestinations
- Specified by:
getDestinationsin interfacePersistenceAdapter
-
getLastMessageBrokerSequenceId
- 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
- Specified by:
beginTransactionin interfacePersistenceAdapter- Throws:
IOException
-
commitTransaction
- Specified by:
commitTransactionin interfacePersistenceAdapter- Throws:
IOException
-
rollbackTransaction
- Specified by:
rollbackTransactionin interfacePersistenceAdapter- Throws:
IOException
-
checkpoint
- Specified by:
checkpointin interfacePersistenceAdapter- Throws:
IOException
-
getTransactionIdTransformer
-
setTransactionIdTransformer
-
createJobSchedulerStore
public JobSchedulerStore createJobSchedulerStore() throws IOException, UnsupportedOperationException- Specified by:
createJobSchedulerStorein interfacePersistenceAdapter- Throws:
IOExceptionUnsupportedOperationException
-
isPersistNoLocal
public boolean isPersistNoLocal()- Specified by:
isPersistNoLocalin interfaceNoLocalSubscriptionAware
-