public class MemoryPersistenceAdapter extends Object implements PersistenceAdapter
Constructor and Description |
---|
MemoryPersistenceAdapter() |
Modifier and Type | Method and Description |
---|---|
void |
allowIOResumption() |
protected MemoryMessageStore |
asMemoryMessageStore(Object value) |
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 sync)
checkpoint any
|
void |
commitTransaction(ConnectionContext context)
Commit a persistence transaction
|
JobSchedulerStore |
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 name
|
TopicMessageStore |
createTopicMessageStore(ActiveMQTopic destination)
Factory method to create a new topic message store with the given
destination name
|
TransactionStore |
createTransactionStore()
Factory method to create a new persistent prepared transaction store for
XA recovery
|
void |
deleteAllMessages()
Delete's all the messages in the persistent store.
|
Set<ActiveMQDestination> |
getDestinations()
Returns a set of all the
ActiveMQDestination objects that the
persistence store is aware exist. |
File |
getDirectory() |
long |
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 occurs
|
boolean |
isUseExternalMessageReferences() |
static MemoryPersistenceAdapter |
newInstance(File file) |
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
|
void |
rollbackTransaction(ConnectionContext context)
Rollback a persistence transaction
|
void |
setBrokerName(String brokerName)
Set the name of the broker using the adapter
|
void |
setCreateTransactionStore(boolean create) |
void |
setDirectory(File dir)
Set the directory where any data files should be created
|
void |
setUsageManager(SystemUsage usageManager) |
void |
setUseExternalMessageReferences(boolean useExternalMessageReferences) |
long |
size()
A hint to return the size of the store on disk
|
void |
start() |
void |
stop() |
String |
toString() |
public MemoryPersistenceAdapter()
public Set<ActiveMQDestination> getDestinations()
PersistenceAdapter
ActiveMQDestination
objects that the
persistence store is aware exist.getDestinations
in interface PersistenceAdapter
public static MemoryPersistenceAdapter newInstance(File file)
public MessageStore createQueueMessageStore(ActiveMQQueue destination) throws IOException
PersistenceAdapter
createQueueMessageStore
in interface PersistenceAdapter
IOException
public TopicMessageStore createTopicMessageStore(ActiveMQTopic destination) throws IOException
PersistenceAdapter
createTopicMessageStore
in interface PersistenceAdapter
IOException
public void removeQueueMessageStore(ActiveMQQueue destination)
removeQueueMessageStore
in interface PersistenceAdapter
destination
- Destination to forgetpublic void removeTopicMessageStore(ActiveMQTopic destination)
removeTopicMessageStore
in interface PersistenceAdapter
destination
- Destination to forgetpublic TransactionStore createTransactionStore() throws IOException
PersistenceAdapter
createTransactionStore
in interface PersistenceAdapter
IOException
public void beginTransaction(ConnectionContext context)
PersistenceAdapter
beginTransaction
in interface PersistenceAdapter
public void commitTransaction(ConnectionContext context)
PersistenceAdapter
commitTransaction
in interface PersistenceAdapter
PersistenceAdapter.beginTransaction(ConnectionContext context)
public void rollbackTransaction(ConnectionContext context)
PersistenceAdapter
rollbackTransaction
in interface PersistenceAdapter
PersistenceAdapter.beginTransaction(ConnectionContext context)
public long getLastMessageBrokerSequenceId() throws IOException
getLastMessageBrokerSequenceId
in interface PersistenceAdapter
IOException
public void deleteAllMessages() throws IOException
PersistenceAdapter
deleteAllMessages
in interface PersistenceAdapter
IOException
public boolean isUseExternalMessageReferences()
public void setUseExternalMessageReferences(boolean useExternalMessageReferences)
protected MemoryMessageStore asMemoryMessageStore(Object value)
public void setUsageManager(SystemUsage usageManager)
setUsageManager
in interface PersistenceAdapter
usageManager
- The UsageManager that is controlling the broker's
memory usage.public void setBrokerName(String brokerName)
PersistenceAdapter
setBrokerName
in interface PersistenceAdapter
public void setDirectory(File dir)
PersistenceAdapter
setDirectory
in interface PersistenceAdapter
public File getDirectory()
getDirectory
in interface PersistenceAdapter
public void checkpoint(boolean sync) throws IOException
PersistenceAdapter
checkpoint
in interface PersistenceAdapter
IOException
public long size()
PersistenceAdapter
size
in interface PersistenceAdapter
public void setCreateTransactionStore(boolean create) throws IOException
IOException
public long getLastProducerSequenceId(ProducerId id)
PersistenceAdapter
getLastProducerSequenceId
in interface PersistenceAdapter
id
- the producerId to find a sequenceId forpublic void allowIOResumption()
allowIOResumption
in interface PersistenceAdapter
public JobSchedulerStore createJobSchedulerStore() throws IOException, UnsupportedOperationException
PersistenceAdapter
createJobSchedulerStore
in interface PersistenceAdapter
IOException
- If an error occurs while creating the new JobSchedulerStore.UnsupportedOperationException
- If this adapter does not provide its own
scheduler store implementation.Copyright © 2005–2018 FuseSource, Corp.. All rights reserved.