diff --git a/txlcn-tc/pom.xml b/txlcn-tc/pom.xml
index 1e3832b6db087d875f98a724150a41d3c8e6d120..0b91496676fa8c40a16c0ff0e4633d535af5dbfd 100644
--- a/txlcn-tc/pom.xml
+++ b/txlcn-tc/pom.xml
@@ -33,6 +33,12 @@
provided
+
+ com.alibaba
+ dubbo
+ provided
+
+
com.codingapi.txlcn
txlcn-p6spy
@@ -82,7 +88,6 @@
mysql-connector-java
test
-
diff --git a/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/DubboConsumerRpcTransactionInterceptor.java b/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/DubboConsumerRpcTransactionInterceptor.java
new file mode 100644
index 0000000000000000000000000000000000000000..e33a1738db2b483b0aa97bbd1979cdee4af8f7f7
--- /dev/null
+++ b/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/DubboConsumerRpcTransactionInterceptor.java
@@ -0,0 +1,18 @@
+package com.codingapi.txlcn.tc.rpc;
+
+import com.alibaba.dubbo.common.Constants;
+import com.alibaba.dubbo.common.extension.Activate;
+import com.alibaba.dubbo.rpc.*;
+
+/**
+ * @author zhanghonglong
+ * @date 2020/10/28 11:01
+ */
+@Activate(group = Constants.CONSUMER)
+public class DubboConsumerRpcTransactionInterceptor implements Filter {
+ @Override
+ public Result invoke(Invoker> invoker, Invocation invocation) throws RpcException {
+ RpcTransactionContext.getInstance().build(invocation.getAttachments()::put);
+ return invoker.invoke(invocation);
+ }
+}
diff --git a/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/DubboProviderRpcTransactionInterceptor.java b/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/DubboProviderRpcTransactionInterceptor.java
new file mode 100644
index 0000000000000000000000000000000000000000..ed1e50156c696e3b8be4ffb4acd204a6c1060a99
--- /dev/null
+++ b/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/DubboProviderRpcTransactionInterceptor.java
@@ -0,0 +1,18 @@
+package com.codingapi.txlcn.tc.rpc;
+
+import com.alibaba.dubbo.common.Constants;
+import com.alibaba.dubbo.common.extension.Activate;
+import com.alibaba.dubbo.rpc.*;
+
+/**
+ * @author zhanghonglong
+ * @date 2020/10/28 11:01
+ */
+@Activate(group = Constants.PROVIDER)
+public class DubboProviderRpcTransactionInterceptor implements Filter {
+ @Override
+ public Result invoke(Invoker> invoker, Invocation invocation) throws RpcException {
+ RpcTransactionContext.getInstance().invoke(invocation.getAttachments()::get);
+ return invoker.invoke(invocation);
+ }
+}
diff --git a/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/RpcTransactionConfiguration.java b/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/RpcTransactionConfiguration.java
index d51e60e12ddfbddcee6f8b70e66dfb9152e05b78..2e14e9caaa26a7b93691dc74384f662cd1522949 100644
--- a/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/RpcTransactionConfiguration.java
+++ b/txlcn-tc/src/main/java/com/codingapi/txlcn/tc/rpc/RpcTransactionConfiguration.java
@@ -49,7 +49,4 @@ public class RpcTransactionConfiguration {
}
}
-
-
-
}
diff --git a/txlcn-tc/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter b/txlcn-tc/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter
new file mode 100644
index 0000000000000000000000000000000000000000..7dd07058e1b31e67924484b110f0538d344dcf75
--- /dev/null
+++ b/txlcn-tc/src/main/resources/META-INF/dubbo/com.alibaba.dubbo.rpc.Filter
@@ -0,0 +1,2 @@
+DubboConsumerTransactionFilter=com.codingapi.txlcn.tc.rpc.DubboConsumerRpcTransactionInterceptor
+DubboProviderTransactionFilter=com.codingapi.txlcn.tc.rpc.DubboProviderRpcTransactionInterceptor
\ No newline at end of file