Skip to content

Commit 5a3e017

Browse files
5.0.0.RELEASE
1 parent b24b1ef commit 5a3e017

File tree

4 files changed

+36
-17
lines changed

4 files changed

+36
-17
lines changed

pom.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@
2929
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
3030
<java.version>1.8</java.version>
3131

32-
<codingapi.txlcn.version>5.0.0</codingapi.txlcn.version>
33-
<springcloud.version>Finchley.SR2</springcloud.version>
32+
<codingapi.txlcn.version>5.0.0.RELEASE</codingapi.txlcn.version>
33+
<springcloud.version>Greenwich.RELEASE</springcloud.version>
3434
<lombok.version>1.18.0</lombok.version>
3535
</properties>
3636

3737
<parent>
3838
<groupId>org.springframework.boot</groupId>
3939
<artifactId>spring-boot-starter-parent</artifactId>
40-
<version>2.0.5.RELEASE</version>
40+
<version>2.1.2.RELEASE</version>
4141
<relativePath/>
4242
</parent>
4343

spring-demo-client/src/main/java/com/codingapi/txlcn/demo/service1/DemoServiceImpl.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@
44
import com.codingapi.example.common.spring.DDemoClient;
55
import com.codingapi.example.common.spring.EDemoClient;
66
import com.codingapi.txlcn.common.util.Transactions;
7-
import com.codingapi.txlcn.tc.annotation.TxcTransaction;
87
import com.codingapi.txlcn.tc.core.DTXLocalContext;
98
import lombok.extern.slf4j.Slf4j;
109
import org.springframework.beans.factory.annotation.Autowired;
@@ -36,7 +35,6 @@ public DemoServiceImpl(ClientDemoMapper demoMapper, DDemoClient dDemoClient, EDe
3635
}
3736

3837
@Override
39-
@TxcTransaction
4038
public String execute(String value) {
4139
/*
4240
* 注意 5.0.0 请用 DTXLocal 类

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

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package com.codingapi.txlcn.demo.service1;
22

3-
import com.codingapi.txlcn.tc.aspect.interceptor.DTXInterceptor;
3+
import com.codingapi.txlcn.common.util.Transactions;
4+
import com.codingapi.txlcn.tc.aspect.interceptor.TxLcnInterceptor;
45
import com.codingapi.txlcn.tc.aspect.weave.DTXLogicWeaver;
56
import org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator;
67
import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
7-
import org.springframework.boot.autoconfigure.transaction.TransactionProperties;
8-
import org.springframework.boot.context.properties.EnableConfigurationProperties;
8+
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
99
import org.springframework.context.annotation.Bean;
1010
import org.springframework.context.annotation.Configuration;
1111
import org.springframework.transaction.PlatformTransactionManager;
@@ -22,25 +22,44 @@
2222
*/
2323
@Configuration
2424
@EnableTransactionManagement
25-
@EnableConfigurationProperties(TransactionProperties.class)
2625
public class TransactionConfiguration {
2726

28-
@ConditionalOnBean(DTXLogicWeaver.class)
27+
/**
28+
* 本地事务配置
29+
* @param transactionManager
30+
* @return
31+
*/
2932
@Bean
30-
public TransactionInterceptor transactionInterceptor(PlatformTransactionManager transactionManager, DTXLogicWeaver dtxLogicWeaver) {
33+
@ConditionalOnMissingBean
34+
public TransactionInterceptor transactionInterceptor(PlatformTransactionManager transactionManager) {
3135
Properties properties = new Properties();
3236
properties.setProperty("*", "PROPAGATION_REQUIRED,-Throwable");
37+
TransactionInterceptor transactionInterceptor = new TransactionInterceptor();
38+
transactionInterceptor.setTransactionManager(transactionManager);
39+
transactionInterceptor.setTransactionAttributes(properties);
40+
return transactionInterceptor;
41+
}
3342

34-
DTXInterceptor dtxInterceptor = new DTXInterceptor(dtxLogicWeaver);
35-
dtxInterceptor.setTransactionManager(transactionManager);
36-
dtxInterceptor.setTransactionAttributes(properties);
37-
return dtxInterceptor;
43+
/**
44+
* 分布式事务配置 设置为LCN模式
45+
* @param dtxLogicWeaver
46+
* @return
47+
*/
48+
@ConditionalOnBean(DTXLogicWeaver.class)
49+
@Bean
50+
public TxLcnInterceptor txLcnInterceptor(DTXLogicWeaver dtxLogicWeaver) {
51+
TxLcnInterceptor txLcnInterceptor = new TxLcnInterceptor(dtxLogicWeaver);
52+
Properties properties = new Properties();
53+
properties.setProperty(Transactions.DTX_TYPE,Transactions.LCN);
54+
properties.setProperty(Transactions.DTX_PROPAGATION, "REQUIRED");
55+
txLcnInterceptor.setTransactionAttributes(properties);
56+
return txLcnInterceptor;
3857
}
3958

4059
@Bean
4160
public BeanNameAutoProxyCreator beanNameAutoProxyCreator() {
4261
BeanNameAutoProxyCreator beanNameAutoProxyCreator = new BeanNameAutoProxyCreator();
43-
beanNameAutoProxyCreator.setInterceptorNames("transactionInterceptor");
62+
beanNameAutoProxyCreator.setInterceptorNames("txLcnInterceptor","transactionInterceptor");
4463
beanNameAutoProxyCreator.setBeanNames("*Impl");
4564
return beanNameAutoProxyCreator;
4665
}

spring-demo-client/src/main/resources/application.properties

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,6 @@ ribbon.ConnectTimeout=5000
2121

2222

2323
## tx-manager 配置
24-
#tx-lcn.client.manager-address=127.0.0.1:8070
24+
#tx-lcn.client.manager-address=127.0.0.1:8070
25+
26+
#tx-lcn.ribbon.loadbalancer.dtx.enabled=true

0 commit comments

Comments
 (0)