net.sf.dropboxmq
Class DropboxTransaction

java.lang.Object
  extended by net.sf.dropboxmq.DropboxTransaction

public class DropboxTransaction
extends Object

Created: 09 Oct 2005

Version:
$Revision: 231 $, $Date: 2011-08-12 21:50:47 -0600 (Fri, 12 Aug 2011) $
Author:
Dwayne Schultz

Nested Class Summary
static class DropboxTransaction.InLocalTransactionException
           
(package private) static class DropboxTransaction.LogData
           
static class DropboxTransaction.NotAnXIDException
           
static class DropboxTransaction.ProtocolException
           
static class DropboxTransaction.TransactionException
           
 
Constructor Summary
DropboxTransaction(String instanceId, boolean transacted, int acknowledgeMode, Configuration configuration)
           
 
Method Summary
 void acknowledge(File readMessageFile)
           
(package private)  void addParsedLine(String type, TransactionData data, DropboxTransaction.LogData localLogData, int lineNo, File transactionFile)
           
(package private)  void addReceivedMessage(File messageFile, File originalFile, File commitFile, File rollbackFile)
           
(package private)  void addSentMessage(File messageFile, File commitFile)
           
(package private)  void checkClosed()
           
(package private)  void checkCommitOrRollback(boolean distributedInvocation)
           
 void checkUnsubscribe(File subscriptionDir)
           
 void close()
           
 void commit()
           
 void commit(String distributedTransactionId, boolean onePhase)
           
 void completeReparentingMessageToChild(Object messageDataObject)
           
static void createTransactionDirs(Configuration configuration)
           
(package private)  void deliverMessage(MessageListener receiversMessageListener, Message message)
           
(package private)  void doCommit(File preCommittingFile, DropboxTransaction.LogData localLogData)
           
(package private)  void doRecover(File rollingBackFile, DropboxTransaction.LogData localLogData)
           
(package private)  void doRollback(File preRollbackFile, DropboxTransaction.LogData localLogData)
           
 void end(String currentTransactionId)
           
 int getAcknowledgeMode()
           
 Configuration getConfiguration()
           
 DropboxTransaction.LogData getLogData()
           
 MessageListener getMessageListener()
           
 List getPreparedTransactionIds()
           
(package private)  boolean isAutoAcknowledge()
           
(package private)  boolean isDistributed()
           
(package private)  boolean isInTransaction()
           
 boolean isTransacted()
           
(package private)  void logMessage(String type, TransactionData data, BufferedWriter transactionLog)
           
(package private)  DropboxTransaction.LogData newLogData()
           
(package private)  void parseLine(String line, DropboxTransaction.LogData localLogData, int lineNo, File transactionFile)
           
 void prepare(String unassociatedTransactionId)
           
(package private)  void readTransactionLog(File transactionFile, DropboxTransaction.LogData localLogData)
           
 void recover()
           
 void resume(String unassociatedTransactionId)
           
 void rollback()
           
 void rollback(String distributedTransactionId)
           
 void rollbackReparentingFromChild(Object messageDataObject)
           
 void setMessageListener(MessageListener messageListener)
           
 void start(String newTransactionId, boolean isDistributed)
           
 void startLocal()
           
(package private)  void startPassively()
           
 Object startReparentingMessageToChild(MessageImpl message, DropboxTransaction otherTransaction)
           
protected  String toObjectString()
           
(package private)  File writeTransactionLog()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DropboxTransaction

public DropboxTransaction(String instanceId,
                          boolean transacted,
                          int acknowledgeMode,
                          Configuration configuration)
Method Detail

createTransactionDirs

public static void createTransactionDirs(Configuration configuration)
                                  throws FileSystem.FileSystemException
Throws:
FileSystem.FileSystemException

getLogData

public DropboxTransaction.LogData getLogData()

getConfiguration

public Configuration getConfiguration()

isTransacted

public boolean isTransacted()

getAcknowledgeMode

public int getAcknowledgeMode()

getMessageListener

public MessageListener getMessageListener()

setMessageListener

public void setMessageListener(MessageListener messageListener)

isInTransaction

boolean isInTransaction()

isDistributed

boolean isDistributed()

isAutoAcknowledge

boolean isAutoAcknowledge()

startLocal

public void startLocal()
                throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

startPassively

void startPassively()
              throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

start

public void start(String newTransactionId,
                  boolean isDistributed)
           throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

end

public void end(String currentTransactionId)
         throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

writeTransactionLog

File writeTransactionLog()
                   throws IOException,
                          FileSystem.FileSystemException
Throws:
IOException
FileSystem.FileSystemException

logMessage

void logMessage(String type,
                TransactionData data,
                BufferedWriter transactionLog)
          throws IOException
Throws:
IOException

resume

public void resume(String unassociatedTransactionId)
            throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

readTransactionLog

void readTransactionLog(File transactionFile,
                        DropboxTransaction.LogData localLogData)
                  throws IOException,
                         DropboxTransaction.TransactionException
Throws:
IOException
DropboxTransaction.TransactionException

parseLine

void parseLine(String line,
               DropboxTransaction.LogData localLogData,
               int lineNo,
               File transactionFile)
         throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

addParsedLine

void addParsedLine(String type,
                   TransactionData data,
                   DropboxTransaction.LogData localLogData,
                   int lineNo,
                   File transactionFile)
             throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

prepare

public void prepare(String unassociatedTransactionId)
             throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

commit

public void commit()
            throws JMSException
Throws:
JMSException

commit

public void commit(String distributedTransactionId,
                   boolean onePhase)
            throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

newLogData

DropboxTransaction.LogData newLogData()

checkCommitOrRollback

void checkCommitOrRollback(boolean distributedInvocation)
                     throws JMSException
Throws:
JMSException

checkClosed

void checkClosed()
           throws IllegalStateException
Throws:
IllegalStateException

doCommit

void doCommit(File preCommittingFile,
              DropboxTransaction.LogData localLogData)
        throws FileSystem.FileSystemException
Throws:
FileSystem.FileSystemException

rollback

public void rollback()
              throws JMSException
Throws:
JMSException

rollback

public void rollback(String distributedTransactionId)
              throws DropboxTransaction.TransactionException
Throws:
DropboxTransaction.TransactionException

doRollback

void doRollback(File preRollbackFile,
                DropboxTransaction.LogData localLogData)
          throws FileSystem.FileSystemException,
                 IOException
Throws:
FileSystem.FileSystemException
IOException

recover

public void recover()
             throws JMSException
Throws:
JMSException

doRecover

void doRecover(File rollingBackFile,
               DropboxTransaction.LogData localLogData)
         throws FileSystem.FileSystemException
Throws:
FileSystem.FileSystemException

acknowledge

public void acknowledge(File readMessageFile)
                 throws JMSException
Throws:
JMSException

getPreparedTransactionIds

public List getPreparedTransactionIds()

close

public void close()
           throws JMSException
Throws:
JMSException

addSentMessage

void addSentMessage(File messageFile,
                    File commitFile)
              throws JMSException
Throws:
JMSException

addReceivedMessage

void addReceivedMessage(File messageFile,
                        File originalFile,
                        File commitFile,
                        File rollbackFile)
                  throws JMSException
Throws:
JMSException

deliverMessage

void deliverMessage(MessageListener receiversMessageListener,
                    Message message)

checkUnsubscribe

public void checkUnsubscribe(File subscriptionDir)
                      throws JMSException
Throws:
JMSException

startReparentingMessageToChild

public Object startReparentingMessageToChild(MessageImpl message,
                                             DropboxTransaction otherTransaction)
                                      throws JMSException
Throws:
JMSException

completeReparentingMessageToChild

public void completeReparentingMessageToChild(Object messageDataObject)

rollbackReparentingFromChild

public void rollbackReparentingFromChild(Object messageDataObject)

toObjectString

protected final String toObjectString()