diff --git a/pigx-common/pigx-common-bom/pom.xml b/pigx-common/pigx-common-bom/pom.xml
index 6fcfa4ec0..2d8d2be11 100644
--- a/pigx-common/pigx-common-bom/pom.xml
+++ b/pigx-common/pigx-common-bom/pom.xml
@@ -44,7 +44,7 @@
3.0.52.ALL
1.12.261
7.3.3
- 1.6.1
+ 1.7.0
7.1
2.17.1
0.33.0
diff --git a/pigx-common/pigx-common-seata/pom.xml b/pigx-common/pigx-common-seata/pom.xml
index 503d993b7..16858cbfe 100644
--- a/pigx-common/pigx-common-seata/pom.xml
+++ b/pigx-common/pigx-common-seata/pom.xml
@@ -41,11 +41,6 @@
com.alibaba.cloud
spring-cloud-starter-alibaba-seata
-
-
- io.seata
- seata-serializer-kryo
-
diff --git a/pigx-common/pigx-common-seata/src/main/java/io/seata/spring/util/SpringProxyUtils.java b/pigx-common/pigx-common-seata/src/main/java/io/seata/spring/util/SpringProxyUtils.java
deleted file mode 100644
index 6b9ded757..000000000
--- a/pigx-common/pigx-common-seata/src/main/java/io/seata/spring/util/SpringProxyUtils.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/**
- * @author lengleng
- * @date 2022/3/29
- */
-package io.seata.spring.util;
-
-import io.seata.common.util.CollectionUtils;
-import io.seata.rm.tcc.remoting.parser.DubboUtil;
-import org.springframework.aop.TargetSource;
-import org.springframework.aop.framework.Advised;
-import org.springframework.aop.framework.AdvisedSupport;
-import org.springframework.aop.support.AopUtils;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Proxy;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Proxy tools base on spring 主要解决 v1.4.2 兼容性问题 https://github.com/seata/seata/issues/3709
- *
- * @author zhangsen
- */
-public class SpringProxyUtils {
-
- private SpringProxyUtils() {
- }
-
- /**
- * Find target class class.
- * @param proxy the proxy
- * @return the class
- * @throws Exception the exception
- */
- public static Class> findTargetClass(Object proxy) throws Exception {
- if (proxy == null) {
- return null;
- }
- if (AopUtils.isAopProxy(proxy) && proxy instanceof Advised) {
- // #issue 3709
- final TargetSource targetSource = ((Advised) proxy).getTargetSource();
- if (!targetSource.isStatic()) {
- return targetSource.getTargetClass();
- }
- return findTargetClass(targetSource.getTarget());
- }
- return proxy.getClass();
- }
-
- public static Class>[] findInterfaces(Object proxy) throws Exception {
- if (AopUtils.isJdkDynamicProxy(proxy)) {
- AdvisedSupport advised = getAdvisedSupport(proxy);
- return getInterfacesByAdvised(advised);
- }
- else {
- return new Class>[] {};
- }
- }
-
- private static Class>[] getInterfacesByAdvised(AdvisedSupport advised) {
- Class>[] interfaces = advised.getProxiedInterfaces();
- if (interfaces.length > 0) {
- return interfaces;
- }
- else {
- throw new IllegalStateException("Find the jdk dynamic proxy class that does not implement the interface");
- }
- }
-
- /**
- * Gets advised support.
- * @param proxy the proxy
- * @return the advised support
- * @throws Exception the exception
- */
- public static AdvisedSupport getAdvisedSupport(Object proxy) throws Exception {
- Field h;
- if (AopUtils.isJdkDynamicProxy(proxy)) {
- h = proxy.getClass().getSuperclass().getDeclaredField("h");
- }
- else {
- h = proxy.getClass().getDeclaredField("CGLIB$CALLBACK_0");
- }
- h.setAccessible(true);
- Object dynamicAdvisedInterceptor = h.get(proxy);
- Field advised = dynamicAdvisedInterceptor.getClass().getDeclaredField("advised");
- advised.setAccessible(true);
- return (AdvisedSupport) advised.get(dynamicAdvisedInterceptor);
- }
-
- /**
- * Is proxy boolean.
- * @param bean the bean
- * @return the boolean
- */
- public static boolean isProxy(Object bean) {
- if (bean == null) {
- return false;
- }
- // check dubbo proxy ?
- return DubboUtil.isDubboProxyName(bean.getClass().getName())
- || (Proxy.class.isAssignableFrom(bean.getClass()) || AopUtils.isAopProxy(bean));
- }
-
- /**
- * Get the target class , get the interface of its agent if it is a Proxy
- * @param proxy the proxy
- * @return target interface
- * @throws Exception the exception
- */
- public static Class> getTargetInterface(Object proxy) throws Exception {
- if (proxy == null) {
- throw new IllegalArgumentException("proxy can not be null");
- }
-
- // jdk proxy
- if (Proxy.class.isAssignableFrom(proxy.getClass())) {
- Proxy p = (Proxy) proxy;
- return p.getClass().getInterfaces()[0];
- }
-
- return getTargetClass(proxy);
- }
-
- /**
- * Get the class type of the proxy target object, if hadn't a target object, return
- * the interface of the proxy
- * @param proxy the proxy
- * @return target interface
- * @throws Exception the exception
- */
- protected static Class> getTargetClass(Object proxy) throws Exception {
- if (proxy == null) {
- throw new IllegalArgumentException("proxy can not be null");
- }
- // not proxy
- if (!AopUtils.isAopProxy(proxy)) {
- return proxy.getClass();
- }
- AdvisedSupport advisedSupport = getAdvisedSupport(proxy);
- Object target = advisedSupport.getTargetSource().getTarget();
- /*
- * the Proxy of sofa:reference has no target
- */
- if (target == null) {
- if (CollectionUtils.isNotEmpty(advisedSupport.getProxiedInterfaces())) {
- return advisedSupport.getProxiedInterfaces()[0];
- }
- else {
- return proxy.getClass();
- }
- }
- else {
- return getTargetClass(target);
- }
- }
-
- /**
- * get the all interfaces of bean, if the bean is null, then return empty array
- * @param bean the bean
- * @return target interface
- */
- public static Class>[] getAllInterfaces(Object bean) {
- Set> interfaces = new HashSet<>();
- if (bean != null) {
- Class> clazz = bean.getClass();
- while (!Object.class.getName().equalsIgnoreCase(clazz.getName())) {
- Class>[] clazzInterfaces = clazz.getInterfaces();
- interfaces.addAll(Arrays.asList(clazzInterfaces));
- clazz = clazz.getSuperclass();
- }
- }
- return interfaces.toArray(new Class[0]);
- }
-
-}
diff --git a/pigx-common/pigx-common-seata/src/main/resources/seata-config.yml b/pigx-common/pigx-common-seata/src/main/resources/seata-config.yml
index b29b09454..415f53b1e 100644
--- a/pigx-common/pigx-common-seata/src/main/resources/seata-config.yml
+++ b/pigx-common/pigx-common-seata/src/main/resources/seata-config.yml
@@ -15,7 +15,7 @@ seata:
tm-rollback-retry-count: 3 # 一阶段全局回滚结果上报TC重试次数(默认1次,建议大于1)
undo:
data-validation: true # 二阶段回滚镜像校验(默认true开启)
- log-serialization: kryo # undo序列化方式(默认jackson 不支持 LocalDateTime)
+ log-serialization: jackson # undo序列化方式(默认jackson 不支持 LocalDateTime)
log-table: undo_log # 自定义undo表名(默认undo_log)
log:
exceptionRate: 100 # 日志异常输出概率(默认100)