Skip to content

Commit 0ac650a

Browse files
committed
tx:clean
1 parent 010af39 commit 0ac650a

5 files changed

Lines changed: 25 additions & 5 deletions

File tree

example/spring-demo-client/src/main/java/com/codingapi/example/client/TransactionConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.codingapi.example.client;
22

3-
import com.codingapi.tx.client.aspect.DTXInterceptor;
3+
import com.codingapi.tx.client.aspect.interceptor.DTXInterceptor;
44
import com.codingapi.tx.client.aspect.weave.DTXLogicWeaver;
55
import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator;
66
import org.springframework.boot.autoconfigure.transaction.TransactionProperties;

tx-client/src/main/java/com/codingapi/tx/client/support/separate/CustomizableTransactionSeparator.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ public TXLCNTransactionState loadTransactionState(TxTransactionInfo txTransactio
2727
if (txTransactionInfo.isTransactionStart()) {
2828
// 发起方时,对于只加入DTX的事务单元走默认处理
2929
if (txTransactionInfo.getPropagation().equals(DTXPropagation.SUPPORTS)) {
30-
return TXLCNTransactionState.DEFAULT;
30+
return TXLCNTransactionState.NON;
3131
}
3232
return TXLCNTransactionState.STARTING;
3333
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.codingapi.tx.client.support.separate;
2+
3+
/**
4+
* Description:
5+
* Date: 19-1-13 下午5:19
6+
*
7+
* @author ujued
8+
*/
9+
10+
public class NoTransactionControl implements TXLCNTransactionControl {
11+
}

tx-client/src/main/java/com/codingapi/tx/client/support/separate/TXLCNTransactionServiceExecutor.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,10 @@ public Object transactionRunning(TxTransactionInfo info) throws Throwable {
4747

4848
// 3. 获取事务状态
4949
TXLCNTransactionState lcnTransactionState = lcnTransactionSeparator.loadTransactionState(info);
50+
// 3.1 如果不参与分布式事务立即终止
51+
if (lcnTransactionState.equals(TXLCNTransactionState.NON)) {
52+
return info.getBusinessCallback().call();
53+
}
5054

5155
// 4. 获取bean
5256
TXLCNTransactionControl lcnTransactionControl =
@@ -70,8 +74,8 @@ public Object transactionRunning(TxTransactionInfo info) throws Throwable {
7074
txLogger.trace(info.getGroupId(), info.getUnitId(), "transaction", "business code success");
7175
lcnTransactionControl.onBusinessCodeSuccess(info, result);
7276
return result;
73-
}catch (BeforeBusinessException e){
74-
log.error("business",e);
77+
} catch (BeforeBusinessException e) {
78+
log.error("business", e);
7579
throw e;
7680
} catch (Throwable e) {
7781
// 5.5 业务执行失败

tx-client/src/main/java/com/codingapi/tx/client/support/separate/TXLCNTransactionState.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,15 @@ public enum TXLCNTransactionState {
1717
*/
1818
RUNNING("running"),
1919

20+
/**
21+
* 默认事务
22+
*/
23+
DEFAULT("default"),
24+
2025
/**
2126
* 不参与分布式事务
2227
*/
23-
DEFAULT("default");
28+
NON("non");
2429

2530

2631
private String code;

0 commit comments

Comments
 (0)