Package org.apache.activemq.store.kahadb
Class KahaDBPersistenceAdapter
- java.lang.Object
-
- org.apache.activemq.util.ServiceSupport
-
- org.apache.activemq.broker.LockableServiceSupport
-
- org.apache.activemq.store.kahadb.KahaDBPersistenceAdapter
-
- All Implemented Interfaces:
BrokerServiceAware
,Lockable
,Service
,JournaledStore
,NoLocalSubscriptionAware
,PersistenceAdapter
,TransactionIdTransformerAware
public class KahaDBPersistenceAdapter extends LockableServiceSupport implements PersistenceAdapter, JournaledStore, TransactionIdTransformerAware, NoLocalSubscriptionAware
An implementation ofPersistenceAdapter
designed for use with KahaDB - Embedded Lightweight Non-Relational Database
-
-
Field Summary
-
Fields inherited from class org.apache.activemq.broker.LockableServiceSupport
brokerService, clockDaemon
-
-
Constructor Summary
Constructors Constructor Description KahaDBPersistenceAdapter()
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
allowIOResumption()
void
beginTransaction(ConnectionContext context)
This method starts a transaction on the persistent storage - which is nothing to do with JMS or XA transactions - its purely a mechanism to perform multiple writes to a persistent store in 1 transaction as a performance optimization.void
checkpoint(boolean cleanup)
checkpoint anyvoid
commitTransaction(ConnectionContext context)
Commit a persistence transactionLocker
createDefaultLocker()
Create a default lockerJobSchedulerStore
createJobSchedulerStore()
Creates and returns a new Job Scheduler store instance.MessageStore
createQueueMessageStore(ActiveMQQueue destination)
Factory method to create a new queue message store with the given destination nameTopicMessageStore
createTopicMessageStore(ActiveMQTopic destination)
Factory method to create a new topic message store with the given destination nameKahaTransactionInfo
createTransactionInfo(TransactionId txid)
TransactionStore
createTransactionStore()
Factory method to create a new persistent prepared transaction store for XA recoveryvoid
deleteAllMessages()
Delete's all the messages in the persistent store.void
doStart()
void
doStop(ServiceStopper stopper)
long
getCheckpointInterval()
Get the checkpointIntervallong
getCleanupInterval()
Get the cleanupIntervalboolean
getCleanupOnStop()
int
getCompactAcksAfterNoGC()
Set<ActiveMQDestination>
getDestinations()
Returns a set of all theActiveMQDestination
objects that the persistence store is aware exist.File
getDirectory()
Get the directoryFile
getDirectoryArchive()
int
getFailoverProducersAuditDepth()
boolean
getForceRecoverIndex()
int
getIndexCacheSize()
Get the indexCacheSizeFile
getIndexDirectory()
float
getIndexLFUEvictionFactor()
int
getIndexWriteBatchSize()
Get the indexWriteBatchSizelong
getJournalDiskSyncInterval()
String
getJournalDiskSyncStrategy()
Journal.JournalDiskSyncStrategy
getJournalDiskSyncStrategyEnum()
int
getJournalMaxFileLength()
Get the journalMaxFileLengthint
getJournalMaxWriteBatchSize()
Get the journalMaxWriteBatchSizelong
getLastMessageBrokerSequenceId()
long
getLastProducerSequenceId(ProducerId id)
return the last stored producer sequenceId for this producer Id used to suppress duplicate sends on failover reconnect at the transport when a reconnect occursint
getMaxAsyncJobs()
int
getMaxFailoverProducersToTrack()
PersistenceAdapterStatistics
getPersistenceAdapterStatistics()
Get the PersistenceAdapterStatisticsString
getPreallocationScope()
String
getPreallocationStrategy()
String
getPurgeRecoveredXATransactionStrategy()
KahaDBStore
getStore()
void
init()
Initialize resources before lockingboolean
isArchiveCorruptedIndex()
boolean
isArchiveDataLogs()
boolean
isCheckForCorruptJournalFiles()
boolean
isChecksumJournalFiles()
boolean
isCompactAcksIgnoresStoreGrowth()
boolean
isConcurrentStoreAndDispatchQueues()
boolean
isConcurrentStoreAndDispatchTopics()
boolean
isEnableAckCompaction()
Returns whether Ack compaction is enabledboolean
isEnableIndexDiskSyncs()
boolean
isEnableIndexPageCaching()
boolean
isEnableIndexRecoveryFile()
boolean
isEnableIndexWriteAsync()
Get the enableIndexWriteAsyncboolean
isEnableJournalDiskSyncs()
Deprecated.usegetJournalDiskSyncStrategy()
insteadboolean
isEnableSubscriptionStatistics()
Whether non-blocking subscription statistics have been enabledboolean
isIgnoreMissingJournalfiles()
Get the ignoreMissingJournalfilesboolean
isPersistNoLocal()
boolean
isUseIndexLFRUEviction()
void
removeQueueMessageStore(ActiveMQQueue destination)
Cleanup method to remove any state associated with the given destination.void
removeTopicMessageStore(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).void
rollbackTransaction(ConnectionContext context)
Rollback a persistence transactionvoid
setArchiveCorruptedIndex(boolean archiveCorruptedIndex)
void
setArchiveDataLogs(boolean archiveDataLogs)
void
setBrokerName(String brokerName)
Set the name of the broker using the adaptervoid
setBrokerService(BrokerService brokerService)
void
setCheckForCorruptJournalFiles(boolean checkForCorruptJournalFiles)
void
setCheckpointInterval(long checkpointInterval)
Set the checkpointIntervalvoid
setChecksumJournalFiles(boolean checksumJournalFiles)
void
setCleanupInterval(long cleanupInterval)
Set the cleanupIntervalvoid
setCleanupOnStop(boolean cleanupOnStop)
void
setCompactAcksAfterNoGC(int compactAcksAfterNoGC)
Sets the number of GC cycles where no journal logs were removed before an attempt to move forward all the acks in the last log that contains them and is otherwise unreferenced.void
setCompactAcksIgnoresStoreGrowth(boolean compactAcksIgnoresStoreGrowth)
Configure if Ack compaction will occur regardless of continued growth of the journal logs meaning that the store has not run out of space yet.void
setConcurrentStoreAndDispatchQueues(boolean concurrentStoreAndDispatch)
void
setConcurrentStoreAndDispatchTopics(boolean concurrentStoreAndDispatch)
void
setDatabaseLockedWaitDelay(int databaseLockedWaitDelay)
Deprecated.useLocker.setLockAcquireSleepInterval(long)
insteadvoid
setDirectory(File dir)
Set the directory where any data files should be createdvoid
setDirectoryArchive(File directoryArchive)
void
setEnableAckCompaction(boolean enableAckCompaction)
Configure if the Ack compaction task should be enabled to runvoid
setEnableIndexDiskSyncs(boolean diskSyncs)
void
setEnableIndexPageCaching(boolean enable)
void
setEnableIndexRecoveryFile(boolean enable)
void
setEnableIndexWriteAsync(boolean enableIndexWriteAsync)
Set the enableIndexWriteAsyncvoid
setEnableJournalDiskSyncs(boolean enableJournalDiskSyncs)
Deprecated.usesetJournalDiskSyncStrategy(java.lang.String)
insteadvoid
setEnableSubscriptionStatistics(boolean enableSubscriptionStatistics)
Enable caching statistics for each subscription to allow non-blocking retrieval of metrics.void
setFailoverProducersAuditDepth(int failoverProducersAuditDepth)
set the audit window depth for duplicate suppression (should exceed the max transaction batch)void
setForceRecoverIndex(boolean forceRecoverIndex)
void
setIgnoreMissingJournalfiles(boolean ignoreMissingJournalfiles)
Set the ignoreMissingJournalfilesvoid
setIndexCacheSize(int indexCacheSize)
Set the indexCacheSize When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be usedvoid
setIndexDirectory(File indexDirectory)
Sets the directory where KahaDB index files should be written.void
setIndexLFUEvictionFactor(float indexLFUEvictionFactor)
void
setIndexWriteBatchSize(int indexWriteBatchSize)
Set the indexWriteBatchSize When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be usedvoid
setJournalDiskSyncInterval(long journalDiskSyncInterval)
void
setJournalDiskSyncStrategy(String journalDiskSyncStrategy)
void
setJournalMaxFileLength(int journalMaxFileLength)
When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be usedvoid
setJournalMaxWriteBatchSize(int journalMaxWriteBatchSize)
Set the journalMaxWriteBatchSize * When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be usedvoid
setMaxAsyncJobs(int maxAsyncJobs)
void
setMaxFailoverProducersToTrack(int maxFailoverProducersToTrack)
Set the max number of producers (LRU cache) to track for duplicate sendsvoid
setPreallocationScope(String preallocationScope)
void
setPreallocationStrategy(String preallocationStrategy)
void
setPurgeRecoveredXATransactionStrategy(String purgeRecoveredXATransactionStrategy)
void
setTransactionIdTransformer(TransactionIdTransformer transactionIdTransformer)
void
setUsageManager(SystemUsage usageManager)
void
setUseIndexLFRUEviction(boolean useIndexLFRUEviction)
long
size()
A hint to return the size of the store on diskString
toString()
-
Methods inherited from class org.apache.activemq.broker.LockableServiceSupport
getBrokerService, getLocker, getLockKeepAlivePeriod, getScheduledThreadPoolExecutor, isStopOnError, isUseLock, keepLockAlive, postStop, preStart, setLocker, setLockKeepAlivePeriod, setScheduledThreadPoolExecutor, setStopOnError, setUseLock, stopBroker
-
Methods inherited from class org.apache.activemq.util.ServiceSupport
addServiceListener, dispose, isStarted, isStopped, isStopping, removeServiceListener, start, stop
-
-
-
-
Method Detail
-
beginTransaction
public void beginTransaction(ConnectionContext context) throws IOException
Description copied from interface:PersistenceAdapter
This method starts a transaction on the persistent storage - which is nothing to do with JMS or XA transactions - its purely a mechanism to perform multiple writes to a persistent store in 1 transaction as a performance optimization. Typically one transaction will require one disk synchronization point and so for real high performance its usually faster to perform many writes within the same transaction to minimize latency caused by disk synchronization. This is especially true when using tools like Berkeley Db or embedded JDBC servers.- Specified by:
beginTransaction
in interfacePersistenceAdapter
- Parameters:
context
-- Throws:
IOException
- See Also:
PersistenceAdapter.beginTransaction(org.apache.activemq.broker.ConnectionContext)
-
checkpoint
public void checkpoint(boolean cleanup) throws IOException
Description copied from interface:PersistenceAdapter
checkpoint any- Specified by:
checkpoint
in interfacePersistenceAdapter
- Parameters:
cleanup
-- Throws:
IOException
- See Also:
PersistenceAdapter.checkpoint(boolean)
-
commitTransaction
public void commitTransaction(ConnectionContext context) throws IOException
Description copied from interface:PersistenceAdapter
Commit a persistence transaction- Specified by:
commitTransaction
in interfacePersistenceAdapter
- Parameters:
context
-- Throws:
IOException
- See Also:
PersistenceAdapter.commitTransaction(org.apache.activemq.broker.ConnectionContext)
-
createQueueMessageStore
public MessageStore createQueueMessageStore(ActiveMQQueue destination) throws IOException
Description copied from interface:PersistenceAdapter
Factory method to create a new queue message store with the given destination name- Specified by:
createQueueMessageStore
in interfacePersistenceAdapter
- Parameters:
destination
-- Returns:
- MessageStore
- Throws:
IOException
- See Also:
PersistenceAdapter.createQueueMessageStore(org.apache.activemq.command.ActiveMQQueue)
-
createTopicMessageStore
public TopicMessageStore createTopicMessageStore(ActiveMQTopic destination) throws IOException
Description copied from interface:PersistenceAdapter
Factory method to create a new topic message store with the given destination name- Specified by:
createTopicMessageStore
in interfacePersistenceAdapter
- Parameters:
destination
-- Returns:
- TopicMessageStore
- Throws:
IOException
- See Also:
PersistenceAdapter.createTopicMessageStore(org.apache.activemq.command.ActiveMQTopic)
-
createTransactionStore
public TransactionStore createTransactionStore() throws IOException
Description copied from interface:PersistenceAdapter
Factory method to create a new persistent prepared transaction store for XA recovery- Specified by:
createTransactionStore
in interfacePersistenceAdapter
- Returns:
- TransactionStore
- Throws:
IOException
- See Also:
PersistenceAdapter.createTransactionStore()
-
deleteAllMessages
public void deleteAllMessages() throws IOException
Description copied from interface:PersistenceAdapter
Delete's all the messages in the persistent store.- Specified by:
deleteAllMessages
in interfacePersistenceAdapter
- Throws:
IOException
- See Also:
PersistenceAdapter.deleteAllMessages()
-
getDestinations
public Set<ActiveMQDestination> getDestinations()
Description copied from interface:PersistenceAdapter
Returns a set of all theActiveMQDestination
objects that the persistence store is aware exist.- Specified by:
getDestinations
in interfacePersistenceAdapter
- Returns:
- destinations
- See Also:
PersistenceAdapter.getDestinations()
-
getLastMessageBrokerSequenceId
public long getLastMessageBrokerSequenceId() throws IOException
- Specified by:
getLastMessageBrokerSequenceId
in interfacePersistenceAdapter
- Returns:
- lastMessageBrokerSequenceId
- Throws:
IOException
- See Also:
PersistenceAdapter.getLastMessageBrokerSequenceId()
-
getLastProducerSequenceId
public long getLastProducerSequenceId(ProducerId id) throws IOException
Description copied from interface:PersistenceAdapter
return the last stored producer sequenceId for this producer Id used to suppress duplicate sends on failover reconnect at the transport when a reconnect occurs- Specified by:
getLastProducerSequenceId
in interfacePersistenceAdapter
- Parameters:
id
- the producerId to find a sequenceId for- Returns:
- the last stored sequence id or -1 if no suppression needed
- Throws:
IOException
-
allowIOResumption
public void allowIOResumption()
- Specified by:
allowIOResumption
in interfacePersistenceAdapter
-
removeQueueMessageStore
public void removeQueueMessageStore(ActiveMQQueue destination)
Description copied from interface:PersistenceAdapter
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:
removeQueueMessageStore
in interfacePersistenceAdapter
- Parameters:
destination
-- See Also:
PersistenceAdapter.removeQueueMessageStore(org.apache.activemq.command.ActiveMQQueue)
-
removeTopicMessageStore
public void removeTopicMessageStore(ActiveMQTopic destination)
Description copied from interface:PersistenceAdapter
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:
removeTopicMessageStore
in interfacePersistenceAdapter
- Parameters:
destination
-- See Also:
PersistenceAdapter.removeTopicMessageStore(org.apache.activemq.command.ActiveMQTopic)
-
rollbackTransaction
public void rollbackTransaction(ConnectionContext context) throws IOException
Description copied from interface:PersistenceAdapter
Rollback a persistence transaction- Specified by:
rollbackTransaction
in interfacePersistenceAdapter
- Parameters:
context
-- Throws:
IOException
- See Also:
PersistenceAdapter.rollbackTransaction(org.apache.activemq.broker.ConnectionContext)
-
setBrokerName
public void setBrokerName(String brokerName)
Description copied from interface:PersistenceAdapter
Set the name of the broker using the adapter- Specified by:
setBrokerName
in interfacePersistenceAdapter
- Parameters:
brokerName
-- See Also:
PersistenceAdapter.setBrokerName(java.lang.String)
-
setUsageManager
public void setUsageManager(SystemUsage usageManager)
- Specified by:
setUsageManager
in interfacePersistenceAdapter
- Parameters:
usageManager
-- See Also:
PersistenceAdapter.setUsageManager(org.apache.activemq.usage.SystemUsage)
-
size
public long size()
Description copied from interface:PersistenceAdapter
A hint to return the size of the store on disk- Specified by:
size
in interfacePersistenceAdapter
- Returns:
- the size of the store
- See Also:
PersistenceAdapter.size()
-
doStart
public void doStart() throws Exception
- Specified by:
doStart
in classServiceSupport
- Throws:
Exception
- See Also:
Service.start()
-
doStop
public void doStop(ServiceStopper stopper) throws Exception
- Specified by:
doStop
in classServiceSupport
- Throws:
Exception
- See Also:
Service.stop()
-
getJournalMaxFileLength
public int getJournalMaxFileLength()
Get the journalMaxFileLength- Specified by:
getJournalMaxFileLength
in interfaceJournaledStore
- Returns:
- the journalMaxFileLength
-
setJournalMaxFileLength
public void setJournalMaxFileLength(int journalMaxFileLength)
When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used
-
setMaxFailoverProducersToTrack
public void setMaxFailoverProducersToTrack(int maxFailoverProducersToTrack)
Set the max number of producers (LRU cache) to track for duplicate sends
-
getMaxFailoverProducersToTrack
public int getMaxFailoverProducersToTrack()
-
setFailoverProducersAuditDepth
public void setFailoverProducersAuditDepth(int failoverProducersAuditDepth)
set the audit window depth for duplicate suppression (should exceed the max transaction batch)
-
getFailoverProducersAuditDepth
public int getFailoverProducersAuditDepth()
-
getCheckpointInterval
public long getCheckpointInterval()
Get the checkpointInterval- Returns:
- the checkpointInterval
-
setCheckpointInterval
public void setCheckpointInterval(long checkpointInterval)
Set the checkpointInterval- Parameters:
checkpointInterval
- the checkpointInterval to set
-
getCleanupInterval
public long getCleanupInterval()
Get the cleanupInterval- Returns:
- the cleanupInterval
-
setCleanupInterval
public void setCleanupInterval(long cleanupInterval)
Set the cleanupInterval- Parameters:
cleanupInterval
- the cleanupInterval to set
-
getIndexWriteBatchSize
public int getIndexWriteBatchSize()
Get the indexWriteBatchSize- Returns:
- the indexWriteBatchSize
-
setIndexWriteBatchSize
public void setIndexWriteBatchSize(int indexWriteBatchSize)
Set the indexWriteBatchSize When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used- Parameters:
indexWriteBatchSize
- the indexWriteBatchSize to set
-
getJournalMaxWriteBatchSize
public int getJournalMaxWriteBatchSize()
Get the journalMaxWriteBatchSize- Returns:
- the journalMaxWriteBatchSize
-
setJournalMaxWriteBatchSize
public void setJournalMaxWriteBatchSize(int journalMaxWriteBatchSize)
Set the journalMaxWriteBatchSize * When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used- Parameters:
journalMaxWriteBatchSize
- the journalMaxWriteBatchSize to set
-
isEnableIndexWriteAsync
public boolean isEnableIndexWriteAsync()
Get the enableIndexWriteAsync- Returns:
- the enableIndexWriteAsync
-
setEnableIndexWriteAsync
public void setEnableIndexWriteAsync(boolean enableIndexWriteAsync)
Set the enableIndexWriteAsync- Parameters:
enableIndexWriteAsync
- the enableIndexWriteAsync to set
-
getPersistenceAdapterStatistics
public PersistenceAdapterStatistics getPersistenceAdapterStatistics()
Get the PersistenceAdapterStatistics- Returns:
- the persistenceAdapterStatistics
-
getDirectory
public File getDirectory()
Get the directory- Specified by:
getDirectory
in interfacePersistenceAdapter
- Returns:
- the directory
-
setDirectory
public void setDirectory(File dir)
Description copied from interface:PersistenceAdapter
Set the directory where any data files should be created- Specified by:
setDirectory
in interfacePersistenceAdapter
- Parameters:
dir
-- See Also:
PersistenceAdapter.setDirectory(java.io.File)
-
getIndexDirectory
public File getIndexDirectory()
- Returns:
- the currently configured location of the KahaDB index files.
-
setIndexDirectory
public void setIndexDirectory(File indexDirectory)
Sets the directory where KahaDB index files should be written.- Parameters:
indexDirectory
- the directory where the KahaDB store index files should be written.
-
isEnableJournalDiskSyncs
public boolean isEnableJournalDiskSyncs()
Deprecated.usegetJournalDiskSyncStrategy()
insteadGet the enableJournalDiskSyncs- Returns:
- the enableJournalDiskSyncs
-
setEnableJournalDiskSyncs
public void setEnableJournalDiskSyncs(boolean enableJournalDiskSyncs)
Deprecated.usesetJournalDiskSyncStrategy(java.lang.String)
insteadSet the enableJournalDiskSyncs- Parameters:
enableJournalDiskSyncs
- the enableJournalDiskSyncs to set
-
getJournalDiskSyncStrategy
public String getJournalDiskSyncStrategy()
- Returns:
-
getJournalDiskSyncStrategyEnum
public Journal.JournalDiskSyncStrategy getJournalDiskSyncStrategyEnum()
-
setJournalDiskSyncStrategy
public void setJournalDiskSyncStrategy(String journalDiskSyncStrategy)
- Parameters:
journalDiskSyncStrategy
-
-
getJournalDiskSyncInterval
public long getJournalDiskSyncInterval()
- Returns:
-
setJournalDiskSyncInterval
public void setJournalDiskSyncInterval(long journalDiskSyncInterval)
- Parameters:
journalDiskSyncInterval
-
-
getIndexCacheSize
public int getIndexCacheSize()
Get the indexCacheSize- Returns:
- the indexCacheSize
-
setIndexCacheSize
public void setIndexCacheSize(int indexCacheSize)
Set the indexCacheSize When set using Xbean, values of the form "20 Mb", "1024kb", and "1g" can be used- Parameters:
indexCacheSize
- the indexCacheSize to set
-
isIgnoreMissingJournalfiles
public boolean isIgnoreMissingJournalfiles()
Get the ignoreMissingJournalfiles- Returns:
- the ignoreMissingJournalfiles
-
setIgnoreMissingJournalfiles
public void setIgnoreMissingJournalfiles(boolean ignoreMissingJournalfiles)
Set the ignoreMissingJournalfiles- Parameters:
ignoreMissingJournalfiles
- the ignoreMissingJournalfiles to set
-
isChecksumJournalFiles
public boolean isChecksumJournalFiles()
-
isCheckForCorruptJournalFiles
public boolean isCheckForCorruptJournalFiles()
-
setChecksumJournalFiles
public void setChecksumJournalFiles(boolean checksumJournalFiles)
-
setCheckForCorruptJournalFiles
public void setCheckForCorruptJournalFiles(boolean checkForCorruptJournalFiles)
-
getPurgeRecoveredXATransactionStrategy
public String getPurgeRecoveredXATransactionStrategy()
-
setPurgeRecoveredXATransactionStrategy
public void setPurgeRecoveredXATransactionStrategy(String purgeRecoveredXATransactionStrategy)
-
setBrokerService
public void setBrokerService(BrokerService brokerService)
- Specified by:
setBrokerService
in interfaceBrokerServiceAware
- Overrides:
setBrokerService
in classLockableServiceSupport
-
getPreallocationScope
public String getPreallocationScope()
-
setPreallocationScope
public void setPreallocationScope(String preallocationScope)
-
getPreallocationStrategy
public String getPreallocationStrategy()
-
setPreallocationStrategy
public void setPreallocationStrategy(String preallocationStrategy)
-
isArchiveDataLogs
public boolean isArchiveDataLogs()
-
setArchiveDataLogs
public void setArchiveDataLogs(boolean archiveDataLogs)
-
getDirectoryArchive
public File getDirectoryArchive()
-
setDirectoryArchive
public void setDirectoryArchive(File directoryArchive)
-
isConcurrentStoreAndDispatchQueues
public boolean isConcurrentStoreAndDispatchQueues()
-
setConcurrentStoreAndDispatchQueues
public void setConcurrentStoreAndDispatchQueues(boolean concurrentStoreAndDispatch)
-
isConcurrentStoreAndDispatchTopics
public boolean isConcurrentStoreAndDispatchTopics()
-
setConcurrentStoreAndDispatchTopics
public void setConcurrentStoreAndDispatchTopics(boolean concurrentStoreAndDispatch)
-
getMaxAsyncJobs
public int getMaxAsyncJobs()
-
setMaxAsyncJobs
public void setMaxAsyncJobs(int maxAsyncJobs)
- Parameters:
maxAsyncJobs
- the maxAsyncJobs to set
-
setDatabaseLockedWaitDelay
@Deprecated public void setDatabaseLockedWaitDelay(int databaseLockedWaitDelay) throws IOException
Deprecated.useLocker.setLockAcquireSleepInterval(long)
instead- Parameters:
databaseLockedWaitDelay
- the databaseLockedWaitDelay to set- Throws:
IOException
-
getForceRecoverIndex
public boolean getForceRecoverIndex()
-
setForceRecoverIndex
public void setForceRecoverIndex(boolean forceRecoverIndex)
-
isArchiveCorruptedIndex
public boolean isArchiveCorruptedIndex()
-
setArchiveCorruptedIndex
public void setArchiveCorruptedIndex(boolean archiveCorruptedIndex)
-
getIndexLFUEvictionFactor
public float getIndexLFUEvictionFactor()
-
setIndexLFUEvictionFactor
public void setIndexLFUEvictionFactor(float indexLFUEvictionFactor)
-
isUseIndexLFRUEviction
public boolean isUseIndexLFRUEviction()
-
setUseIndexLFRUEviction
public void setUseIndexLFRUEviction(boolean useIndexLFRUEviction)
-
setEnableIndexDiskSyncs
public void setEnableIndexDiskSyncs(boolean diskSyncs)
-
isEnableIndexDiskSyncs
public boolean isEnableIndexDiskSyncs()
-
setEnableIndexRecoveryFile
public void setEnableIndexRecoveryFile(boolean enable)
-
isEnableIndexRecoveryFile
public boolean isEnableIndexRecoveryFile()
-
setEnableIndexPageCaching
public void setEnableIndexPageCaching(boolean enable)
-
isEnableIndexPageCaching
public boolean isEnableIndexPageCaching()
-
getCompactAcksAfterNoGC
public int getCompactAcksAfterNoGC()
-
setCompactAcksAfterNoGC
public void setCompactAcksAfterNoGC(int compactAcksAfterNoGC)
Sets the number of GC cycles where no journal logs were removed before an attempt to move forward all the acks in the last log that contains them and is otherwise unreferenced.A value of -1 will disable this feature.
- Parameters:
compactAcksAfterNoGC
- Number of empty GC cycles before we rewrite old ACKS.
-
isCompactAcksIgnoresStoreGrowth
public boolean isCompactAcksIgnoresStoreGrowth()
-
setCompactAcksIgnoresStoreGrowth
public void setCompactAcksIgnoresStoreGrowth(boolean compactAcksIgnoresStoreGrowth)
Configure if Ack compaction will occur regardless of continued growth of the journal logs meaning that the store has not run out of space yet. Because the compaction operation can be costly this value is defaulted to off and the Ack compaction is only done when it seems that the store cannot grow and larger.- Parameters:
compactAcksIgnoresStoreGrowth
- the compactAcksIgnoresStoreGrowth to set
-
isEnableAckCompaction
public boolean isEnableAckCompaction()
Returns whether Ack compaction is enabled- Returns:
- enableAckCompaction
-
setEnableAckCompaction
public void setEnableAckCompaction(boolean enableAckCompaction)
Configure if the Ack compaction task should be enabled to run- Parameters:
enableAckCompaction
-
-
isEnableSubscriptionStatistics
public boolean isEnableSubscriptionStatistics()
Whether non-blocking subscription statistics have been enabled- Returns:
-
setEnableSubscriptionStatistics
public void setEnableSubscriptionStatistics(boolean enableSubscriptionStatistics)
Enable caching statistics for each subscription to allow non-blocking retrieval of metrics. This could incur some overhead to compute if there are a lot of subscriptions.- Parameters:
enableSubscriptionStatistics
-
-
getStore
public KahaDBStore getStore()
-
createTransactionInfo
public KahaTransactionInfo createTransactionInfo(TransactionId txid)
-
createDefaultLocker
public Locker createDefaultLocker() throws IOException
Description copied from interface:Lockable
Create a default locker- Specified by:
createDefaultLocker
in interfaceLockable
- Returns:
- default locker
- Throws:
IOException
-
init
public void init() throws Exception
Description copied from class:LockableServiceSupport
Initialize resources before locking- Specified by:
init
in classLockableServiceSupport
- Throws:
Exception
-
setTransactionIdTransformer
public void setTransactionIdTransformer(TransactionIdTransformer transactionIdTransformer)
- Specified by:
setTransactionIdTransformer
in interfaceTransactionIdTransformerAware
-
createJobSchedulerStore
public JobSchedulerStore createJobSchedulerStore() throws IOException, UnsupportedOperationException
Description copied from interface:PersistenceAdapter
Creates and returns a new Job Scheduler store instance.- Specified by:
createJobSchedulerStore
in interfacePersistenceAdapter
- Returns:
- a new JobSchedulerStore instance if this Persistence adapter provides its own.
- Throws:
IOException
- If an error occurs while creating the new JobSchedulerStore.UnsupportedOperationException
- If this adapter does not provide its own scheduler store implementation.
-
isPersistNoLocal
public boolean isPersistNoLocal()
- Specified by:
isPersistNoLocal
in interfaceNoLocalSubscriptionAware
-
setCleanupOnStop
public void setCleanupOnStop(boolean cleanupOnStop)
-
getCleanupOnStop
public boolean getCleanupOnStop()
-
-