txlcn-tc/src/main/java/com/codingapi/txlcn/tc/core/template/TransactionControlTemplate.java
public void joinGroup(String groupId, String unitId, String transactionType, TransactionInfo transactionInfo)
            throws TransactionException {
        try {
            txLogger.txTrace(groupId, unitId, "join group > transaction type: {}", transactionType);

            reliableMessenger.joinGroup(groupId, unitId, transactionType, DTXLocalContext.transactionState(globalContext.dtxState(groupId)));

            txLogger.txTrace(groupId, unitId, "join group message over.");

            // 异步检测
            dtxChecking.startDelayCheckingAsync(groupId, unitId, transactionType);

            // 缓存参与方切面信息
            aspectLogger.trace(groupId, unitId, transactionInfo);
        } catch (RpcException e) {
            dtxExceptionHandler.handleJoinGroupMessageException(Arrays.asList(groupId, unitId, transactionType), e);
        } catch (LcnBusinessException e) {
            dtxExceptionHandler.handleJoinGroupBusinessException(Arrays.asList(groupId, unitId, transactionType), e);
        }
        txLogger.txTrace(groupId, unitId, "join group logic over");
    }
public void joinGroup(String groupId, String unitId, String transactionType, TransactionInfo transactionInfo)
            throws TransactionException {
        try {
            txLogger.txTrace(groupId, unitId, "join group > transaction type: {}", transactionType);

            reliableMessenger.joinGroup(groupId, unitId, transactionType, DTXLocalContext.transactionState(globalContext.dtxState(groupId)));

            txLogger.txTrace(groupId, unitId, "join group message over.");

            // 异步检测
            dtxChecking.startDelayCheckingAsync(groupId, unitId, transactionType);

            // 缓存参与方切面信息
            aspectLogger.trace(groupId, unitId, transactionInfo);
        } catch (RpcException e) {
            dtxExceptionHandler.handleJoinGroupMessageException(Arrays.asList(groupId, unitId, transactionType), e);
        } catch (LcnBusinessException e) {
            dtxExceptionHandler.handleJoinGroupBusinessException(Arrays.asList(groupId, unitId, transactionType), e);
        }
        txLogger.txTrace(groupId, unitId, "join group logic over");
    }
public void joinGroup ( String groupId , String unitId , String transactionType , TransactionInfo transactionInfo ) throws TransactionException { try { txLogger . txTrace ( groupId , unitId , "join group > transaction type: {}" , transactionType ) ; reliableMessenger . joinGroup ( groupId , unitId , transactionType , DTXLocalContext . transactionState ( globalContext . dtxState ( groupId ) ) ) ; txLogger . txTrace ( groupId , unitId , "join group message over." ) ; // 异步检测 dtxChecking . startDelayCheckingAsync ( groupId , unitId , transactionType ) ; // 缓存参与方切面信息 aspectLogger . trace ( groupId , unitId , transactionInfo ) ; } catch ( RpcException e ) { dtxExceptionHandler . handleJoinGroupMessageException ( Arrays . asList ( groupId , unitId , transactionType ) , e ) ; } catch ( LcnBusinessException e ) { dtxExceptionHandler . handleJoinGroupBusinessException ( Arrays . asList ( groupId , unitId , transactionType ) , e ) ; } txLogger . txTrace ( groupId , unitId , "join group logic over" ) ; }
Client加入事务组操作集合

@param groupId         groupId
@param unitId          unitId
@param transactionType transactionType
@param transactionInfo txTrace
@throws TransactionException 加入事务组失败时抛出
Client加入事务组操作集合