This is an automated email from the ASF dual-hosted git repository.
jimin pushed a commit to branch 2.x
in repository https://gitbox.apache.org/repos/asf/incubator-seata.git
The following commit(s) were added to refs/heads/2.x by this push:
new 8bd23f338e optimize: optimize compatible module pom.xml (#6585)
8bd23f338e is described below
commit 8bd23f338ef91729036e0b21856b1802a2f8a567
Author: jimin <[email protected]>
AuthorDate: Tue May 28 15:44:24 2024 +0800
optimize: optimize compatible module pom.xml (#6585)
---
changes/en-us/2.x.md | 1 +
changes/zh-cn/2.x.md | 1 +
compatible/pom.xml | 11 +-
.../seata/discovery/registry/RegistryProvider.java | 2 +-
.../seata/discovery/registry/RegistryService.java | 4 +-
.../server/ServerTransactionInterceptor.java | 5 +-
.../http/JakartaSeataWebMvcConfigurer.java | 4 +-
.../JakartaTransactionPropagationInterceptor.java | 5 +-
.../integration/http/SeataWebMvcConfigurer.java | 4 +-
.../GlobalTransactionalInterceptorHandler.java | 27 ++--
.../GlobalTransactionalInterceptorParser.java | 5 +-
.../saga/statelang/domain/ExecutionStatus.java | 3 +-
.../statelang/domain/impl/StateInstanceImpl.java | 7 +-
.../io/seata/tm/api/DefaultFailureHandlerImpl.java | 166 +++++++++++----------
14 files changed, 133 insertions(+), 112 deletions(-)
diff --git a/changes/en-us/2.x.md b/changes/en-us/2.x.md
index 5480ee56e5..c8634265e7 100644
--- a/changes/en-us/2.x.md
+++ b/changes/en-us/2.x.md
@@ -145,6 +145,7 @@ Add changes here for all PR submitted to the 2.x branch.
- [[#6578](https://github.com/apache/incubator-seata/pull/6578)] registry.conf
supplemented raft configuration
- [[#6576](https://github.com/apache/incubator-seata/pull/6576)] remove oracle
datatype parser
- [[#6583](https://github.com/apache/incubator-seata/pull/6583)] optimize the
default compilation to be independent of the Git Env
+- [[#6585](https://github.com/apache/incubator-seata/pull/6585)] optimize
compatible module pom.xml
### security:
- [[#6069](https://github.com/apache/incubator-seata/pull/6069)] Upgrade Guava
dependencies to fix security vulnerabilities
diff --git a/changes/zh-cn/2.x.md b/changes/zh-cn/2.x.md
index 5ed10981c3..e54796314a 100644
--- a/changes/zh-cn/2.x.md
+++ b/changes/zh-cn/2.x.md
@@ -144,6 +144,7 @@
- [[#6578](https://github.com/apache/incubator-seata/pull/6578)] registry.conf
补充raft配置
- [[#6576](https://github.com/apache/incubator-seata/pull/6576)] 移除 oracle
数据类型序列化扩展
- [[#6583](https://github.com/apache/incubator-seata/pull/6583)] 优化默认编译不依赖 Git
环境
+- [[#6585](https://github.com/apache/incubator-seata/pull/6585)] 优化 compatible
模块的配置
### security:
- [[#6069](https://github.com/apache/incubator-seata/pull/6069)]
升级Guava依赖版本,修复安全漏洞
diff --git a/compatible/pom.xml b/compatible/pom.xml
index bcfbbbd769..c1f19f9e40 100644
--- a/compatible/pom.xml
+++ b/compatible/pom.xml
@@ -20,21 +20,24 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <parent>
+ <groupId>org.apache.seata</groupId>
+ <artifactId>seata-parent</artifactId>
+ <version>${revision}</version>
+ </parent>
<groupId>io.seata</groupId>
- <version>2.1.0-SNAPSHOT</version>
<modelVersion>4.0.0</modelVersion>
<artifactId>seata-all</artifactId>
<packaging>jar</packaging>
<name>seata-all ${project.version}</name>
<description>compatible with io.seata API</description>
<properties>
- <maven.compiler.source>8</maven.compiler.source>
- <maven.compiler.target>8</maven.compiler.target>
<mockito.version>4.11.0</mockito.version>
<druid.version>1.2.7</druid.version>
<mysql.version>5.1.42</mysql.version>
<mariadb.version>2.7.2</mariadb.version>
<assertj-core.version>3.12.2</assertj-core.version>
+ <maven.git-commit-id.skip>true</maven.git-commit-id.skip>
</properties>
<dependencies>
<dependency>
@@ -121,7 +124,7 @@
<artifactId>junit-jupiter-api</artifactId>
<version>5.8.2</version>
<scope>test</scope>
- </dependency>
+ </dependency>
<dependency>
<groupId>org.apache.seata</groupId>
<artifactId>seata-tcc</artifactId>
diff --git
a/compatible/src/main/java/io/seata/discovery/registry/RegistryProvider.java
b/compatible/src/main/java/io/seata/discovery/registry/RegistryProvider.java
index 275d061155..63a390890f 100644
--- a/compatible/src/main/java/io/seata/discovery/registry/RegistryProvider.java
+++ b/compatible/src/main/java/io/seata/discovery/registry/RegistryProvider.java
@@ -21,7 +21,7 @@ package io.seata.discovery.registry;
* Notes: used for io.seata SPI interface
*/
@Deprecated
-public interface RegistryProvider extends
org.apache.seata.discovery.registry.RegistryProvider{
+public interface RegistryProvider extends
org.apache.seata.discovery.registry.RegistryProvider {
/**
* provide a registry implementation instance
*
diff --git
a/compatible/src/main/java/io/seata/discovery/registry/RegistryService.java
b/compatible/src/main/java/io/seata/discovery/registry/RegistryService.java
index 1c61c12b6c..6162a6f134 100644
--- a/compatible/src/main/java/io/seata/discovery/registry/RegistryService.java
+++ b/compatible/src/main/java/io/seata/discovery/registry/RegistryService.java
@@ -22,4 +22,6 @@ package io.seata.discovery.registry;
* @param <T> the type parameter
*/
@Deprecated
-public interface RegistryService<T> extends
org.apache.seata.discovery.registry.RegistryService<T>{}
+public interface RegistryService<T> extends
org.apache.seata.discovery.registry.RegistryService<T> {
+
+}
diff --git
a/compatible/src/main/java/io/seata/integration/grpc/interceptor/server/ServerTransactionInterceptor.java
b/compatible/src/main/java/io/seata/integration/grpc/interceptor/server/ServerTransactionInterceptor.java
index 659d127f1c..b9472d11f6 100644
---
a/compatible/src/main/java/io/seata/integration/grpc/interceptor/server/ServerTransactionInterceptor.java
+++
b/compatible/src/main/java/io/seata/integration/grpc/interceptor/server/ServerTransactionInterceptor.java
@@ -20,4 +20,7 @@ package io.seata.integration.grpc.interceptor.server;
* The type Server transaction interceptor.
*/
@Deprecated
-public class ServerTransactionInterceptor extends
org.apache.seata.integration.grpc.interceptor.server.ServerTransactionInterceptor{}
+public class ServerTransactionInterceptor
+ extends
org.apache.seata.integration.grpc.interceptor.server.ServerTransactionInterceptor
{
+
+}
diff --git
a/compatible/src/main/java/io/seata/integration/http/JakartaSeataWebMvcConfigurer.java
b/compatible/src/main/java/io/seata/integration/http/JakartaSeataWebMvcConfigurer.java
index c07f06028b..b4edabfa34 100644
---
a/compatible/src/main/java/io/seata/integration/http/JakartaSeataWebMvcConfigurer.java
+++
b/compatible/src/main/java/io/seata/integration/http/JakartaSeataWebMvcConfigurer.java
@@ -20,4 +20,6 @@ package io.seata.integration.http;
* The type Jakarta seata web mvc configurer.
*/
@Deprecated
-public class JakartaSeataWebMvcConfigurer extends
org.apache.seata.integration.http.JakartaSeataWebMvcConfigurer{}
+public class JakartaSeataWebMvcConfigurer extends
org.apache.seata.integration.http.JakartaSeataWebMvcConfigurer {
+
+}
diff --git
a/compatible/src/main/java/io/seata/integration/http/JakartaTransactionPropagationInterceptor.java
b/compatible/src/main/java/io/seata/integration/http/JakartaTransactionPropagationInterceptor.java
index ebe4fa590b..cbadff0b8b 100644
---
a/compatible/src/main/java/io/seata/integration/http/JakartaTransactionPropagationInterceptor.java
+++
b/compatible/src/main/java/io/seata/integration/http/JakartaTransactionPropagationInterceptor.java
@@ -20,4 +20,7 @@ package io.seata.integration.http;
* The type Jakarta transaction propagation interceptor.
*/
@Deprecated
-public class JakartaTransactionPropagationInterceptor extends
org.apache.seata.integration.http.JakartaTransactionPropagationInterceptor{}
+public class JakartaTransactionPropagationInterceptor
+ extends
org.apache.seata.integration.http.JakartaTransactionPropagationInterceptor {
+
+}
diff --git
a/compatible/src/main/java/io/seata/integration/http/SeataWebMvcConfigurer.java
b/compatible/src/main/java/io/seata/integration/http/SeataWebMvcConfigurer.java
index f2aa00b03c..4ce0312b4c 100644
---
a/compatible/src/main/java/io/seata/integration/http/SeataWebMvcConfigurer.java
+++
b/compatible/src/main/java/io/seata/integration/http/SeataWebMvcConfigurer.java
@@ -20,4 +20,6 @@ package io.seata.integration.http;
* The type Seata web mvc configurer.
*/
@Deprecated
-public class SeataWebMvcConfigurer extends
org.apache.seata.integration.http.SeataWebMvcConfigurer {}
+public class SeataWebMvcConfigurer extends
org.apache.seata.integration.http.SeataWebMvcConfigurer {
+
+}
diff --git
a/compatible/src/main/java/io/seata/integration/tx/api/interceptor/handler/GlobalTransactionalInterceptorHandler.java
b/compatible/src/main/java/io/seata/integration/tx/api/interceptor/handler/GlobalTransactionalInterceptorHandler.java
index bdb1082c7d..24a9f7b76d 100644
---
a/compatible/src/main/java/io/seata/integration/tx/api/interceptor/handler/GlobalTransactionalInterceptorHandler.java
+++
b/compatible/src/main/java/io/seata/integration/tx/api/interceptor/handler/GlobalTransactionalInterceptorHandler.java
@@ -31,14 +31,16 @@ import org.apache.seata.tm.api.transaction.Propagation;
* The type Global transactional interceptor handler.
*/
@Deprecated
-public class GlobalTransactionalInterceptorHandler extends
org.apache.seata.integration.tx.api.interceptor.handler.GlobalTransactionalInterceptorHandler
{
+public class GlobalTransactionalInterceptorHandler
+ extends
org.apache.seata.integration.tx.api.interceptor.handler.GlobalTransactionalInterceptorHandler
{
- public
GlobalTransactionalInterceptorHandler(org.apache.seata.tm.api.FailureHandler
failureHandler, Set<String> methodsToProxy) {
+ public
GlobalTransactionalInterceptorHandler(org.apache.seata.tm.api.FailureHandler
failureHandler,
+ Set<String> methodsToProxy) {
super(failureHandler, methodsToProxy);
}
- public
GlobalTransactionalInterceptorHandler(org.apache.seata.tm.api.FailureHandler
failureHandler, Set<String> methodsToProxy,
- AspectTransactional aspectTransactional) {
+ public
GlobalTransactionalInterceptorHandler(org.apache.seata.tm.api.FailureHandler
failureHandler,
+ Set<String> methodsToProxy,
AspectTransactional aspectTransactional) {
super(failureHandler, methodsToProxy, aspectTransactional);
}
@@ -57,8 +59,8 @@ public class GlobalTransactionalInterceptorHandler extends
org.apache.seata.inte
@Override
public AspectTransactional getAspectTransactional(Method method, Class<?>
targetClass) {
- final GlobalTransactional globalTransactionalAnnotation =
- getAnnotation(method, targetClass, GlobalTransactional.class);
+ final GlobalTransactional globalTransactionalAnnotation =
getAnnotation(method, targetClass,
+ GlobalTransactional.class);
return globalTransactionalAnnotation != null ? new AspectTransactional(
globalTransactionalAnnotation.timeoutMills(),
globalTransactionalAnnotation.name(),
globalTransactionalAnnotation.rollbackFor(),
globalTransactionalAnnotation.rollbackForClassName(),
@@ -68,7 +70,7 @@ public class GlobalTransactionalInterceptorHandler extends
org.apache.seata.inte
lockStrategyMode2ApacheSeataLockStrategyMode(globalTransactionalAnnotation.lockStrategyMode()))
: null;
}
- private Propagation
propagation2ApacheSeataPropagation(io.seata.tm.api.transaction.Propagation
propagation){
+ private Propagation
propagation2ApacheSeataPropagation(io.seata.tm.api.transaction.Propagation
propagation) {
switch (propagation) {
case NEVER:
return Propagation.NEVER;
@@ -85,11 +87,12 @@ public class GlobalTransactionalInterceptorHandler extends
org.apache.seata.inte
}
}
- private LockStrategyMode
lockStrategyMode2ApacheSeataLockStrategyMode(io.seata.common.LockStrategyMode
lockStrategyMode){
- if (Objects.requireNonNull(lockStrategyMode) ==
io.seata.common.LockStrategyMode.OPTIMISTIC) {
- return LockStrategyMode.OPTIMISTIC;
- }
- return LockStrategyMode.PESSIMISTIC;
+ private LockStrategyMode lockStrategyMode2ApacheSeataLockStrategyMode(
+ io.seata.common.LockStrategyMode lockStrategyMode) {
+ if (Objects.requireNonNull(lockStrategyMode) ==
io.seata.common.LockStrategyMode.OPTIMISTIC) {
+ return LockStrategyMode.OPTIMISTIC;
+ }
+ return LockStrategyMode.PESSIMISTIC;
}
}
diff --git
a/compatible/src/main/java/io/seata/integration/tx/api/interceptor/parser/GlobalTransactionalInterceptorParser.java
b/compatible/src/main/java/io/seata/integration/tx/api/interceptor/parser/GlobalTransactionalInterceptorParser.java
index 964ccc8e70..487ad86cbe 100644
---
a/compatible/src/main/java/io/seata/integration/tx/api/interceptor/parser/GlobalTransactionalInterceptorParser.java
+++
b/compatible/src/main/java/io/seata/integration/tx/api/interceptor/parser/GlobalTransactionalInterceptorParser.java
@@ -29,7 +29,8 @@ import org.apache.seata.tm.api.FailureHandlerHolder;
* The type Global transactional interceptor parser.
*/
@Deprecated
-public class GlobalTransactionalInterceptorParser extends
org.apache.seata.integration.tx.api.interceptor.parser.GlobalTransactionalInterceptorParser
{
+public class GlobalTransactionalInterceptorParser
+ extends
org.apache.seata.integration.tx.api.interceptor.parser.GlobalTransactionalInterceptorParser
{
@Override
protected boolean existsAnnotation(Class<?>... classes) {
@@ -65,7 +66,7 @@ public class GlobalTransactionalInterceptorParser extends
org.apache.seata.integ
}
@Override
- public ProxyInvocationHandler createProxyInvocationHandler(){
+ public ProxyInvocationHandler createProxyInvocationHandler() {
return new
GlobalTransactionalInterceptorHandler(FailureHandlerHolder.getFailureHandler(),
methodsToProxy);
}
diff --git
a/compatible/src/main/java/io/seata/saga/statelang/domain/ExecutionStatus.java
b/compatible/src/main/java/io/seata/saga/statelang/domain/ExecutionStatus.java
index 1229620c09..6350d1d459 100644
---
a/compatible/src/main/java/io/seata/saga/statelang/domain/ExecutionStatus.java
+++
b/compatible/src/main/java/io/seata/saga/statelang/domain/ExecutionStatus.java
@@ -18,7 +18,6 @@ package io.seata.saga.statelang.domain;
/**
* Execution Status
- *
*/
@Deprecated
public enum ExecutionStatus {
@@ -59,7 +58,7 @@ public enum ExecutionStatus {
}
public static ExecutionStatus
wrap(org.apache.seata.saga.statelang.domain.ExecutionStatus target) {
- if(target == null){
+ if (target == null) {
return null;
}
switch (target) {
diff --git
a/compatible/src/main/java/io/seata/saga/statelang/domain/impl/StateInstanceImpl.java
b/compatible/src/main/java/io/seata/saga/statelang/domain/impl/StateInstanceImpl.java
index 205614e521..cfc0f49701 100644
---
a/compatible/src/main/java/io/seata/saga/statelang/domain/impl/StateInstanceImpl.java
+++
b/compatible/src/main/java/io/seata/saga/statelang/domain/impl/StateInstanceImpl.java
@@ -24,7 +24,6 @@ import io.seata.saga.statelang.domain.StateMachineInstance;
/**
* state execution instance
- *
*/
@Deprecated
public class StateInstanceImpl implements StateInstance {
@@ -214,9 +213,9 @@ public class StateInstanceImpl implements StateInstance {
@Override
public void setStatus(ExecutionStatus status) {
- if(status == null){
+ if (status == null) {
actual.setStatus(null);
- }else {
+ } else {
actual.setStatus(status.unwrap());
}
}
@@ -228,7 +227,7 @@ public class StateInstanceImpl implements StateInstance {
@Override
public void setCompensationState(StateInstance compensationState) {
- actual.setCompensationState(((StateInstanceImpl)
compensationState).unwrap());
+
actual.setCompensationState(((StateInstanceImpl)compensationState).unwrap());
}
@Override
diff --git
a/compatible/src/main/java/io/seata/tm/api/DefaultFailureHandlerImpl.java
b/compatible/src/main/java/io/seata/tm/api/DefaultFailureHandlerImpl.java
index 63f727c7ac..f56ad5cad4 100644
--- a/compatible/src/main/java/io/seata/tm/api/DefaultFailureHandlerImpl.java
+++ b/compatible/src/main/java/io/seata/tm/api/DefaultFailureHandlerImpl.java
@@ -30,90 +30,92 @@ import org.slf4j.LoggerFactory;
/**
* The type Default failure handler.
- *
*/
@Deprecated
public class DefaultFailureHandlerImpl implements FailureHandler {
- private static final Logger LOGGER =
LoggerFactory.getLogger(DefaultFailureHandlerImpl.class);
-
- /**
- * Retry 1 hours by default
- */
- private static final int RETRY_MAX_TIMES = 6 * 60;
-
- private static final long SCHEDULE_INTERVAL_SECONDS = 10;
-
- private static final long TICK_DURATION = 1;
-
- private static final int TICKS_PER_WHEEL = 8;
-
- private static final HashedWheelTimer TIMER = new HashedWheelTimer(
- new NamedThreadFactory("failedTransactionRetry", 1),
- TICK_DURATION, TimeUnit.SECONDS, TICKS_PER_WHEEL);
-
- @Override
- public void onBeginFailure(GlobalTransaction tx, Throwable cause) {
- LOGGER.warn("Failed to begin transaction. ", cause);
- }
-
- @Override
- public void onCommitFailure(GlobalTransaction tx, Throwable cause) {
- LOGGER.warn("Failed to commit transaction[" + tx.getXid() +
"]", cause);
- TIMER.newTimeout(new
DefaultFailureHandlerImpl.CheckTimerTask(tx, GlobalStatus.Committed),
SCHEDULE_INTERVAL_SECONDS, TimeUnit.SECONDS);
- }
-
- @Override
- public void onRollbackFailure(GlobalTransaction tx, Throwable
originalException) {
- LOGGER.warn("Failed to rollback transaction[" + tx.getXid() +
"]", originalException);
- TIMER.newTimeout(new
DefaultFailureHandlerImpl.CheckTimerTask(tx, GlobalStatus.Rollbacked),
SCHEDULE_INTERVAL_SECONDS, TimeUnit.SECONDS);
- }
-
- @Override
- public void onRollbacking(GlobalTransaction tx, Throwable
originalException) {
- StackTraceLogger.warn(LOGGER, originalException, "Retrying to
rollback transaction[{}]", new String[] {tx.getXid()});
- TIMER.newTimeout(new
DefaultFailureHandlerImpl.CheckTimerTask(tx, GlobalStatus.RollbackRetrying),
SCHEDULE_INTERVAL_SECONDS,
- TimeUnit.SECONDS);
- }
-
- protected class CheckTimerTask implements TimerTask {
-
- private final GlobalTransaction tx;
-
- private final GlobalStatus required;
-
- private int count = 0;
-
- private boolean isStopped = false;
-
- protected CheckTimerTask(final GlobalTransaction tx,
GlobalStatus required) {
- this.tx = tx;
- this.required = required;
- }
-
- @Override
- public void run(Timeout timeout) throws Exception {
- if (!isStopped) {
- if (++count > RETRY_MAX_TIMES) {
- LOGGER.error("transaction [{}] retry
fetch status times exceed the limit [{} times]", tx.getXid(), RETRY_MAX_TIMES);
- return;
- }
- isStopped = shouldStop(tx, required);
- TIMER.newTimeout(this,
SCHEDULE_INTERVAL_SECONDS, TimeUnit.SECONDS);
- }
- }
- }
-
- private boolean shouldStop(final GlobalTransaction tx, GlobalStatus
required) {
- try {
- GlobalStatus status = tx.getStatus();
- LOGGER.info("transaction [{}] current status is [{}]",
tx.getXid(), status);
- if (status == required || status ==
GlobalStatus.Finished) {
- return true;
- }
- } catch (TransactionException e) {
- LOGGER.error("fetch GlobalTransaction status error", e);
- }
- return false;
- }
+ private static final Logger LOGGER =
LoggerFactory.getLogger(DefaultFailureHandlerImpl.class);
+
+ /**
+ * Retry 1 hours by default
+ */
+ private static final int RETRY_MAX_TIMES = 6 * 60;
+
+ private static final long SCHEDULE_INTERVAL_SECONDS = 10;
+
+ private static final long TICK_DURATION = 1;
+
+ private static final int TICKS_PER_WHEEL = 8;
+
+ private static final HashedWheelTimer TIMER = new HashedWheelTimer(
+ new NamedThreadFactory("failedTransactionRetry", 1), TICK_DURATION,
TimeUnit.SECONDS, TICKS_PER_WHEEL);
+
+ @Override
+ public void onBeginFailure(GlobalTransaction tx, Throwable cause) {
+ LOGGER.warn("Failed to begin transaction. ", cause);
+ }
+
+ @Override
+ public void onCommitFailure(GlobalTransaction tx, Throwable cause) {
+ LOGGER.warn("Failed to commit transaction[" + tx.getXid() + "]",
cause);
+ TIMER.newTimeout(new DefaultFailureHandlerImpl.CheckTimerTask(tx,
GlobalStatus.Committed),
+ SCHEDULE_INTERVAL_SECONDS, TimeUnit.SECONDS);
+ }
+
+ @Override
+ public void onRollbackFailure(GlobalTransaction tx, Throwable
originalException) {
+ LOGGER.warn("Failed to rollback transaction[" + tx.getXid() + "]",
originalException);
+ TIMER.newTimeout(new DefaultFailureHandlerImpl.CheckTimerTask(tx,
GlobalStatus.Rollbacked),
+ SCHEDULE_INTERVAL_SECONDS, TimeUnit.SECONDS);
+ }
+
+ @Override
+ public void onRollbacking(GlobalTransaction tx, Throwable
originalException) {
+ StackTraceLogger.warn(LOGGER, originalException, "Retrying to rollback
transaction[{}]",
+ new String[] {tx.getXid()});
+ TIMER.newTimeout(new DefaultFailureHandlerImpl.CheckTimerTask(tx,
GlobalStatus.RollbackRetrying),
+ SCHEDULE_INTERVAL_SECONDS, TimeUnit.SECONDS);
+ }
+
+ protected class CheckTimerTask implements TimerTask {
+
+ private final GlobalTransaction tx;
+
+ private final GlobalStatus required;
+
+ private int count = 0;
+
+ private boolean isStopped = false;
+
+ protected CheckTimerTask(final GlobalTransaction tx, GlobalStatus
required) {
+ this.tx = tx;
+ this.required = required;
+ }
+
+ @Override
+ public void run(Timeout timeout) throws Exception {
+ if (!isStopped) {
+ if (++count > RETRY_MAX_TIMES) {
+ LOGGER.error("transaction [{}] retry fetch status times
exceed the limit [{} times]", tx.getXid(),
+ RETRY_MAX_TIMES);
+ return;
+ }
+ isStopped = shouldStop(tx, required);
+ TIMER.newTimeout(this, SCHEDULE_INTERVAL_SECONDS,
TimeUnit.SECONDS);
+ }
+ }
+ }
+
+ private boolean shouldStop(final GlobalTransaction tx, GlobalStatus
required) {
+ try {
+ GlobalStatus status = tx.getStatus();
+ LOGGER.info("transaction [{}] current status is [{}]",
tx.getXid(), status);
+ if (status == required || status == GlobalStatus.Finished) {
+ return true;
+ }
+ } catch (TransactionException e) {
+ LOGGER.error("fetch GlobalTransaction status error", e);
+ }
+ return false;
+ }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]