PersistenceManager.java |
/* * JBossMQ, the OpenSource JMS implementation * * Distributable under LGPL license. See terms of license at gnu.org. */ package org.jboss.mq.pm; import javax.jms.JMSException; import org.jboss.mq.SpyDestination; import org.jboss.mq.server.JMSDestination; import org.jboss.mq.server.MessageCache; import org.jboss.mq.server.MessageReference; /** * This class allows provides the base for user supplied persistence packages. * * @author Hiram Chirino (Cojonudo14@hotmail.com) * @author Paul Kendall (paul.kendall@orion.co.nz) * @author <a href="mailto:adrian@jboss.org">Adrian Brock</a> * @version $Revision: 1.12 $ */ public interface PersistenceManager { // Constants ----------------------------------------------------- // Public -------------------------------------------------------- /** * Get the message cache * * @return the instance of the message cache */ MessageCache getMessageCacheInstance(); /** * Create and return a unique transaction id. * * @return the transaction * @throws JMSException for any error */ Tx createPersistentTx() throws javax.jms.JMSException; /** * Commit the transaction to the persistent store. * * @param txId Description of Parameter * @throws JMSException for any error */ void commitPersistentTx(Tx txId) throws javax.jms.JMSException; /** * Rollback the transaction. * * @param txId Description of Parameter * @throws JMSException for any error */ void rollbackPersistentTx(Tx txId) throws javax.jms.JMSException; /** * Get a transaction manager. * * @return the transaction manager * @throws JMSException for any error */ TxManager getTxManager(); /** * Add a message to the persistent store. If the message is part of a * transaction, txId is not null. * * @param message the message * @param txId the transaction * @throws JMSException for any error */ void add(MessageReference message, Tx txId) throws JMSException; /** * Restore a queue. * * @param jmsDest the jms destination * @param dest the client destination * @throws JMSException for any error */ void restoreQueue(JMSDestination jmsDest, SpyDestination dest) throws JMSException; /** * Update message in the persistent store. If the message is part of a * transaction, txId is not null (not currently supported). * * @param message * @param txId Description of Parameter * @throws JMSException for any error */ void update(MessageReference message, Tx txId) throws JMSException; /** * Remove message from the persistent store. If the message is part of a * transaction, txId is not null. * * @param message the message * @param txId the transaction * @throws JMSException for any error */ void remove(MessageReference message, Tx txId) throws JMSException; /** * Close a queue * * @param jmsDest the jms destination * @param dest the client destination * @throws JMSException for any error */ void closeQueue(JMSDestination jmsDest, SpyDestination dest) throws JMSException; }
PersistenceManager.java |