com.taobao.metamorphosis.server.assembly
类 TransactionalCommandProcessor

java.lang.Object
  继承者 com.taobao.metamorphosis.server.CommandProcessorFilter
      继承者 com.taobao.metamorphosis.server.assembly.TransactionalCommandProcessor
所有已实现的接口:
TransactionalCommandProcessorMBean, CommandProcessor, Service

public class TransactionalCommandProcessor
extends CommandProcessorFilter
implements TransactionalCommandProcessorMBean

事务命令处理器

作者:
boyan(boyan@taobao.com)

构造方法摘要
TransactionalCommandProcessor(MetaConfig metaConfig, MessageStoreManager storeManager, IdWorker idWorker, CommandProcessor next, TransactionStore transactionStore, StatsManager stasManager)
           
 
方法摘要
 void beginTransaction(SessionContext context, TransactionId xid, int seconds)
           
 void commitTransaction(SessionContext context, TransactionId xid, boolean onePhase)
           
 void commitTransactionHeuristically(String txKey, boolean onePhase)
          人工提交事务
 void completeTransactionHeuristically(String txKey)
          人工完成事务,不提交也不回滚,简单删除
 void dispose()
           
 void forgetTransaction(SessionContext context, TransactionId xid)
           
 int getPreparedTransactionCount()
          返回所有处于prepare状态的xa事务数目
 String[] getPreparedTransactions()
          以下为暴露给JMX MBean的接口方法
 TransactionId[] getPreparedTransactions(SessionContext context, String uniqueQualifier)
           
 Transaction getTransaction(SessionContext context, TransactionId xid)
           
 Map<TransactionId,XATransaction> getXAHeuristicTransactions()
           
 void init()
           
 int prepareTransaction(SessionContext context, TransactionId xid)
           
 void processPutCommand(PutCommand cmd, SessionContext context, PutCallback cb)
           
 void removeTransaction(XATransactionId xid)
           
 void rollbackTransaction(SessionContext context, TransactionId xid)
           
 void rollbackTransactionHeuristically(String txKey)
          人工回滚事务
 
从类 com.taobao.metamorphosis.server.CommandProcessorFilter 继承的方法
getNext, processGetCommand, processGetCommand, processOffsetCommand, processQuitCommand, processStatCommand, processVesionCommand
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

TransactionalCommandProcessor

public TransactionalCommandProcessor(MetaConfig metaConfig,
                                     MessageStoreManager storeManager,
                                     IdWorker idWorker,
                                     CommandProcessor next,
                                     TransactionStore transactionStore,
                                     StatsManager stasManager)
方法详细信息

getPreparedTransactions

public TransactionId[] getPreparedTransactions(SessionContext context,
                                               String uniqueQualifier)
                                        throws Exception
指定者:
接口 CommandProcessor 中的 getPreparedTransactions
覆盖:
CommandProcessorFilter 中的 getPreparedTransactions
抛出:
Exception

beginTransaction

public void beginTransaction(SessionContext context,
                             TransactionId xid,
                             int seconds)
                      throws Exception
指定者:
接口 CommandProcessor 中的 beginTransaction
覆盖:
CommandProcessorFilter 中的 beginTransaction
抛出:
Exception

prepareTransaction

public int prepareTransaction(SessionContext context,
                              TransactionId xid)
                       throws Exception
指定者:
接口 CommandProcessor 中的 prepareTransaction
覆盖:
CommandProcessorFilter 中的 prepareTransaction
抛出:
Exception

commitTransaction

public void commitTransaction(SessionContext context,
                              TransactionId xid,
                              boolean onePhase)
                       throws Exception
指定者:
接口 CommandProcessor 中的 commitTransaction
覆盖:
CommandProcessorFilter 中的 commitTransaction
抛出:
Exception

rollbackTransaction

public void rollbackTransaction(SessionContext context,
                                TransactionId xid)
                         throws Exception
指定者:
接口 CommandProcessor 中的 rollbackTransaction
覆盖:
CommandProcessorFilter 中的 rollbackTransaction
抛出:
Exception

forgetTransaction

public void forgetTransaction(SessionContext context,
                              TransactionId xid)
                       throws Exception
指定者:
接口 CommandProcessor 中的 forgetTransaction
覆盖:
CommandProcessorFilter 中的 forgetTransaction
抛出:
Exception

init

public void init()
指定者:
接口 Service 中的 init
覆盖:
CommandProcessorFilter 中的 init

dispose

public void dispose()
指定者:
接口 Service 中的 dispose
覆盖:
CommandProcessorFilter 中的 dispose

processPutCommand

public void processPutCommand(PutCommand cmd,
                              SessionContext context,
                              PutCallback cb)
                       throws Exception
指定者:
接口 CommandProcessor 中的 processPutCommand
覆盖:
CommandProcessorFilter 中的 processPutCommand
抛出:
Exception

getTransaction

public Transaction getTransaction(SessionContext context,
                                  TransactionId xid)
                           throws MetamorphosisException,
                                  XAException
指定者:
接口 CommandProcessor 中的 getTransaction
覆盖:
CommandProcessorFilter 中的 getTransaction
抛出:
MetamorphosisException
XAException

removeTransaction

public void removeTransaction(XATransactionId xid)
指定者:
接口 CommandProcessor 中的 removeTransaction
覆盖:
CommandProcessorFilter 中的 removeTransaction

getPreparedTransactions

public String[] getPreparedTransactions()
                                 throws Exception
以下为暴露给JMX MBean的接口方法

指定者:
接口 TransactionalCommandProcessorMBean 中的 getPreparedTransactions
返回:
抛出:
Exception

getPreparedTransactionCount

public int getPreparedTransactionCount()
                                throws Exception
从接口 TransactionalCommandProcessorMBean 复制的描述
返回所有处于prepare状态的xa事务数目

指定者:
接口 TransactionalCommandProcessorMBean 中的 getPreparedTransactionCount
返回:
抛出:
Exception

commitTransactionHeuristically

public void commitTransactionHeuristically(String txKey,
                                           boolean onePhase)
                                    throws Exception
从接口 TransactionalCommandProcessorMBean 复制的描述
人工提交事务

指定者:
接口 TransactionalCommandProcessorMBean 中的 commitTransactionHeuristically
抛出:
Exception

getXAHeuristicTransactions

public Map<TransactionId,XATransaction> getXAHeuristicTransactions()

completeTransactionHeuristically

public void completeTransactionHeuristically(String txKey)
                                      throws Exception
从接口 TransactionalCommandProcessorMBean 复制的描述
人工完成事务,不提交也不回滚,简单删除

指定者:
接口 TransactionalCommandProcessorMBean 中的 completeTransactionHeuristically
抛出:
Exception

rollbackTransactionHeuristically

public void rollbackTransactionHeuristically(String txKey)
                                      throws Exception
从接口 TransactionalCommandProcessorMBean 复制的描述
人工回滚事务

指定者:
接口 TransactionalCommandProcessorMBean 中的 rollbackTransactionHeuristically
抛出:
Exception


Copyright © 2010–2013. All rights reserved.