You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@seata.apache.org by ji...@apache.org on 2024/01/25 11:27:37 UTC

(incubator-seata) branch 2.x updated: optimize: repackage name to org.apache.seata (#6298)

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 80482ee9db optimize: repackage name to org.apache.seata (#6298)
80482ee9db is described below

commit 80482ee9db05766b207f2d33270aeb78686c5a77
Author: jimin <sl...@163.com>
AuthorDate: Thu Jan 25 19:27:30 2024 +0800

    optimize: repackage name to org.apache.seata (#6298)
---
 .licenserc.yaml                                    |     6 +-
 all/pom.xml                                        |     6 +-
 changes/en-us/2.x.md                               |     1 +
 changes/zh-cn/2.x.md                               |     1 +
 .../java/io/seata/common/ConfigurationKeys.java    |  1014 -
 .../src/main/java/io/seata/common/Constants.java   |   207 -
 .../main/java/io/seata/common/DefaultValues.java   |   317 -
 .../java/io/seata/common/LockStrategyMode.java     |    31 -
 common/src/main/java/io/seata/common/XID.java      |   100 -
 .../exception/AuthenticationFailedException.java   |    66 -
 .../common/exception/DataAccessException.java      |    68 -
 .../common/exception/EurekaRegistryException.java  |    52 -
 .../seata/common/exception/FrameworkErrorCode.java |   284 -
 .../seata/common/exception/FrameworkException.java |   161 -
 .../seata/common/exception/JsonParseException.java |    34 -
 .../common/exception/NotSupportYetException.java   |    59 -
 .../io/seata/common/exception/RedisException.java  |    82 -
 .../seata/common/exception/RetryableException.java |    68 -
 .../exception/ShouldNeverHappenException.java      |    52 -
 .../exception/SkipCallbackWrapperException.java    |    36 -
 .../io/seata/common/exception/StoreException.java  |    82 -
 .../java/io/seata/common/executor/Callback.java    |    35 -
 .../java/io/seata/common/executor/Initialize.java  |    30 -
 .../java/io/seata/common/holder/ObjectHolder.java  |    53 -
 .../main/java/io/seata/common/io/FileLoader.java   |    80 -
 .../seata/common/loader/EnhancedServiceLoader.java |   670 -
 .../loader/EnhancedServiceNotFoundException.java   |    81 -
 .../seata/common/loader/ExtensionDefinition.java   |    91 -
 .../java/io/seata/common/loader/LoadLevel.java     |    51 -
 .../main/java/io/seata/common/loader/Scope.java    |    34 -
 .../java/io/seata/common/metadata/ClusterRole.java |    54 -
 .../java/io/seata/common/metadata/Metadata.java    |   115 -
 .../io/seata/common/metadata/MetadataResponse.java |    55 -
 .../main/java/io/seata/common/metadata/Node.java   |   118 -
 .../main/java/io/seata/common/rpc/RpcStatus.java   |    93 -
 .../main/java/io/seata/common/store/StoreMode.java |    84 -
 .../io/seata/common/thread/NamedThreadFactory.java |    90 -
 .../seata/common/thread/PositiveAtomicCounter.java |    45 -
 .../io/seata/common/thread/RejectedPolicies.java   |    49 -
 .../main/java/io/seata/common/util/ArrayUtils.java |   111 -
 .../main/java/io/seata/common/util/BeanUtils.java  |   153 -
 .../main/java/io/seata/common/util/BlobUtils.java  |   107 -
 .../java/io/seata/common/util/BufferUtils.java     |    96 -
 .../java/io/seata/common/util/CollectionUtils.java |   332 -
 .../java/io/seata/common/util/CompressUtil.java    |    94 -
 .../java/io/seata/common/util/ConfigTools.java     |   120 -
 .../seata/common/util/CycleDependencyHandler.java  |   107 -
 .../main/java/io/seata/common/util/DateUtil.java   |    81 -
 .../java/io/seata/common/util/DurationUtil.java    |    89 -
 .../java/io/seata/common/util/HttpClientUtil.java  |   138 -
 .../src/main/java/io/seata/common/util/IOUtil.java |    48 -
 .../main/java/io/seata/common/util/IdWorker.java   |   186 -
 .../java/io/seata/common/util/LambdaUtils.java     |    35 -
 .../io/seata/common/util/LowerCaseLinkHashMap.java |   214 -
 .../main/java/io/seata/common/util/MapUtil.java    |   105 -
 .../seata/common/util/NetAddressValidatorUtil.java |   152 -
 .../main/java/io/seata/common/util/NetUtil.java    |   354 -
 .../java/io/seata/common/util/NumberUtils.java     |    63 -
 .../main/java/io/seata/common/util/PageUtil.java   |   172 -
 .../java/io/seata/common/util/ReflectionUtil.java  |   770 -
 .../main/java/io/seata/common/util/SizeUtil.java   |    60 -
 .../io/seata/common/util/StringFormatUtils.java    |   107 -
 .../java/io/seata/common/util/StringUtils.java     |   430 -
 .../org/apache/seata/common/ConfigurationKeys.java |  1014 +
 .../java/org/apache/seata/common/Constants.java    |   207 +
 .../org/apache/seata/common/DefaultValues.java     |   317 +
 .../org/apache/seata/common/LockStrategyMode.java  |    31 +
 .../src/main/java/org/apache/seata/common/XID.java |   100 +
 .../exception/AuthenticationFailedException.java   |    66 +
 .../common/exception/DataAccessException.java      |    68 +
 .../common/exception/EurekaRegistryException.java  |    52 +
 .../seata/common/exception/FrameworkErrorCode.java |   284 +
 .../seata/common/exception/FrameworkException.java |   161 +
 .../seata/common/exception/JsonParseException.java |    34 +
 .../common/exception/NotSupportYetException.java   |    59 +
 .../seata/common/exception/RedisException.java     |    82 +
 .../seata/common/exception/RetryableException.java |    68 +
 .../exception/ShouldNeverHappenException.java      |    52 +
 .../exception/SkipCallbackWrapperException.java    |    36 +
 .../seata/common/exception/StoreException.java     |    82 +
 .../org/apache/seata/common/executor/Callback.java |    35 +
 .../apache/seata/common/executor/Initialize.java   |    30 +
 .../apache/seata/common/holder/ObjectHolder.java   |    53 +
 .../org/apache/seata/common/io/FileLoader.java     |    80 +
 .../seata/common/loader/EnhancedServiceLoader.java |   670 +
 .../loader/EnhancedServiceNotFoundException.java   |    81 +
 .../seata/common/loader/ExtensionDefinition.java   |    91 +
 .../org/apache/seata/common/loader/LoadLevel.java  |    51 +
 .../java/org/apache/seata/common/loader/Scope.java |    34 +
 .../apache/seata/common/metadata/ClusterRole.java  |    54 +
 .../org/apache/seata/common/metadata/Metadata.java |   115 +
 .../seata/common/metadata/MetadataResponse.java    |    55 +
 .../org/apache/seata/common/metadata/Node.java     |   118 +
 .../org/apache/seata/common/rpc/RpcStatus.java     |    93 +
 .../org/apache/seata/common/store/StoreMode.java   |    84 +
 .../seata/common/thread/NamedThreadFactory.java    |    90 +
 .../seata/common/thread/PositiveAtomicCounter.java |    45 +
 .../seata/common/thread/RejectedPolicies.java      |    49 +
 .../org/apache/seata/common/util/ArrayUtils.java   |   111 +
 .../org/apache/seata/common/util/BeanUtils.java    |   153 +
 .../org/apache/seata/common/util/BlobUtils.java    |   107 +
 .../org/apache/seata/common/util/BufferUtils.java  |    96 +
 .../apache/seata/common/util/CollectionUtils.java  |   332 +
 .../org/apache/seata/common/util/CompressUtil.java |    94 +
 .../org/apache/seata/common/util/ConfigTools.java  |   120 +
 .../seata/common/util/CycleDependencyHandler.java  |   107 +
 .../org/apache/seata/common/util/DateUtil.java     |    81 +
 .../org/apache/seata/common/util/DurationUtil.java |    89 +
 .../apache/seata/common/util/HttpClientUtil.java   |   138 +
 .../java/org/apache/seata/common/util/IOUtil.java  |    48 +
 .../org/apache/seata/common/util/IdWorker.java     |   186 +
 .../org/apache/seata/common/util/LambdaUtils.java  |    35 +
 .../seata/common/util/LowerCaseLinkHashMap.java    |   214 +
 .../java/org/apache/seata/common/util/MapUtil.java |   105 +
 .../seata/common/util/NetAddressValidatorUtil.java |   152 +
 .../java/org/apache/seata/common/util/NetUtil.java |   354 +
 .../org/apache/seata/common/util/NumberUtils.java  |    63 +
 .../org/apache/seata/common/util/PageUtil.java     |   172 +
 .../apache/seata/common/util/ReflectionUtil.java   |   770 +
 .../org/apache/seata/common/util/SizeUtil.java     |    60 +
 .../seata/common/util/StringFormatUtils.java       |   107 +
 .../org/apache/seata/common/util/StringUtils.java  |   430 +
 common/src/test/java/io/seata/common/BranchDO.java |    73 -
 common/src/test/java/io/seata/common/XIDTest.java  |    79 -
 .../AuthenticationFailedExceptionTest.java         |    41 -
 .../common/exception/DataAccessExceptionTest.java  |    58 -
 .../exception/EurekaRegistryExceptionTest.java     |    47 -
 .../common/exception/FrameworkExceptionTest.java   |   153 -
 .../common/exception/JsonParseExceptionTest.java   |    38 -
 .../java/io/seata/common/exception/Message.java    |   103 -
 .../exception/NotSupportYetExceptionTest.java      |    52 -
 .../seata/common/exception/RedisExceptionTest.java |    48 -
 .../common/exception/RetryableExceptionTest.java   |    41 -
 .../exception/ShouldNeverHappenExceptionTest.java  |    52 -
 .../seata/common/exception/StoreExceptionTest.java |    62 -
 .../io/seata/common/holder/ObjectHolderTest.java   |    52 -
 .../java/io/seata/common/io/FileLoaderTest.java    |    44 -
 .../java/io/seata/common/loader/ChineseHello.java  |    30 -
 .../java/io/seata/common/loader/EnglishHello.java  |    30 -
 .../common/loader/EnhancedServiceLoaderTest.java   |   212 -
 .../common/loader/ExtensionDefinitionTest.java     |    34 -
 .../java/io/seata/common/loader/FrenchHello.java   |    30 -
 .../test/java/io/seata/common/loader/Hello.java    |    30 -
 .../test/java/io/seata/common/loader/Hello1.java   |    26 -
 .../test/java/io/seata/common/loader/Hello2.java   |    22 -
 .../java/io/seata/common/loader/JapaneseHello.java |    29 -
 .../java/io/seata/common/loader/LatinHello.java    |    29 -
 .../io/seata/common/metadata/ClusterRoleTest.java  |    34 -
 .../io/seata/common/metadata/MetadataTest.java     |   110 -
 .../java/io/seata/common/metadata/NodeTest.java    |    51 -
 .../java/io/seata/common/rpc/RpcStatusTest.java    |    57 -
 .../common/thread/NamedThreadFactoryTest.java      |    76 -
 .../common/thread/PositiveAtomicCounterTest.java   |    48 -
 .../seata/common/thread/RejectedPoliciesTest.java  |    88 -
 .../java/io/seata/common/util/ArrayUtilsTest.java  |    60 -
 .../java/io/seata/common/util/BeanUtilsTest.java   |   122 -
 .../java/io/seata/common/util/BlobUtilsTest.java   |    75 -
 .../java/io/seata/common/util/BufferUtilsTest.java |    77 -
 .../io/seata/common/util/CollectionUtilsTest.java  |   257 -
 .../io/seata/common/util/CompressUtilTest.java     |    77 -
 .../java/io/seata/common/util/ConfigToolsTest.java |    61 -
 .../common/util/CycleDependencyHandlerTest.java    |    30 -
 .../java/io/seata/common/util/DateUtilTest.java    |    56 -
 .../io/seata/common/util/DurationUtilTest.java     |    72 -
 .../io/seata/common/util/HttpClientUtilTest.java   |    34 -
 .../test/java/io/seata/common/util/IOUtilTest.java |    73 -
 .../java/io/seata/common/util/IdWorkerTest.java    |    47 -
 .../common/util/LowerCaseLinkHashMapTest.java      |   263 -
 .../java/io/seata/common/util/MapUtilTest.java     |    63 -
 .../common/util/NetAddressValidatorUtilTest.java   |    56 -
 .../java/io/seata/common/util/NetUtilTest.java     |   200 -
 .../java/io/seata/common/util/NumberUtilsTest.java |    40 -
 .../java/io/seata/common/util/PageUtilTest.java    |    70 -
 .../io/seata/common/util/ReflectionUtilTest.java   |   235 -
 .../java/io/seata/common/util/SizeUtilTest.java    |    39 -
 .../seata/common/util/StringFormatUtilsTest.java   |    51 -
 .../java/io/seata/common/util/StringUtilsTest.java |   407 -
 .../java/org/apache/seata/common/BranchDO.java     |    73 +
 .../test/java/org/apache/seata/common/XIDTest.java |    79 +
 .../AuthenticationFailedExceptionTest.java         |    41 +
 .../common/exception/DataAccessExceptionTest.java  |    58 +
 .../exception/EurekaRegistryExceptionTest.java     |    47 +
 .../common/exception/FrameworkExceptionTest.java   |   153 +
 .../common/exception/JsonParseExceptionTest.java   |    38 +
 .../org/apache/seata/common/exception/Message.java |   103 +
 .../exception/NotSupportYetExceptionTest.java      |    52 +
 .../seata/common/exception/RedisExceptionTest.java |    48 +
 .../common/exception/RetryableExceptionTest.java   |    41 +
 .../exception/ShouldNeverHappenExceptionTest.java  |    52 +
 .../seata/common/exception/StoreExceptionTest.java |    62 +
 .../seata/common/holder/ObjectHolderTest.java      |    52 +
 .../org/apache/seata/common/io/FileLoaderTest.java |    44 +
 .../apache/seata/common/loader/ChineseHello.java   |    30 +
 .../apache/seata/common/loader/EnglishHello.java   |    30 +
 .../common/loader/EnhancedServiceLoaderTest.java   |   212 +
 .../common/loader/ExtensionDefinitionTest.java     |    34 +
 .../apache/seata/common/loader/FrenchHello.java    |    30 +
 .../java/org/apache/seata/common/loader/Hello.java |    30 +
 .../org/apache/seata/common/loader/Hello1.java     |    26 +
 .../org/apache/seata/common/loader/Hello2.java     |    22 +
 .../apache/seata/common/loader/JapaneseHello.java  |    29 +
 .../org/apache/seata/common/loader/LatinHello.java |    29 +
 .../seata/common/metadata/ClusterRoleTest.java     |    34 +
 .../apache/seata/common/metadata/MetadataTest.java |   110 +
 .../org/apache/seata/common/metadata/NodeTest.java |    51 +
 .../org/apache/seata/common/rpc/RpcStatusTest.java |    57 +
 .../common/thread/NamedThreadFactoryTest.java      |    76 +
 .../common/thread/PositiveAtomicCounterTest.java   |    48 +
 .../seata/common/thread/RejectedPoliciesTest.java  |    88 +
 .../apache/seata/common/util/ArrayUtilsTest.java   |    58 +
 .../apache/seata/common/util/BeanUtilsTest.java    |   121 +
 .../apache/seata/common/util/BlobUtilsTest.java    |    75 +
 .../apache/seata/common/util/BufferUtilsTest.java  |    77 +
 .../seata/common/util/CollectionUtilsTest.java     |   257 +
 .../apache/seata/common/util/CompressUtilTest.java |    77 +
 .../apache/seata/common/util/ConfigToolsTest.java  |    61 +
 .../common/util/CycleDependencyHandlerTest.java    |    30 +
 .../org/apache/seata/common/util/DateUtilTest.java |    56 +
 .../apache/seata/common/util/DurationUtilTest.java |    72 +
 .../seata/common/util/HttpClientUtilTest.java      |    34 +
 .../org/apache/seata/common/util/IOUtilTest.java   |    73 +
 .../org/apache/seata/common/util/IdWorkerTest.java |    47 +
 .../common/util/LowerCaseLinkHashMapTest.java      |   263 +
 .../org/apache/seata/common/util/MapUtilTest.java  |    63 +
 .../common/util/NetAddressValidatorUtilTest.java   |    56 +
 .../org/apache/seata/common/util/NetUtilTest.java  |   200 +
 .../apache/seata/common/util/NumberUtilsTest.java  |    40 +
 .../org/apache/seata/common/util/PageUtilTest.java |    70 +
 .../seata/common/util/ReflectionUtilTest.java      |   235 +
 .../org/apache/seata/common/util/SizeUtilTest.java |    39 +
 .../seata/common/util/StringFormatUtilsTest.java   |    51 +
 .../apache/seata/common/util/StringUtilsTest.java  |   407 +
 .../seata/frenchhello/io.seata.common.loader.Hello |    20 -
 .../org.apache.seata.common.loader.Hello           |    20 +
 .../META-INF/seata/io.seata.common.loader.Hello    |    20 -
 .../META-INF/seata/io.seata.common.loader.Hello1   |    19 -
 .../META-INF/seata/io.seata.common.loader.Hello2   |    18 -
 .../seata/org.apache.seata.common.loader.Hello     |    20 +
 .../seata/org.apache.seata.common.loader.Hello1    |    19 +
 .../seata/org.apache.seata.common.loader.Hello2    |    18 +
 .../META-INF/services/io.seata.common.loader.Hello |     1 -
 .../services/org.apache.seata.common.loader.Hello  |     1 +
 compatible/pom.xml                                 |    13 +-
 .../io/seata/tmp/core/context/RootContext.java     |    38 +-
 .../io/seata/compressor/bzip2/BZip2Compressor.java |    39 -
 .../java/io/seata/compressor/bzip2/BZip2Util.java  |    65 -
 .../seata/compressor/bzip2/BZip2Compressor.java    |    39 +
 .../apache/seata/compressor/bzip2/BZip2Util.java   |    65 +
 .../services/io.seata.core.compressor.Compressor   |     1 -
 .../org.apache.seata.core.compressor.Compressor    |     1 +
 .../compressor/bzip2/BZip2CompressorTest.java      |    36 -
 .../io/seata/compressor/bzip2/BZip2UtilTest.java   |    41 -
 .../compressor/bzip2/BZip2CompressorTest.java      |    36 +
 .../seata/compressor/bzip2/BZip2UtilTest.java      |    41 +
 .../compressor/deflater/DeflaterCompressor.java    |    37 -
 .../io/seata/compressor/deflater/DeflaterUtil.java |    78 -
 .../compressor/deflater/DeflaterCompressor.java    |    37 +
 .../seata/compressor/deflater/DeflaterUtil.java    |    78 +
 .../services/io.seata.core.compressor.Compressor   |     1 -
 .../org.apache.seata.core.compressor.Compressor    |     1 +
 .../deflater/DeflaterCompressorTest.java           |    34 -
 .../compressor/deflater/DeflaterUtilTest.java      |    47 -
 .../deflater/DeflaterCompressorTest.java           |    34 +
 .../compressor/deflater/DeflaterUtilTest.java      |    47 +
 .../io/seata/compressor/gzip/GzipCompressor.java   |    37 -
 .../java/io/seata/compressor/gzip/GzipUtil.java    |    68 -
 .../seata/compressor/gzip/GzipCompressor.java      |    37 +
 .../org/apache/seata/compressor/gzip/GzipUtil.java |    68 +
 .../services/io.seata.core.compressor.Compressor   |     1 -
 .../org.apache.seata.core.compressor.Compressor    |     1 +
 .../seata/compressor/gzip/GzipCompressorTest.java  |    34 -
 .../io/seata/compressor/gzip/GzipUtilTest.java     |    67 -
 .../seata/compressor/gzip/GzipCompressorTest.java  |    34 +
 .../apache/seata/compressor/gzip/GzipUtilTest.java |    67 +
 .../io/seata/compressor/lz4/Lz4Compressor.java     |    37 -
 .../main/java/io/seata/compressor/lz4/Lz4Util.java |    75 -
 .../apache/seata/compressor/lz4/Lz4Compressor.java |    37 +
 .../org/apache/seata/compressor/lz4/Lz4Util.java   |    75 +
 .../services/io.seata.core.compressor.Compressor   |     1 -
 .../org.apache.seata.core.compressor.Compressor    |     1 +
 .../io/seata/compressor/lz4/Lz4CompressorTest.java |    35 -
 .../java/io/seata/compressor/lz4/Lz4UtilTest.java  |    39 -
 .../seata/compressor/lz4/Lz4CompressorTest.java    |    35 +
 .../apache/seata/compressor/lz4/Lz4UtilTest.java   |    39 +
 .../io/seata/compressor/zip/ZipCompressor.java     |    39 -
 .../main/java/io/seata/compressor/zip/ZipUtil.java |    69 -
 .../apache/seata/compressor/zip/ZipCompressor.java |    39 +
 .../org/apache/seata/compressor/zip/ZipUtil.java   |    69 +
 .../services/io.seata.core.compressor.Compressor   |     1 -
 .../org.apache.seata.core.compressor.Compressor    |     1 +
 .../io/seata/compressor/zip/ZipCompressorTest.java |    36 -
 .../java/io/seata/compressor/zip/ZipUtilTest.java  |    42 -
 .../seata/compressor/zip/ZipCompressorTest.java    |    36 +
 .../apache/seata/compressor/zip/ZipUtilTest.java   |    42 +
 .../io/seata/compressor/zstd/ZstdCompressor.java   |    39 -
 .../java/io/seata/compressor/zstd/ZstdUtil.java    |    45 -
 .../seata/compressor/zstd/ZstdCompressor.java      |    39 +
 .../org/apache/seata/compressor/zstd/ZstdUtil.java |    45 +
 .../services/io.seata.core.compressor.Compressor   |     1 -
 .../org.apache.seata.core.compressor.Compressor    |     1 +
 .../seata/compressor/zstd/ZstdCompressorTest.java  |    53 -
 .../io/seata/compressor/zstd/ZstdUtilTest.java     |    42 -
 .../seata/compressor/zstd/ZstdCompressorTest.java  |    53 +
 .../apache/seata/compressor/zstd/ZstdUtilTest.java |    42 +
 .../seata/config/apollo/ApolloConfiguration.java   |   247 -
 .../config/apollo/ApolloConfigurationProvider.java |    31 -
 .../seata/config/apollo/ApolloConfiguration.java   |   247 +
 .../config/apollo/ApolloConfigurationProvider.java |    31 +
 .../services/io.seata.config.ConfigurationProvider |     1 -
 .../org.apache.seata.config.ConfigurationProvider  |     1 +
 .../seata/config/consul/ConsulConfiguration.java   |   397 -
 .../config/consul/ConsulConfigurationProvider.java |    31 -
 .../seata/config/consul/ConsulConfiguration.java   |   397 +
 .../config/consul/ConsulConfigurationProvider.java |    31 +
 .../services/io.seata.config.ConfigurationProvider |     1 -
 .../org.apache.seata.config.ConfigurationProvider  |     1 +
 .../io/seata/config/AbstractConfiguration.java     |   170 -
 .../java/io/seata/config/ConfigChangeListener.java |    40 -
 .../main/java/io/seata/config/ConfigFuture.java    |   207 -
 .../src/main/java/io/seata/config/ConfigType.java  |    71 -
 .../main/java/io/seata/config/Configuration.java   |   314 -
 .../java/io/seata/config/ConfigurationCache.java   |   260 -
 .../io/seata/config/ConfigurationChangeEvent.java  |   144 -
 .../seata/config/ConfigurationChangeListener.java  |    96 -
 .../io/seata/config/ConfigurationChangeType.java   |    36 -
 .../java/io/seata/config/ConfigurationFactory.java |   187 -
 .../java/io/seata/config/ConfigurationKeys.java    |    26 -
 .../io/seata/config/ConfigurationProvider.java     |    28 -
 .../io/seata/config/ExtConfigurationProvider.java  |    29 -
 .../java/io/seata/config/FileConfigFactory.java    |    76 -
 .../java/io/seata/config/FileConfiguration.java    |   420 -
 .../config/exception/ConfigNotFoundException.java  |    47 -
 .../main/java/io/seata/config/file/FileConfig.java |    35 -
 .../io/seata/config/file/SimpleFileConfig.java     |    63 -
 .../java/io/seata/config/file/YamlFileConfig.java  |    80 -
 .../io/seata/config/processor/ConfigDataType.java  |    74 -
 .../io/seata/config/processor/ConfigProcessor.java |    87 -
 .../java/io/seata/config/processor/Processor.java  |    36 -
 .../config/processor/ProcessorProperties.java      |    44 -
 .../io/seata/config/processor/ProcessorYaml.java   |    42 -
 .../apache/seata/config/AbstractConfiguration.java |   170 +
 .../apache/seata/config/ConfigChangeListener.java  |    40 +
 .../java/org/apache/seata/config/ConfigFuture.java |   207 +
 .../java/org/apache/seata/config/ConfigType.java   |    71 +
 .../org/apache/seata/config/Configuration.java     |   314 +
 .../apache/seata/config/ConfigurationCache.java    |   260 +
 .../seata/config/ConfigurationChangeEvent.java     |   144 +
 .../seata/config/ConfigurationChangeListener.java  |    96 +
 .../seata/config/ConfigurationChangeType.java      |    36 +
 .../apache/seata/config/ConfigurationFactory.java  |   187 +
 .../org/apache/seata/config/ConfigurationKeys.java |    26 +
 .../apache/seata/config/ConfigurationProvider.java |    28 +
 .../seata/config/ExtConfigurationProvider.java     |    29 +
 .../org/apache/seata/config/FileConfigFactory.java |    77 +
 .../org/apache/seata/config/FileConfiguration.java |   420 +
 .../config/exception/ConfigNotFoundException.java  |    47 +
 .../org/apache/seata/config/file/FileConfig.java   |    35 +
 .../apache/seata/config/file/SimpleFileConfig.java |    63 +
 .../apache/seata/config/file/YamlFileConfig.java   |    80 +
 .../seata/config/processor/ConfigDataType.java     |    74 +
 .../seata/config/processor/ConfigProcessor.java    |    87 +
 .../apache/seata/config/processor/Processor.java   |    36 +
 .../config/processor/ProcessorProperties.java      |    44 +
 .../seata/config/processor/ProcessorYaml.java      |    42 +
 .../services/io.seata.config.file.FileConfig       |     2 -
 .../services/io.seata.config.processor.Processor   |     2 -
 .../org.apache.seata.config.file.FileConfig        |     2 +
 .../org.apache.seata.config.processor.Processor    |     2 +
 .../java/io/seata/config/ConfigFutureTest.java     |    92 -
 .../test/java/io/seata/config/ConfigProperty.java  |    26 -
 .../test/java/io/seata/config/ConfigTypeTest.java  |    32 -
 .../io/seata/config/ConfigurationCacheTests.java   |   115 -
 .../seata/config/ConfigurationChangeEventTest.java |    60 -
 .../io/seata/config/FileConfigurationTest.java     |    88 -
 .../seata/config/ProConfigurationFactoryTest.java  |    52 -
 .../config/RegistryConfigurationFactoryTest.java   |    49 -
 .../seata/config/YamlConfigurationFactoryTest.java |    52 -
 .../io/seata/config/file/SimpleFileConfigTest.java |    39 -
 .../io/seata/config/file/YamlFileConfigTest.java   |    47 -
 .../seata/config/processor/ConfigDataTypeTest.java |    51 -
 .../config/processor/ConfigProcessorTest.java      |    73 -
 .../config/processor/ProcessorPropertiesTest.java  |    40 -
 .../org/apache/seata/config/ConfigFutureTest.java  |    92 +
 .../org/apache/seata/config/ConfigProperty.java    |    26 +
 .../org/apache/seata/config/ConfigTypeTest.java    |    32 +
 .../seata/config/ConfigurationCacheTests.java      |   115 +
 .../seata/config/ConfigurationChangeEventTest.java |    60 +
 .../apache/seata/config/FileConfigurationTest.java |    88 +
 .../seata/config/ProConfigurationFactoryTest.java  |    48 +
 .../config/RegistryConfigurationFactoryTest.java   |    44 +
 .../seata/config/YamlConfigurationFactoryTest.java |    47 +
 .../seata/config/file/SimpleFileConfigTest.java    |    39 +
 .../seata/config/file/YamlFileConfigTest.java      |    47 +
 .../seata/config/processor/ConfigDataTypeTest.java |    51 +
 .../config/processor/ConfigProcessorTest.java      |    73 +
 .../config/processor/ProcessorPropertiesTest.java  |    40 +
 .../config/custom/CustomConfigurationProvider.java |    49 -
 .../config/custom/CustomConfigurationProvider.java |    49 +
 .../services/io.seata.config.ConfigurationProvider |     1 -
 .../org.apache.seata.config.ConfigurationProvider  |     1 +
 .../java/io/seata/config/ConfigurationTest.java    |    87 -
 .../seata/config/CustomConfigurationForTest.java   |    75 -
 .../config/CustomConfigurationProviderForTest.java |    29 -
 .../io/seata/config/CustomConfigurationTest.java   |    44 -
 .../org/apache/seata/config/ConfigurationTest.java |    87 +
 .../seata/config/CustomConfigurationForTest.java   |    75 +
 .../config/CustomConfigurationProviderForTest.java |    29 +
 .../seata/config/CustomConfigurationTest.java      |    44 +
 .../services/io.seata.config.ConfigurationProvider |     1 -
 .../org.apache.seata.config.ConfigurationProvider  |     1 +
 .../io/seata/config/etcd3/EtcdConfiguration.java   |   441 -
 .../config/etcd3/EtcdConfigurationProvider.java    |    31 -
 .../seata/config/etcd3/EtcdConfiguration.java      |   441 +
 .../config/etcd3/EtcdConfigurationProvider.java    |    31 +
 .../services/io.seata.config.ConfigurationProvider |     1 -
 .../org.apache.seata.config.ConfigurationProvider  |     1 +
 .../io/seata/config/nacos/NacosConfiguration.java  |   433 -
 .../config/nacos/NacosConfigurationProvider.java   |    31 -
 .../seata/config/nacos/NacosConfiguration.java     |   433 +
 .../config/nacos/NacosConfigurationProvider.java   |    31 +
 .../services/io.seata.config.ConfigurationProvider |     1 -
 .../org.apache.seata.config.ConfigurationProvider  |     1 +
 .../seata/config/nacos/NacosConfigurationTest.java |    44 -
 .../seata/config/nacos/NacosConfigurationTest.java |    44 +
 .../springcloud/EnableSeataSpringConfig.java       |    30 -
 .../SpringApplicationContextProvider.java          |    44 -
 .../SpringApplicationContextProviderRegistrar.java |    39 -
 .../springcloud/SpringCloudConfiguration.java      |    93 -
 .../SpringCloudConfigurationProvider.java          |    29 -
 .../springcloud/EnableSeataSpringConfig.java       |    30 +
 .../SpringApplicationContextProvider.java          |    44 +
 .../SpringApplicationContextProviderRegistrar.java |    39 +
 .../springcloud/SpringCloudConfiguration.java      |    93 +
 .../SpringCloudConfigurationProvider.java          |    29 +
 .../services/io.seata.config.ConfigurationProvider |     1 -
 .../org.apache.seata.config.ConfigurationProvider  |     1 +
 .../io/seata/config/zk/DefaultZkSerializer.java    |    42 -
 .../io/seata/config/zk/ZookeeperConfiguration.java |   385 -
 .../config/zk/ZookeeperConfigurationProvider.java  |    35 -
 .../seata/config/zk/DefaultZkSerializer.java       |    42 +
 .../seata/config/zk/ZookeeperConfiguration.java    |   385 +
 .../config/zk/ZookeeperConfigurationProvider.java  |    35 +
 .../services/io.seata.config.ConfigurationProvider |     1 -
 .../org.apache.seata.config.ConfigurationProvider  |     1 +
 .../main/java/io/seata/console/Application.java    |    37 -
 .../io/seata/console/config/JacksonConfig.java     |    49 -
 .../io/seata/console/config/WebSecurityConfig.java |   124 -
 .../main/java/io/seata/console/constant/Code.java  |   104 -
 .../seata/console/controller/AuthController.java   |    79 -
 .../console/controller/OverviewController.java     |    55 -
 .../filter/JwtAuthenticationTokenFilter.java       |    86 -
 .../java/io/seata/console/param/BaseParam.java     |    77 -
 .../java/io/seata/console/result/PageResult.java   |   168 -
 .../main/java/io/seata/console/result/Result.java  |    61 -
 .../java/io/seata/console/result/SingleResult.java |    63 -
 .../security/CustomAuthenticationProvider.java     |    55 -
 .../seata/console/security/CustomUserDetails.java  |    76 -
 .../security/CustomUserDetailsServiceImpl.java     |    61 -
 .../security/JwtAuthenticationEntryPoint.java      |    46 -
 .../main/java/io/seata/console/security/User.java  |    53 -
 .../java/io/seata/console/utils/JwtTokenUtils.java |   139 -
 .../java/org/apache/seata/console/Application.java |    37 +
 .../apache/seata/console/config/JacksonConfig.java |    49 +
 .../seata/console/config/WebSecurityConfig.java    |   124 +
 .../org/apache/seata/console/constant/Code.java    |   104 +
 .../seata/console/controller/AuthController.java   |    79 +
 .../console/controller/OverviewController.java     |    55 +
 .../filter/JwtAuthenticationTokenFilter.java       |    86 +
 .../org/apache/seata/console/param/BaseParam.java  |    77 +
 .../apache/seata/console/result/PageResult.java    |   168 +
 .../org/apache/seata/console/result/Result.java    |    61 +
 .../apache/seata/console/result/SingleResult.java  |    63 +
 .../security/CustomAuthenticationProvider.java     |    55 +
 .../seata/console/security/CustomUserDetails.java  |    76 +
 .../security/CustomUserDetailsServiceImpl.java     |    61 +
 .../security/JwtAuthenticationEntryPoint.java      |    46 +
 .../org/apache/seata/console/security/User.java    |    53 +
 .../apache/seata/console/utils/JwtTokenUtils.java  |   139 +
 .../resources/static/console-fe/package-lock.json  |     8 +-
 core/pom.xml                                       |     2 +-
 .../main/java/io/seata/core/auth/AuthSigner.java   |    29 -
 .../java/io/seata/core/auth/DefaultAuthSigner.java |    40 -
 .../java/io/seata/core/auth/RamSignAdapter.java    |   145 -
 .../java/io/seata/core/compressor/Compressor.java  |    37 -
 .../seata/core/compressor/CompressorFactory.java   |    68 -
 .../io/seata/core/compressor/CompressorType.java   |   107 -
 .../core/constants/ClientTableColumnsName.java     |    65 -
 .../io/seata/core/constants/ConfigurationKeys.java |    26 -
 .../main/java/io/seata/core/constants/DBType.java  |   211 -
 .../io/seata/core/constants/DubboConstants.java    |    38 -
 .../io/seata/core/constants/RedisKeyConstants.java |   164 -
 .../seata/core/constants/RpcMessageConstants.java  |    36 -
 .../core/constants/ServerTableColumnsName.java     |   215 -
 .../java/io/seata/core/context/ContextCore.java    |    62 -
 .../io/seata/core/context/ContextCoreLoader.java   |    46 -
 .../core/context/FastThreadLocalContextCore.java   |    58 -
 .../seata/core/context/GlobalLockConfigHolder.java |    40 -
 .../java/io/seata/core/context/RootContext.java    |   281 -
 .../seata/core/context/ThreadLocalContextCore.java |    51 -
 core/src/main/java/io/seata/core/event/Event.java  |    24 -
 .../main/java/io/seata/core/event/EventBus.java    |    58 -
 .../java/io/seata/core/event/ExceptionEvent.java   |    34 -
 .../seata/core/event/GlobalTransactionEvent.java   |   207 -
 .../java/io/seata/core/event/GuavaEventBus.java    |    87 -
 .../core/exception/AbstractExceptionHandler.java   |   150 -
 .../core/exception/BranchTransactionException.java |    92 -
 .../io/seata/core/exception/DecodeException.java   |    26 -
 .../core/exception/GlobalTransactionException.java |    92 -
 .../core/exception/RmTransactionException.java     |    92 -
 .../core/exception/TmTransactionException.java     |    92 -
 .../seata/core/exception/TransactionException.java |   109 -
 .../core/exception/TransactionExceptionCode.java   |   172 -
 .../java/io/seata/core/lock/AbstractLocker.java    |   106 -
 .../java/io/seata/core/lock/LocalDBLocker.java     |    52 -
 core/src/main/java/io/seata/core/lock/Locker.java  |    93 -
 core/src/main/java/io/seata/core/lock/RowLock.java |   194 -
 .../io/seata/core/logger/StackTraceLogger.java     |    86 -
 .../java/io/seata/core/model/BranchStatus.java     |   148 -
 .../main/java/io/seata/core/model/BranchType.java  |    85 -
 .../java/io/seata/core/model/GlobalLockConfig.java |    55 -
 .../java/io/seata/core/model/GlobalStatus.java     |   215 -
 .../main/java/io/seata/core/model/LockStatus.java  |    81 -
 .../main/java/io/seata/core/model/Resource.java    |    48 -
 .../java/io/seata/core/model/ResourceManager.java  |    54 -
 .../seata/core/model/ResourceManagerInbound.java   |    56 -
 .../seata/core/model/ResourceManagerOutbound.java  |    66 -
 core/src/main/java/io/seata/core/model/Result.java |    76 -
 .../io/seata/core/model/TransactionManager.java    |    83 -
 .../core/protocol/AbstractIdentifyRequest.java     |   152 -
 .../core/protocol/AbstractIdentifyResponse.java    |    97 -
 .../io/seata/core/protocol/AbstractMessage.java    |    81 -
 .../seata/core/protocol/AbstractResultMessage.java |    65 -
 .../io/seata/core/protocol/BatchResultMessage.java |    59 -
 .../io/seata/core/protocol/HeartbeatMessage.java   |    58 -
 .../protocol/IncompatibleVersionException.java     |    33 -
 .../java/io/seata/core/protocol/MergeMessage.java  |    26 -
 .../io/seata/core/protocol/MergeResultMessage.java |    63 -
 .../io/seata/core/protocol/MergedWarpMessage.java  |    51 -
 .../java/io/seata/core/protocol/MessageFuture.java |   121 -
 .../java/io/seata/core/protocol/MessageType.java   |   147 -
 .../io/seata/core/protocol/MessageTypeAware.java   |    31 -
 .../io/seata/core/protocol/ProtocolConstants.java  |    88 -
 .../io/seata/core/protocol/RegisterRMRequest.java  |    80 -
 .../io/seata/core/protocol/RegisterRMResponse.java |    48 -
 .../io/seata/core/protocol/RegisterTMRequest.java  |    90 -
 .../io/seata/core/protocol/RegisterTMResponse.java |    48 -
 .../java/io/seata/core/protocol/ResultCode.java    |    61 -
 .../java/io/seata/core/protocol/RpcMessage.java    |   176 -
 .../main/java/io/seata/core/protocol/Version.java  |   156 -
 .../seata/core/protocol/VersionInfo.java.template  |    27 -
 .../transaction/AbstractBranchEndRequest.java      |   154 -
 .../transaction/AbstractBranchEndResponse.java     |   107 -
 .../transaction/AbstractGlobalEndRequest.java      |    77 -
 .../transaction/AbstractGlobalEndResponse.java     |    61 -
 .../transaction/AbstractTransactionRequest.java    |    37 -
 .../AbstractTransactionRequestToRM.java            |    39 -
 .../AbstractTransactionRequestToTC.java            |    39 -
 .../transaction/AbstractTransactionResponse.java   |    49 -
 .../protocol/transaction/BranchCommitRequest.java  |    39 -
 .../protocol/transaction/BranchCommitResponse.java |    31 -
 .../transaction/BranchRegisterRequest.java         |   151 -
 .../transaction/BranchRegisterResponse.java        |    64 -
 .../protocol/transaction/BranchReportRequest.java  |   173 -
 .../protocol/transaction/BranchReportResponse.java |    40 -
 .../transaction/BranchRollbackRequest.java         |    37 -
 .../transaction/BranchRollbackResponse.java        |    31 -
 .../protocol/transaction/GlobalBeginRequest.java   |    87 -
 .../protocol/transaction/GlobalBeginResponse.java  |    82 -
 .../protocol/transaction/GlobalCommitRequest.java  |    36 -
 .../protocol/transaction/GlobalCommitResponse.java |    31 -
 .../transaction/GlobalLockQueryRequest.java        |    38 -
 .../transaction/GlobalLockQueryResponse.java       |    62 -
 .../protocol/transaction/GlobalReportRequest.java  |    71 -
 .../protocol/transaction/GlobalReportResponse.java |    31 -
 .../transaction/GlobalRollbackRequest.java         |    36 -
 .../transaction/GlobalRollbackResponse.java        |    31 -
 .../protocol/transaction/GlobalStatusRequest.java  |    37 -
 .../protocol/transaction/GlobalStatusResponse.java |    31 -
 .../protocol/transaction/RMInboundHandler.java     |    48 -
 .../protocol/transaction/TCInboundHandler.java     |    99 -
 .../protocol/transaction/UndoLogDeleteRequest.java |    88 -
 .../io/seata/core/rpc/ClientMessageListener.java   |    34 -
 .../io/seata/core/rpc/ClientMessageSender.java     |    67 -
 .../main/java/io/seata/core/rpc/ClientType.java    |    62 -
 .../core/rpc/DefaultServerMessageListenerImpl.java |   241 -
 .../main/java/io/seata/core/rpc/Disposable.java    |    26 -
 .../seata/core/rpc/RegisterCheckAuthHandler.java   |    43 -
 .../java/io/seata/core/rpc/RemotingBootstrap.java  |    36 -
 .../java/io/seata/core/rpc/RemotingClient.java     |   103 -
 .../java/io/seata/core/rpc/RemotingServer.java     |    81 -
 .../java/io/seata/core/rpc/RemotingService.java    |    35 -
 .../main/java/io/seata/core/rpc/RpcContext.java    |   333 -
 .../io/seata/core/rpc/ServerMessageListener.java   |    63 -
 .../io/seata/core/rpc/ServerMessageSender.java     |   102 -
 .../main/java/io/seata/core/rpc/ShutdownHook.java  |   120 -
 .../seata/core/rpc/TransactionMessageHandler.java  |    45 -
 .../io/seata/core/rpc/TransportProtocolType.java   |    58 -
 .../io/seata/core/rpc/TransportServerType.java     |    56 -
 .../main/java/io/seata/core/rpc/hook/RpcHook.java  |    28 -
 .../java/io/seata/core/rpc/hook/StatusRpcHook.java |    35 -
 .../core/rpc/netty/AbstractNettyRemoting.java      |   382 -
 .../rpc/netty/AbstractNettyRemotingClient.java     |   490 -
 .../rpc/netty/AbstractNettyRemotingServer.java     |   271 -
 .../core/rpc/netty/ChannelAuthHealthChecker.java   |    40 -
 .../seata/core/rpc/netty/ChannelEventListener.java |    58 -
 .../io/seata/core/rpc/netty/ChannelManager.java    |   482 -
 .../java/io/seata/core/rpc/netty/ChannelUtil.java  |    76 -
 .../io/seata/core/rpc/netty/NettyBaseConfig.java   |   236 -
 .../seata/core/rpc/netty/NettyClientBootstrap.java |   195 -
 .../core/rpc/netty/NettyClientChannelManager.java  |   341 -
 .../io/seata/core/rpc/netty/NettyClientConfig.java |   459 -
 .../java/io/seata/core/rpc/netty/NettyPoolKey.java |   184 -
 .../seata/core/rpc/netty/NettyPoolableFactory.java |   147 -
 .../seata/core/rpc/netty/NettyRemotingServer.java  |   128 -
 .../seata/core/rpc/netty/NettyServerBootstrap.java |   206 -
 .../io/seata/core/rpc/netty/NettyServerConfig.java |   339 -
 .../seata/core/rpc/netty/RegisterMsgListener.java  |    48 -
 .../core/rpc/netty/RmNettyRemotingClient.java      |   336 -
 .../io/seata/core/rpc/netty/RpcEventLoopGroup.java |    45 -
 .../core/rpc/netty/TmNettyRemotingClient.java      |   292 -
 .../seata/core/rpc/netty/v1/HeadMapSerializer.java |   123 -
 .../seata/core/rpc/netty/v1/ProtocolV1Decoder.java |   164 -
 .../seata/core/rpc/netty/v1/ProtocolV1Encoder.java |   121 -
 .../java/io/seata/core/rpc/processor/Pair.java     |    40 -
 .../core/rpc/processor/RemotingProcessor.java      |    42 -
 .../processor/client/ClientHeartbeatProcessor.java |    46 -
 .../client/ClientOnResponseProcessor.java          |   137 -
 .../processor/client/RmBranchCommitProcessor.java  |    73 -
 .../client/RmBranchRollbackProcessor.java          |    73 -
 .../rpc/processor/client/RmUndoLogProcessor.java   |    61 -
 .../core/rpc/processor/server/BatchLogHandler.java |    95 -
 .../core/rpc/processor/server/RegRmProcessor.java  |    94 -
 .../core/rpc/processor/server/RegTmProcessor.java  |    97 -
 .../processor/server/ServerHeartbeatProcessor.java |    57 -
 .../processor/server/ServerOnRequestProcessor.java |   478 -
 .../server/ServerOnResponseProcessor.java          |    99 -
 .../java/io/seata/core/serializer/Serializer.java  |    42 -
 .../serializer/SerializerSecurityRegistry.java     |   205 -
 .../core/serializer/SerializerServiceLoader.java   |    53 -
 .../io/seata/core/serializer/SerializerType.java   |   116 -
 .../io/seata/core/store/BranchTransactionDO.java   |   269 -
 .../seata/core/store/DefaultDistributedLocker.java |    33 -
 .../io/seata/core/store/DistributedLockDO.java     |    69 -
 .../io/seata/core/store/DistributedLocker.java     |    38 -
 .../io/seata/core/store/GlobalTransactionDO.java   |   293 -
 core/src/main/java/io/seata/core/store/LockDO.java |   199 -
 .../main/java/io/seata/core/store/LockStore.java   |    92 -
 .../main/java/io/seata/core/store/LogStore.java    |   135 -
 .../core/store/db/AbstractDataSourceProvider.java  |   256 -
 .../io/seata/core/store/db/DataSourceProvider.java |    31 -
 .../distributed/lock/BaseDistributedLockSql.java   |    54 -
 .../sql/distributed/lock/DistributedLockSql.java   |    43 -
 .../lock/DistributedLockSqlFactory.java            |    33 -
 .../store/db/sql/lock/AbstractLockStoreSql.java    |   238 -
 .../core/store/db/sql/lock/DmLockStoreSql.java     |    28 -
 .../core/store/db/sql/lock/H2LockStoreSql.java     |    40 -
 .../seata/core/store/db/sql/lock/LockStoreSql.java |   101 -
 .../store/db/sql/lock/LockStoreSqlFactory.java     |    44 -
 .../store/db/sql/lock/MariadbLockStoreSql.java     |    28 -
 .../core/store/db/sql/lock/MysqlLockStoreSql.java  |    40 -
 .../store/db/sql/lock/OceanbaseLockStoreSql.java   |    39 -
 .../core/store/db/sql/lock/OracleLockStoreSql.java |    40 -
 .../store/db/sql/lock/PolarDBXLockStoreSql.java    |    27 -
 .../store/db/sql/lock/PostgresqlLockStoreSql.java  |    40 -
 .../store/db/sql/lock/SqlServerLockStoreSql.java   |    38 -
 .../store/db/sql/log/AbstractLogStoreSqls.java     |   223 -
 .../core/store/db/sql/log/DmLogStoreSqls.java      |    28 -
 .../core/store/db/sql/log/H2LogStoreSqls.java      |    26 -
 .../seata/core/store/db/sql/log/LogStoreSqls.java  |   179 -
 .../core/store/db/sql/log/LogStoreSqlsFactory.java |    40 -
 .../core/store/db/sql/log/MariadbLogStoreSqls.java |    26 -
 .../core/store/db/sql/log/MysqlLogStoreSqls.java   |   130 -
 .../store/db/sql/log/OceanbaseLogStoreSqls.java    |    26 -
 .../core/store/db/sql/log/OracleLogStoreSqls.java  |   136 -
 .../store/db/sql/log/PolarDBXLogStoreSqls.java     |    27 -
 .../store/db/sql/log/PostgresqlLogStoreSqls.java   |   134 -
 .../store/db/sql/log/SqlServerLogStoreSqls.java    |   128 -
 .../java/{io => org/apache}/seata/core/README.md   |     0
 .../org/apache/seata/core/auth/AuthSigner.java     |    29 +
 .../apache/seata/core/auth/DefaultAuthSigner.java  |    40 +
 .../org/apache/seata/core/auth/RamSignAdapter.java |   145 +
 .../apache/seata/core/compressor/Compressor.java   |    37 +
 .../seata/core/compressor/CompressorFactory.java   |    68 +
 .../seata/core/compressor/CompressorType.java      |   107 +
 .../core/constants/ClientTableColumnsName.java     |    65 +
 .../seata/core/constants/ConfigurationKeys.java    |    26 +
 .../org/apache/seata/core/constants/DBType.java    |   211 +
 .../seata/core/constants/DubboConstants.java       |    38 +
 .../seata/core/constants/RedisKeyConstants.java    |   164 +
 .../seata/core/constants/RpcMessageConstants.java  |    36 +
 .../core/constants/ServerTableColumnsName.java     |   215 +
 .../org/apache/seata/core/context/ContextCore.java |    62 +
 .../seata/core/context/ContextCoreLoader.java      |    46 +
 .../core/context/FastThreadLocalContextCore.java   |    58 +
 .../seata/core/context/GlobalLockConfigHolder.java |    40 +
 .../org/apache/seata/core/context/RootContext.java |   281 +
 .../seata/core/context/ThreadLocalContextCore.java |    51 +
 .../java/org/apache/seata/core/event/Event.java    |    24 +
 .../java/org/apache/seata/core/event/EventBus.java |    58 +
 .../apache/seata/core/event/ExceptionEvent.java    |    34 +
 .../seata/core/event/GlobalTransactionEvent.java   |   207 +
 .../org/apache/seata/core/event/GuavaEventBus.java |    87 +
 .../core/exception/AbstractExceptionHandler.java   |   146 +
 .../core/exception/BranchTransactionException.java |    92 +
 .../seata/core/exception/DecodeException.java      |    26 +
 .../core/exception/GlobalTransactionException.java |    92 +
 .../core/exception/RmTransactionException.java     |    92 +
 .../core/exception/TmTransactionException.java     |    92 +
 .../seata/core/exception/TransactionException.java |   109 +
 .../core/exception/TransactionExceptionCode.java   |   172 +
 .../org/apache/seata/core/lock/AbstractLocker.java |   106 +
 .../org/apache/seata/core/lock/LocalDBLocker.java  |    52 +
 .../java/org/apache/seata/core/lock/Locker.java    |    93 +
 .../java/org/apache/seata/core/lock/RowLock.java   |   194 +
 .../apache/seata/core/logger/StackTraceLogger.java |    86 +
 .../org/apache/seata/core/model/BranchStatus.java  |   148 +
 .../org/apache/seata/core/model/BranchType.java    |    85 +
 .../apache/seata/core/model/GlobalLockConfig.java  |    55 +
 .../org/apache/seata/core/model/GlobalStatus.java  |   215 +
 .../org/apache/seata/core/model/LockStatus.java    |    81 +
 .../java/org/apache/seata/core/model/Resource.java |    48 +
 .../apache/seata/core/model/ResourceManager.java   |    54 +
 .../seata/core/model/ResourceManagerInbound.java   |    56 +
 .../seata/core/model/ResourceManagerOutbound.java  |    66 +
 .../java/org/apache/seata/core/model/Result.java   |    76 +
 .../seata/core/model/TransactionManager.java       |    83 +
 .../core/protocol/AbstractIdentifyRequest.java     |   152 +
 .../core/protocol/AbstractIdentifyResponse.java    |    97 +
 .../seata/core/protocol/AbstractMessage.java       |    81 +
 .../seata/core/protocol/AbstractResultMessage.java |    65 +
 .../seata/core/protocol/BatchResultMessage.java    |    59 +
 .../seata/core/protocol/HeartbeatMessage.java      |    58 +
 .../protocol/IncompatibleVersionException.java     |    33 +
 .../apache/seata/core/protocol/MergeMessage.java   |    26 +
 .../seata/core/protocol/MergeResultMessage.java    |    63 +
 .../seata/core/protocol/MergedWarpMessage.java     |    51 +
 .../apache/seata/core/protocol/MessageFuture.java  |   121 +
 .../apache/seata/core/protocol/MessageType.java    |   147 +
 .../seata/core/protocol/MessageTypeAware.java      |    31 +
 .../seata/core/protocol/ProtocolConstants.java     |    88 +
 .../seata/core/protocol/RegisterRMRequest.java     |    80 +
 .../seata/core/protocol/RegisterRMResponse.java    |    48 +
 .../seata/core/protocol/RegisterTMRequest.java     |    89 +
 .../seata/core/protocol/RegisterTMResponse.java    |    48 +
 .../org/apache/seata/core/protocol/ResultCode.java |    61 +
 .../org/apache/seata/core/protocol/RpcMessage.java |   176 +
 .../org/apache/seata/core/protocol/Version.java    |   156 +
 .../seata/core/protocol/VersionInfo.java.template  |    28 +
 .../transaction/AbstractBranchEndRequest.java      |   154 +
 .../transaction/AbstractBranchEndResponse.java     |   107 +
 .../transaction/AbstractGlobalEndRequest.java      |    77 +
 .../transaction/AbstractGlobalEndResponse.java     |    61 +
 .../transaction/AbstractTransactionRequest.java    |    37 +
 .../AbstractTransactionRequestToRM.java            |    39 +
 .../AbstractTransactionRequestToTC.java            |    39 +
 .../transaction/AbstractTransactionResponse.java   |    49 +
 .../protocol/transaction/BranchCommitRequest.java  |    39 +
 .../protocol/transaction/BranchCommitResponse.java |    31 +
 .../transaction/BranchRegisterRequest.java         |   151 +
 .../transaction/BranchRegisterResponse.java        |    64 +
 .../protocol/transaction/BranchReportRequest.java  |   173 +
 .../protocol/transaction/BranchReportResponse.java |    40 +
 .../transaction/BranchRollbackRequest.java         |    37 +
 .../transaction/BranchRollbackResponse.java        |    31 +
 .../protocol/transaction/GlobalBeginRequest.java   |    87 +
 .../protocol/transaction/GlobalBeginResponse.java  |    82 +
 .../protocol/transaction/GlobalCommitRequest.java  |    36 +
 .../protocol/transaction/GlobalCommitResponse.java |    31 +
 .../transaction/GlobalLockQueryRequest.java        |    38 +
 .../transaction/GlobalLockQueryResponse.java       |    62 +
 .../protocol/transaction/GlobalReportRequest.java  |    71 +
 .../protocol/transaction/GlobalReportResponse.java |    31 +
 .../transaction/GlobalRollbackRequest.java         |    36 +
 .../transaction/GlobalRollbackResponse.java        |    31 +
 .../protocol/transaction/GlobalStatusRequest.java  |    37 +
 .../protocol/transaction/GlobalStatusResponse.java |    31 +
 .../protocol/transaction/RMInboundHandler.java     |    48 +
 .../protocol/transaction/TCInboundHandler.java     |    99 +
 .../protocol/transaction/UndoLogDeleteRequest.java |    88 +
 .../seata/core/rpc/ClientMessageListener.java      |    34 +
 .../apache/seata/core/rpc/ClientMessageSender.java |    67 +
 .../java/org/apache/seata/core/rpc/ClientType.java |    62 +
 .../core/rpc/DefaultServerMessageListenerImpl.java |   241 +
 .../java/org/apache/seata/core/rpc/Disposable.java |    26 +
 .../seata/core/rpc/RegisterCheckAuthHandler.java   |    43 +
 .../apache/seata/core/rpc/RemotingBootstrap.java   |    36 +
 .../org/apache/seata/core/rpc/RemotingClient.java  |   104 +
 .../org/apache/seata/core/rpc/RemotingServer.java  |    82 +
 .../org/apache/seata/core/rpc/RemotingService.java |    35 +
 .../java/org/apache/seata/core/rpc/RpcContext.java |   334 +
 .../seata/core/rpc/ServerMessageListener.java      |    63 +
 .../apache/seata/core/rpc/ServerMessageSender.java |   102 +
 .../org/apache/seata/core/rpc/ShutdownHook.java    |   120 +
 .../seata/core/rpc/TransactionMessageHandler.java  |    45 +
 .../seata/core/rpc/TransportProtocolType.java      |    58 +
 .../apache/seata/core/rpc/TransportServerType.java |    56 +
 .../org/apache/seata/core/rpc/hook/RpcHook.java    |    28 +
 .../apache/seata/core/rpc/hook/StatusRpcHook.java  |    35 +
 .../core/rpc/netty/AbstractNettyRemoting.java      |   382 +
 .../rpc/netty/AbstractNettyRemotingClient.java     |   490 +
 .../rpc/netty/AbstractNettyRemotingServer.java     |   271 +
 .../core/rpc/netty/ChannelAuthHealthChecker.java   |    40 +
 .../seata/core/rpc/netty/ChannelEventListener.java |    58 +
 .../seata/core/rpc/netty/ChannelManager.java       |   482 +
 .../apache/seata/core/rpc/netty/ChannelUtil.java   |    76 +
 .../seata/core/rpc/netty/NettyBaseConfig.java      |   236 +
 .../seata/core/rpc/netty/NettyClientBootstrap.java |   195 +
 .../core/rpc/netty/NettyClientChannelManager.java  |   341 +
 .../seata/core/rpc/netty/NettyClientConfig.java    |   459 +
 .../apache/seata/core/rpc/netty/NettyPoolKey.java  |   184 +
 .../seata/core/rpc/netty/NettyPoolableFactory.java |   147 +
 .../seata/core/rpc/netty/NettyRemotingServer.java  |   128 +
 .../seata/core/rpc/netty/NettyServerBootstrap.java |   206 +
 .../seata/core/rpc/netty/NettyServerConfig.java    |   339 +
 .../seata/core/rpc/netty/RegisterMsgListener.java  |    48 +
 .../core/rpc/netty/RmNettyRemotingClient.java      |   336 +
 .../seata/core/rpc/netty/RpcEventLoopGroup.java    |    45 +
 .../core/rpc/netty/TmNettyRemotingClient.java      |   292 +
 .../seata/core/rpc/netty/v1/HeadMapSerializer.java |   123 +
 .../seata/core/rpc/netty/v1/ProtocolV1Decoder.java |   164 +
 .../seata/core/rpc/netty/v1/ProtocolV1Encoder.java |   121 +
 .../org/apache/seata/core/rpc/processor/Pair.java  |    40 +
 .../core/rpc/processor/RemotingProcessor.java      |    42 +
 .../processor/client/ClientHeartbeatProcessor.java |    46 +
 .../client/ClientOnResponseProcessor.java          |   137 +
 .../processor/client/RmBranchCommitProcessor.java  |    73 +
 .../client/RmBranchRollbackProcessor.java          |    73 +
 .../rpc/processor/client/RmUndoLogProcessor.java   |    61 +
 .../core/rpc/processor/server/BatchLogHandler.java |    95 +
 .../core/rpc/processor/server/RegRmProcessor.java  |    94 +
 .../core/rpc/processor/server/RegTmProcessor.java  |    97 +
 .../processor/server/ServerHeartbeatProcessor.java |    57 +
 .../processor/server/ServerOnRequestProcessor.java |   478 +
 .../server/ServerOnResponseProcessor.java          |    99 +
 .../apache/seata/core/serializer/Serializer.java   |    42 +
 .../serializer/SerializerSecurityRegistry.java     |   235 +
 .../core/serializer/SerializerServiceLoader.java   |    53 +
 .../seata/core/serializer/SerializerType.java      |   116 +
 .../seata/core/store/BranchTransactionDO.java      |   269 +
 .../seata/core/store/DefaultDistributedLocker.java |    33 +
 .../apache/seata/core/store/DistributedLockDO.java |    69 +
 .../apache/seata/core/store/DistributedLocker.java |    38 +
 .../seata/core/store/GlobalTransactionDO.java      |   293 +
 .../java/org/apache/seata/core/store/LockDO.java   |   199 +
 .../org/apache/seata/core/store/LockStore.java     |    92 +
 .../java/org/apache/seata/core/store/LogStore.java |   135 +
 .../core/store/db/AbstractDataSourceProvider.java  |   256 +
 .../seata/core/store/db/DataSourceProvider.java    |    31 +
 .../distributed/lock/BaseDistributedLockSql.java   |    54 +
 .../sql/distributed/lock/DistributedLockSql.java   |    43 +
 .../lock/DistributedLockSqlFactory.java            |    33 +
 .../store/db/sql/lock/AbstractLockStoreSql.java    |   237 +
 .../core/store/db/sql/lock/DmLockStoreSql.java     |    28 +
 .../core/store/db/sql/lock/H2LockStoreSql.java     |    40 +
 .../seata/core/store/db/sql/lock/LockStoreSql.java |   101 +
 .../store/db/sql/lock/LockStoreSqlFactory.java     |    44 +
 .../store/db/sql/lock/MariadbLockStoreSql.java     |    28 +
 .../core/store/db/sql/lock/MysqlLockStoreSql.java  |    40 +
 .../store/db/sql/lock/OceanbaseLockStoreSql.java   |    39 +
 .../core/store/db/sql/lock/OracleLockStoreSql.java |    40 +
 .../store/db/sql/lock/PolarDBXLockStoreSql.java    |    27 +
 .../store/db/sql/lock/PostgresqlLockStoreSql.java  |    40 +
 .../store/db/sql/lock/SqlServerLockStoreSql.java   |    38 +
 .../store/db/sql/log/AbstractLogStoreSqls.java     |   222 +
 .../core/store/db/sql/log/DmLogStoreSqls.java      |    28 +
 .../core/store/db/sql/log/H2LogStoreSqls.java      |    26 +
 .../seata/core/store/db/sql/log/LogStoreSqls.java  |   179 +
 .../core/store/db/sql/log/LogStoreSqlsFactory.java |    40 +
 .../core/store/db/sql/log/MariadbLogStoreSqls.java |    26 +
 .../core/store/db/sql/log/MysqlLogStoreSqls.java   |   130 +
 .../store/db/sql/log/OceanbaseLogStoreSqls.java    |    26 +
 .../core/store/db/sql/log/OracleLogStoreSqls.java  |   136 +
 .../store/db/sql/log/PolarDBXLogStoreSqls.java     |    27 +
 .../store/db/sql/log/PostgresqlLogStoreSqls.java   |   134 +
 .../store/db/sql/log/SqlServerLogStoreSqls.java    |   128 +
 .../services/io.seata.core.auth.AuthSigner         |     1 -
 .../services/io.seata.core.context.ContextCore     |     2 -
 .../services/io.seata.core.rpc.hook.RpcHook        |     1 -
 .../io.seata.core.store.db.sql.lock.LockStoreSql   |     9 -
 .../io.seata.core.store.db.sql.log.LogStoreSqls    |     9 -
 .../services/org.apache.seata.core.auth.AuthSigner |     1 +
 .../org.apache.seata.core.context.ContextCore      |     2 +
 .../org.apache.seata.core.rpc.hook.RpcHook         |     1 +
 ...pache.seata.core.store.db.sql.lock.LockStoreSql |     9 +
 ...apache.seata.core.store.db.sql.log.LogStoreSqls |     9 +
 .../io/seata/core/auth/DefaultAuthSignerTest.java  |    54 -
 .../io/seata/core/auth/RamSignAdapterTest.java     |    88 -
 .../seata/core/compressor/CompressorTypeTest.java  |    42 -
 .../io/seata/core/context/ContextCoreTest.java     |   102 -
 .../core/context/GlobalLockConfigHolderTest.java   |    48 -
 .../io/seata/core/context/RootContextTest.java     |   245 -
 .../core/context/ThreadLocalContextCoreTest.java   |    68 -
 .../io/seata/core/event/ExceptionEventTest.java    |    35 -
 .../core/event/GlobalTransactionEventTest.java     |    96 -
 .../io/seata/core/event/GuavaEventBusTest.java     |    68 -
 .../io/seata/core/lock/AbstractLockerTest.java     |   147 -
 .../java/io/seata/core/lock/LocalDBLockerTest.java |    73 -
 .../core/message/BranchCommitRequestTest.java      |    50 -
 .../core/message/BranchCommitResponseTest.java     |    49 -
 .../core/message/BranchRegisterRequestTest.java    |    44 -
 .../core/message/BranchRegisterResponseTest.java   |    46 -
 .../core/message/BranchReportRequestTest.java      |    46 -
 .../seata/core/message/GlobalBeginRequestTest.java |    44 -
 .../core/message/GlobalCommitResponseTest.java     |    51 -
 .../core/message/GlobalRollbackRequestTest.java    |    40 -
 .../seata/core/message/RegisterTMRequestTest.java  |    43 -
 .../seata/core/message/RegisterTMResponseTest.java |    61 -
 .../java/io/seata/core/model/BranchStatusTest.java |    68 -
 .../java/io/seata/core/model/BranchTypeTest.java   |    68 -
 .../io/seata/core/model/GlobalLockConfigTest.java  |    49 -
 .../java/io/seata/core/model/GlobalStatusTest.java |    89 -
 .../test/java/io/seata/core/model/ResultTest.java  |    97 -
 .../core/model/TransactionExceptionCodeTest.java   |    67 -
 .../core/protocol/BatchResultMessageTest.java      |    71 -
 .../seata/core/protocol/HeartbeatMessageTest.java  |    39 -
 .../core/protocol/MergeResultMessageTest.java      |    81 -
 .../seata/core/protocol/MergedWarpMessageTest.java |    67 -
 .../io/seata/core/protocol/MessageFutureTest.java  |   198 -
 .../seata/core/protocol/RegisterRMRequestTest.java |    55 -
 .../core/protocol/RegisterRMResponseTest.java      |    55 -
 .../seata/core/protocol/RegisterTMRequestTest.java |    41 -
 .../io/seata/core/protocol/ResultCodeTest.java     |    62 -
 .../io/seata/core/protocol/RpcMessageTest.java     |    66 -
 .../java/io/seata/core/protocol/VersionTest.java   |    75 -
 .../transaction/BranchRollbackRequestTest.java     |    41 -
 .../transaction/BranchRollbackResponseTest.java    |    41 -
 .../transaction/GlobalBeginResponseTest.java       |    53 -
 .../java/io/seata/core/rpc/RpcContextTest.java     |   184 -
 .../java/io/seata/core/rpc/ShutdownHookTest.java   |    91 -
 .../seata/core/rpc/netty/NettyBaseConfigTest.java  |    44 -
 .../rpc/netty/NettyClientChannelManagerTest.java   |   179 -
 .../io/seata/core/rpc/netty/NettyPoolKeyTest.java  |    79 -
 .../core/rpc/netty/NettyRemotingServerTest.java    |    83 -
 .../io/seata/core/rpc/netty/RmNettyClientTest.java |   110 -
 .../io/seata/core/rpc/netty/TmNettyClientTest.java |   178 -
 .../serializer/SerializerSecurityRegistryTest.java |    59 -
 .../store/db/sql/lock/LockStoreSqlFactoryTest.java |   382 -
 .../store/db/sql/log/LogStoreSqlsFactoryTest.java  |   250 -
 .../seata/core/auth/DefaultAuthSignerTest.java     |    54 +
 .../apache/seata/core/auth/RamSignAdapterTest.java |    88 +
 .../seata/core/compressor/CompressorTypeTest.java  |    42 +
 .../apache/seata/core/context/ContextCoreTest.java |   102 +
 .../core/context/GlobalLockConfigHolderTest.java   |    48 +
 .../apache/seata/core/context/RootContextTest.java |   245 +
 .../core/context/ThreadLocalContextCoreTest.java   |    68 +
 .../seata/core/event/ExceptionEventTest.java       |    35 +
 .../core/event/GlobalTransactionEventTest.java     |    96 +
 .../apache/seata/core/event/GuavaEventBusTest.java |    68 +
 .../apache/seata/core/lock/AbstractLockerTest.java |   147 +
 .../apache/seata/core/lock/LocalDBLockerTest.java  |    73 +
 .../core/message/BranchCommitRequestTest.java      |    50 +
 .../core/message/BranchCommitResponseTest.java     |    49 +
 .../core/message/BranchRegisterRequestTest.java    |    44 +
 .../core/message/BranchRegisterResponseTest.java   |    46 +
 .../core/message/BranchReportRequestTest.java      |    46 +
 .../seata/core/message/GlobalBeginRequestTest.java |    44 +
 .../core/message/GlobalCommitResponseTest.java     |    51 +
 .../core/message/GlobalRollbackRequestTest.java    |    40 +
 .../seata/core/message/RegisterTMRequestTest.java  |    43 +
 .../seata/core/message/RegisterTMResponseTest.java |    61 +
 .../apache/seata/core/model/BranchStatusTest.java  |    68 +
 .../apache/seata/core/model/BranchTypeTest.java    |    68 +
 .../seata/core/model/GlobalLockConfigTest.java     |    49 +
 .../apache/seata/core/model/GlobalStatusTest.java  |    89 +
 .../org/apache/seata/core/model/ResultTest.java    |    97 +
 .../core/model/TransactionExceptionCodeTest.java   |    67 +
 .../core/protocol/BatchResultMessageTest.java      |    71 +
 .../seata/core/protocol/HeartbeatMessageTest.java  |    39 +
 .../core/protocol/MergeResultMessageTest.java      |    79 +
 .../seata/core/protocol/MergedWarpMessageTest.java |    67 +
 .../seata/core/protocol/MessageFutureTest.java     |   198 +
 .../seata/core/protocol/RegisterRMRequestTest.java |    55 +
 .../core/protocol/RegisterRMResponseTest.java      |    55 +
 .../seata/core/protocol/RegisterTMRequestTest.java |    41 +
 .../apache/seata/core/protocol/ResultCodeTest.java |    62 +
 .../apache/seata/core/protocol/RpcMessageTest.java |    66 +
 .../apache/seata/core/protocol/VersionTest.java    |    75 +
 .../transaction/BranchRollbackRequestTest.java     |    41 +
 .../transaction/BranchRollbackResponseTest.java    |    41 +
 .../transaction/GlobalBeginResponseTest.java       |    53 +
 .../org/apache/seata/core/rpc/RpcContextTest.java  |   184 +
 .../apache/seata/core/rpc/ShutdownHookTest.java    |    91 +
 .../seata/core/rpc/netty/NettyBaseConfigTest.java  |    44 +
 .../rpc/netty/NettyClientChannelManagerTest.java   |   179 +
 .../seata/core/rpc/netty/NettyPoolKeyTest.java     |    79 +
 .../core/rpc/netty/NettyRemotingServerTest.java    |    83 +
 .../seata/core/rpc/netty/RmNettyClientTest.java    |   105 +
 .../seata/core/rpc/netty/TmNettyClientTest.java    |   174 +
 .../serializer/SerializerSecurityRegistryTest.java |    59 +
 .../store/db/sql/lock/LockStoreSqlFactoryTest.java |   382 +
 .../store/db/sql/log/LogStoreSqlsFactoryTest.java  |   250 +
 .../discovery/registry/consul/ConsulListener.java  |    32 -
 .../registry/consul/ConsulRegistryProvider.java    |    31 -
 .../registry/consul/ConsulRegistryServiceImpl.java |   370 -
 .../discovery/registry/consul/ConsulListener.java  |    32 +
 .../registry/consul/ConsulRegistryProvider.java    |    31 +
 .../registry/consul/ConsulRegistryServiceImpl.java |   370 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../consul/ConsulRegistryServiceImplTest.java      |    63 -
 .../consul/ConsulRegistryServiceImplTest.java      |    63 +
 .../loadbalance/ConsistentHashLoadBalance.java     |   104 -
 .../loadbalance/LeastActiveLoadBalance.java        |    55 -
 .../seata/discovery/loadbalance/LoadBalance.java   |    39 -
 .../discovery/loadbalance/LoadBalanceFactory.java  |    58 -
 .../discovery/loadbalance/RandomLoadBalance.java   |    38 -
 .../loadbalance/RoundRobinLoadBalance.java         |    51 -
 .../discovery/loadbalance/XIDLoadBalance.java      |    66 -
 .../discovery/registry/FileRegistryProvider.java   |    30 -
 .../registry/FileRegistryServiceImpl.java          |   115 -
 .../discovery/registry/MultiRegistryFactory.java   |    78 -
 .../seata/discovery/registry/RegistryFactory.java  |    63 -
 .../discovery/registry/RegistryHeartBeats.java     |   107 -
 .../seata/discovery/registry/RegistryProvider.java |    28 -
 .../seata/discovery/registry/RegistryService.java  |   152 -
 .../io/seata/discovery/registry/RegistryType.java  |    79 -
 .../loadbalance/ConsistentHashLoadBalance.java     |   102 +
 .../loadbalance/LeastActiveLoadBalance.java        |    55 +
 .../seata/discovery/loadbalance/LoadBalance.java   |    39 +
 .../discovery/loadbalance/LoadBalanceFactory.java  |    58 +
 .../discovery/loadbalance/RandomLoadBalance.java   |    36 +
 .../loadbalance/RoundRobinLoadBalance.java         |    49 +
 .../discovery/loadbalance/XIDLoadBalance.java      |    66 +
 .../discovery/registry/FileRegistryProvider.java   |    30 +
 .../registry/FileRegistryServiceImpl.java          |   115 +
 .../discovery/registry/MultiRegistryFactory.java   |    78 +
 .../seata/discovery/registry/RegistryFactory.java  |    63 +
 .../discovery/registry/RegistryHeartBeats.java     |   107 +
 .../seata/discovery/registry/RegistryProvider.java |    28 +
 .../seata/discovery/registry/RegistryService.java  |   152 +
 .../seata/discovery/registry/RegistryType.java     |    79 +
 .../io.seata.discovery.loadbalance.LoadBalance     |     5 -
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ....apache.seata.discovery.loadbalance.LoadBalance |     5 +
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../io/seata/config/ConfigurationFactoryTest.java  |    45 -
 .../loadbalance/LoadBalanceFactoryTest.java        |   132 -
 .../discovery/loadbalance/LoadBalanceTest.java     |   184 -
 .../seata/config/ConfigurationFactoryTest.java     |    45 +
 .../loadbalance/LoadBalanceFactoryTest.java        |   132 +
 .../discovery/loadbalance/LoadBalanceTest.java     |   184 +
 .../registry/custom/CustomRegistryProvider.java    |    53 -
 .../registry/custom/CustomRegistryProvider.java    |    53 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../custom/CustomRegistryProviderForTest.java      |    29 -
 .../custom/CustomRegistryServiceForTest.java       |    56 -
 .../registry/custom/CustomRegistryTest.java        |    30 -
 .../custom/CustomRegistryProviderForTest.java      |    29 +
 .../custom/CustomRegistryServiceForTest.java       |    56 +
 .../registry/custom/CustomRegistryTest.java        |    30 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../registry/etcd3/EtcdRegistryProvider.java       |    31 -
 .../registry/etcd3/EtcdRegistryServiceImpl.java    |   460 -
 .../registry/etcd3/EtcdRegistryProvider.java       |    31 +
 .../registry/etcd3/EtcdRegistryServiceImpl.java    |   460 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../registry/etcd/EtcdRegistryProviderTest.java    |    36 -
 .../registry/etcd/EtcdRegistryServiceImplTest.java |   202 -
 .../registry/etcd/EtcdRegistryProviderTest.java    |    36 +
 .../registry/etcd/EtcdRegistryServiceImplTest.java |   202 +
 .../eureka/CustomEurekaInstanceConfig.java         |    85 -
 .../registry/eureka/EurekaRegistryProvider.java    |    31 -
 .../registry/eureka/EurekaRegistryServiceImpl.java |   252 -
 .../eureka/CustomEurekaInstanceConfig.java         |    85 +
 .../registry/eureka/EurekaRegistryProvider.java    |    31 +
 .../registry/eureka/EurekaRegistryServiceImpl.java |   252 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../registry/nacos/NacosRegistryProvider.java      |    31 -
 .../registry/nacos/NacosRegistryServiceImpl.java   |   370 -
 .../registry/nacos/NacosRegistryProvider.java      |    31 +
 .../registry/nacos/NacosRegistryServiceImpl.java   |   370 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../nacos/NacosRegistryServiceImplTest.java        |    45 -
 .../nacos/NacosRegistryServiceImplTest.java        |    44 +
 .../registry/raft/RaftRegistryProvider.java        |    32 -
 .../registry/raft/RaftRegistryServiceImpl.java     |   482 -
 .../registry/raft/RaftRegistryProvider.java        |    32 +
 .../registry/raft/RaftRegistryServiceImpl.java     |   482 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../registry/raft/RaftRegistryServiceImplTest.java |   148 -
 .../registry/raft/RaftRegistryServiceImplTest.java |   148 +
 .../discovery/registry/redis/RedisListener.java    |    39 -
 .../registry/redis/RedisRegistryProvider.java      |    31 -
 .../registry/redis/RedisRegistryServiceImpl.java   |   361 -
 .../discovery/registry/redis/RedisListener.java    |    39 +
 .../registry/redis/RedisRegistryProvider.java      |    31 +
 .../registry/redis/RedisRegistryServiceImpl.java   |   361 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../redis/RedisRegisterServiceImplTest.java        |   119 -
 .../redis/RedisRegisterServiceImplTest.java        |   117 +
 .../registry/sofa/SofaRegistryProvider.java        |    32 -
 .../registry/sofa/SofaRegistryServiceImpl.java     |   306 -
 .../registry/sofa/SofaRegistryProvider.java        |    32 +
 .../registry/sofa/SofaRegistryServiceImpl.java     |   306 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../registry/zk/ZookeeperRegisterServiceImpl.java  |   323 -
 .../registry/zk/ZookeeperRegistryProvider.java     |    31 -
 .../registry/zk/ZookeeperRegisterServiceImpl.java  |   323 +
 .../registry/zk/ZookeeperRegistryProvider.java     |    31 +
 .../io.seata.discovery.registry.RegistryProvider   |     1 -
 ...pache.seata.discovery.registry.RegistryProvider |     1 +
 .../zk/ZookeeperRegisterServiceImplTest.java       |   173 -
 .../registry/zk/ZookeeperRegistryProviderTest.java |    32 -
 .../zk/ZookeeperRegisterServiceImplTest.java       |   173 +
 .../registry/zk/ZookeeperRegistryProviderTest.java |    32 +
 distribution/release-seata.xml                     |     2 +-
 .../DefaultCoreDoGlobalCommitInterceptor.java      |    68 -
 .../NettyRemotingClientSendSyncInterceptor.java    |    82 -
 .../RemotingProcessorProcessInterceptor.java       |    81 -
 .../skywalking/plugin/common/SWSeataConstants.java |    62 -
 .../apm/skywalking/plugin/common/SWSeataUtils.java |    66 -
 .../plugin/common/SeataPluginConfig.java           |    30 -
 .../AbstractNettyRemotingInstrumentation.java      |    92 -
 .../plugin/define/DefaultCoreInstrumentation.java  |   109 -
 .../define/RemotingProcessorInstrumentation.java   |    75 -
 .../DefaultCoreDoGlobalCommitInterceptor.java      |    68 +
 .../NettyRemotingClientSendSyncInterceptor.java    |    82 +
 .../RemotingProcessorProcessInterceptor.java       |    81 +
 .../skywalking/plugin/common/SWSeataConstants.java |    62 +
 .../apm/skywalking/plugin/common/SWSeataUtils.java |    66 +
 .../plugin/common/SeataPluginConfig.java           |    30 +
 .../AbstractNettyRemotingInstrumentation.java      |    92 +
 .../plugin/define/DefaultCoreInstrumentation.java  |   109 +
 .../define/RemotingProcessorInstrumentation.java   |    75 +
 .../src/main/resources/skywalking-plugin.def       |     6 +-
 .../skywalking/plugin/common/SWSeataUtilsTest.java |    53 -
 .../skywalking/plugin/common/SWSeataUtilsTest.java |    53 +
 .../tx/api/annotation/AspectTransactional.java     |   184 -
 .../BusinessActionContextParameterDesc.java        |    72 -
 .../tx/api/event/DegradeCheckEvent.java            |    33 -
 .../tx/api/fence/DefaultCommonFenceHandler.java    |    71 -
 .../integration/tx/api/fence/FenceHandler.java     |    36 -
 .../tx/api/fence/config/CommonFenceConfig.java     |   127 -
 .../tx/api/fence/constant/CommonFenceConstant.java |    48 -
 .../api/fence/exception/CommonFenceException.java  |    52 -
 .../tx/api/fence/store/CommonFenceDO.java          |   106 -
 .../tx/api/fence/store/CommonFenceStore.java       |    90 -
 .../store/db/CommonFenceStoreDataBaseDAO.java      |   211 -
 .../fence/store/db/sql/CommonFenceStoreSqls.java   |   129 -
 .../tx/api/interceptor/ActionContextFilter.java    |    35 -
 .../tx/api/interceptor/ActionContextUtil.java      |   295 -
 .../api/interceptor/ActionInterceptorHandler.java  |   276 -
 .../api/interceptor/DefaultInvocationWrapper.java  |    69 -
 .../tx/api/interceptor/InvocationWrapper.java      |    36 -
 .../tx/api/interceptor/SeataInterceptor.java       |    40 -
 .../api/interceptor/SeataInterceptorPosition.java  |    41 -
 .../interceptor/TwoPhaseBusinessActionParam.java   |    78 -
 .../tx/api/interceptor/TxBeanParserUtils.java      |    69 -
 .../handler/AbstractProxyInvocationHandler.java    |    48 -
 .../handler/DefaultInvocationHandler.java          |    55 -
 .../GlobalTransactionalInterceptorHandler.java     |   384 -
 .../handler/ProxyInvocationHandler.java            |    35 -
 .../interceptor/parser/DefaultInterfaceParser.java |    78 -
 .../parser/DefaultResourceRegisterParser.java      |    60 -
 .../parser/DefaultTargetClassParser.java           |    75 -
 .../GlobalTransactionalInterceptorParser.java      |   105 -
 .../api/interceptor/parser/IfNeedEnhanceBean.java  |    41 -
 .../tx/api/interceptor/parser/InterfaceParser.java |    30 -
 .../tx/api/interceptor/parser/NeedEnhanceEnum.java |    30 -
 .../interceptor/parser/RegisterResourceParser.java |    25 -
 .../api/interceptor/parser/TargetClassParser.java  |    27 -
 .../seata/integration/tx/api/json/JsonParser.java  |    30 -
 .../integration/tx/api/json/JsonParserFactory.java |    39 -
 .../integration/tx/api/json/JsonParserWrap.java    |    53 -
 .../integration/tx/api/remoting/Protocols.java     |    49 -
 .../integration/tx/api/remoting/RemotingDesc.java  |   207 -
 .../tx/api/remoting/RemotingParser.java            |    84 -
 .../tx/api/remoting/TwoPhaseResult.java            |    95 -
 .../remoting/parser/AbstractedRemotingParser.java  |    34 -
 .../api/remoting/parser/DefaultRemotingParser.java |   208 -
 .../api/remoting/parser/DubboRemotingParser.java   |    82 -
 .../tx/api/remoting/parser/HSFRemotingParser.java  |   129 -
 .../api/remoting/parser/SofaRpcRemotingParser.java |    81 -
 .../seata/integration/tx/api/util/ClassUtils.java  |    67 -
 .../seata/integration/tx/api/util/DubboUtil.java   |    76 -
 .../io/seata/integration/tx/api/util/JsonUtil.java |    47 -
 .../seata/integration/tx/api/util/ProxyUtil.java   |    81 -
 .../io/seata/rm/tcc/api/BusinessActionContext.java |   251 -
 .../rm/tcc/api/BusinessActionContextParameter.java |    77 -
 .../rm/tcc/api/BusinessActionContextUtil.java      |   176 -
 .../main/java/io/seata/rm/tcc/api/ParamType.java   |    44 -
 .../io/seata/spring/annotation/GlobalLock.java     |    56 -
 .../spring/annotation/GlobalTransactional.java     |   136 -
 .../tx/api/annotation/AspectTransactional.java     |   184 +
 .../BusinessActionContextParameterDesc.java        |    72 +
 .../tx/api/event/DegradeCheckEvent.java            |    33 +
 .../tx/api/fence/DefaultCommonFenceHandler.java    |    71 +
 .../integration/tx/api/fence/FenceHandler.java     |    36 +
 .../tx/api/fence/config/CommonFenceConfig.java     |   127 +
 .../tx/api/fence/constant/CommonFenceConstant.java |    48 +
 .../api/fence/exception/CommonFenceException.java  |    52 +
 .../tx/api/fence/store/CommonFenceDO.java          |   106 +
 .../tx/api/fence/store/CommonFenceStore.java       |    90 +
 .../store/db/CommonFenceStoreDataBaseDAO.java      |   211 +
 .../fence/store/db/sql/CommonFenceStoreSqls.java   |   129 +
 .../tx/api/interceptor/ActionContextFilter.java    |    35 +
 .../tx/api/interceptor/ActionContextUtil.java      |   295 +
 .../api/interceptor/ActionInterceptorHandler.java  |   276 +
 .../api/interceptor/DefaultInvocationWrapper.java  |    69 +
 .../tx/api/interceptor/InvocationWrapper.java      |    36 +
 .../tx/api/interceptor/SeataInterceptor.java       |    40 +
 .../api/interceptor/SeataInterceptorPosition.java  |    41 +
 .../interceptor/TwoPhaseBusinessActionParam.java   |    78 +
 .../tx/api/interceptor/TxBeanParserUtils.java      |    69 +
 .../handler/AbstractProxyInvocationHandler.java    |    48 +
 .../handler/DefaultInvocationHandler.java          |    55 +
 .../GlobalTransactionalInterceptorHandler.java     |   384 +
 .../handler/ProxyInvocationHandler.java            |    35 +
 .../interceptor/parser/DefaultInterfaceParser.java |    78 +
 .../parser/DefaultResourceRegisterParser.java      |    60 +
 .../parser/DefaultTargetClassParser.java           |    75 +
 .../GlobalTransactionalInterceptorParser.java      |   105 +
 .../api/interceptor/parser/IfNeedEnhanceBean.java  |    41 +
 .../tx/api/interceptor/parser/InterfaceParser.java |    30 +
 .../tx/api/interceptor/parser/NeedEnhanceEnum.java |    30 +
 .../interceptor/parser/RegisterResourceParser.java |    25 +
 .../api/interceptor/parser/TargetClassParser.java  |    27 +
 .../seata/integration/tx/api/json/JsonParser.java  |    30 +
 .../integration/tx/api/json/JsonParserFactory.java |    39 +
 .../integration/tx/api/json/JsonParserWrap.java    |    53 +
 .../integration/tx/api/remoting/Protocols.java     |    49 +
 .../integration/tx/api/remoting/RemotingDesc.java  |   207 +
 .../tx/api/remoting/RemotingParser.java            |    84 +
 .../tx/api/remoting/TwoPhaseResult.java            |    95 +
 .../remoting/parser/AbstractedRemotingParser.java  |    34 +
 .../api/remoting/parser/DefaultRemotingParser.java |   208 +
 .../api/remoting/parser/DubboRemotingParser.java   |    82 +
 .../tx/api/remoting/parser/HSFRemotingParser.java  |   129 +
 .../api/remoting/parser/SofaRpcRemotingParser.java |    81 +
 .../seata/integration/tx/api/util/ClassUtils.java  |    67 +
 .../seata/integration/tx/api/util/DubboUtil.java   |    76 +
 .../seata/integration/tx/api/util/JsonUtil.java    |    47 +
 .../seata/integration/tx/api/util/ProxyUtil.java   |    81 +
 .../seata/rm/tcc/api/BusinessActionContext.java    |   251 +
 .../rm/tcc/api/BusinessActionContextParameter.java |    77 +
 .../rm/tcc/api/BusinessActionContextUtil.java      |   176 +
 .../org/apache/seata/rm/tcc/api/ParamType.java     |    44 +
 .../apache/seata/spring/annotation/GlobalLock.java |    56 +
 .../spring/annotation/GlobalTransactional.java     |   136 +
 ...ation.tx.api.interceptor.parser.InterfaceParser |     1 -
 ...eata.integration.tx.api.remoting.RemotingParser |     3 -
 ...ation.tx.api.interceptor.parser.InterfaceParser |     1 +
 ...eata.integration.tx.api.remoting.RemotingParser |     3 +
 .../interceptor/ActionInterceptorHandlerTest.java  |    61 -
 .../interceptor/DefaultInvocationWrapperTest.java  |    53 -
 .../integration/tx/api/interceptor/TestAction.java |    34 -
 .../integration/tx/api/interceptor/TestParam.java  |    66 -
 .../tx/api/interceptor/parser/Business.java        |    30 -
 .../tx/api/interceptor/parser/BusinessImpl.java    |    35 -
 .../GlobalTransactionalInterceptorParserTest.java  |    43 -
 .../parser/ProxyUtilsGlobalTransactionalTest.java  |    83 -
 .../interceptor/ActionInterceptorHandlerTest.java  |    61 +
 .../interceptor/DefaultInvocationWrapperTest.java  |    53 +
 .../integration/tx/api/interceptor/TestAction.java |    34 +
 .../integration/tx/api/interceptor/TestParam.java  |    66 +
 .../tx/api/interceptor/parser/Business.java        |    30 +
 .../tx/api/interceptor/parser/BusinessImpl.java    |    35 +
 .../GlobalTransactionalInterceptorParserTest.java  |    43 +
 .../parser/ProxyUtilsGlobalTransactionalTest.java  |    83 +
 .../TransactionPropagationClientInterceptor.java   |    74 -
 .../TransactionPropagationServerInterceptor.java   |    87 -
 .../TransactionPropagationClientInterceptor.java   |    74 +
 .../TransactionPropagationServerInterceptor.java   |    87 +
 .../brpc/TransactionInterceptorTest.java           |    90 -
 .../java/io/seata/integration/brpc/dto/Echo.java   |  1516 -
 .../seata/integration/brpc/server/EchoService.java |    31 -
 .../brpc/server/impl/EchoServiceImpl.java          |    41 -
 .../brpc/TransactionInterceptorTest.java           |    90 +
 .../apache/seata/integration/brpc/dto/Echo.java    |  1516 +
 .../seata/integration/brpc/server/EchoService.java |    31 +
 .../brpc/server/impl/EchoServiceImpl.java          |    41 +
 integration/brpc/src/test/proto/Echo.proto         |     2 +-
 .../AlibabaDubboTransactionPropagationFilter.java  |   115 -
 .../AlibabaDubboTransactionPropagationFilter.java  |   115 +
 .../META-INF/services/com.alibaba.dubbo.rpc.Filter |     2 +-
 ...ibabaDubboTransactionPropagationFilterTest.java |    71 -
 .../dubbo/alibaba/mock/MockInvoker.java            |    65 -
 ...ibabaDubboTransactionPropagationFilterTest.java |    69 +
 .../dubbo/alibaba/mock/MockInvoker.java            |    65 +
 .../grpc/interceptor/GrpcHeaderKey.java            |    31 -
 .../client/ClientTransactionInterceptor.java       |    58 -
 .../interceptor/server/ServerListenerProxy.java    |    87 -
 .../server/ServerTransactionInterceptor.java       |    64 -
 .../grpc/interceptor/GrpcHeaderKey.java            |    31 +
 .../client/ClientTransactionInterceptor.java       |    58 +
 .../interceptor/server/ServerListenerProxy.java    |    87 +
 .../server/ServerTransactionInterceptor.java       |    64 +
 .../integration/grpc/interceptor/GrpcTest.java     |   110 -
 .../integration/grpc/interceptor/GrpcTest.java     |   110 +
 integration/grpc/src/test/proto/contextTest.proto  |     2 +-
 .../integration/hsf/HsfTransactionFilter.java      |   103 -
 .../integration/hsf/HsfTransactionFilter.java      |   103 +
 .../com.taobao.hsf.invocation.filter.RPCFilter     |     2 +-
 .../http/JakartaSeataWebMvcConfigurer.java         |    31 -
 .../JakartaTransactionPropagationInterceptor.java  |    40 -
 .../http/JakartaSeataWebMvcConfigurer.java         |    31 +
 .../JakartaTransactionPropagationInterceptor.java  |    40 +
 .../integration/http/AbstractHttpExecutor.java     |   175 -
 .../integration/http/DefaultHttpExecutor.java      |   121 -
 .../http/HandlerInterceptorAdapter.java            |    41 -
 .../io/seata/integration/http/HttpExecutor.java    |    69 -
 .../integration/http/SeataWebMvcConfigurer.java    |    31 -
 .../http/TransactionPropagationInterceptor.java    |    71 -
 .../integration/http/WebMvcConfigurerAdapter.java  |   104 -
 .../io/seata/integration/http/XidResource.java     |    49 -
 .../integration/http/AbstractHttpExecutor.java     |   175 +
 .../integration/http/DefaultHttpExecutor.java      |   121 +
 .../http/HandlerInterceptorAdapter.java            |    41 +
 .../seata/integration/http/HttpExecutor.java       |    69 +
 .../integration/http/SeataWebMvcConfigurer.java    |    31 +
 .../http/TransactionPropagationInterceptor.java    |    71 +
 .../integration/http/WebMvcConfigurerAdapter.java  |   104 +
 .../apache/seata/integration/http/XidResource.java |    49 +
 .../java/io/seata/integration/http/HttpTest.java   |   235 -
 .../io/seata/integration/http/MockController.java  |    57 -
 .../seata/integration/http/MockHttpExecuter.java   |    85 -
 .../integration/http/MockHttpServletRequest.java   |   401 -
 .../io/seata/integration/http/MockRequest.java     |    88 -
 .../io/seata/integration/http/MockResponse.java    |    49 -
 .../io/seata/integration/http/MockWebServer.java   |   163 -
 .../io/seata/integration/http/ServletMapping.java  |    67 -
 .../apache/seata/integration/http/HttpTest.java    |   235 +
 .../seata/integration/http/MockController.java     |    57 +
 .../seata/integration/http/MockHttpExecuter.java   |    85 +
 .../integration/http/MockHttpServletRequest.java   |   401 +
 .../apache/seata/integration/http/MockRequest.java |    88 +
 .../seata/integration/http/MockResponse.java       |    49 +
 .../seata/integration/http/MockWebServer.java      |   163 +
 .../seata/integration/http/ServletMapping.java     |    67 +
 .../integration/motan/MotanTransactionFilter.java  |   110 -
 .../integration/motan/MotanTransactionFilter.java  |   110 +
 .../services/com.weibo.api.motan.filter.Filter     |     2 +-
 .../motan/MotanTransactionFilterTest.java          |    81 -
 .../io/seata/integration/motan/XIDService.java     |    23 -
 .../io/seata/integration/motan/XIDServiceImpl.java |    29 -
 .../motan/MotanTransactionFilterTest.java          |    81 +
 .../apache/seata/integration/motan/XIDService.java |    23 +
 .../seata/integration/motan/XIDServiceImpl.java    |    29 +
 .../seata/integration/rpc/core/BaseRpcFilter.java  |    61 -
 .../integration/rpc/core/ConsumerRpcFilter.java    |    89 -
 .../integration/rpc/core/ProviderRpcFilter.java    |   115 -
 .../seata/integration/rpc/core/BaseRpcFilter.java  |    61 +
 .../integration/rpc/core/ConsumerRpcFilter.java    |    89 +
 .../integration/rpc/core/ProviderRpcFilter.java    |   115 +
 .../sofa/rpc/TransactionContextConsumerFilter.java |   118 -
 .../sofa/rpc/TransactionContextProviderFilter.java |   123 -
 .../sofa/rpc/TransactionContextConsumerFilter.java |   118 +
 .../sofa/rpc/TransactionContextProviderFilter.java |   123 +
 .../services/com.alipay.sofa.rpc.filter.Filter     |     4 +-
 .../seata/integration/sofa/rpc/HelloService.java   |    24 -
 .../integration/sofa/rpc/HelloServiceImpl.java     |    54 -
 .../integration/sofa/rpc/HelloServiceProxy.java    |    50 -
 .../sofa/rpc/TransactionContextFilterTest.java     |   151 -
 .../seata/integration/sofa/rpc/HelloService.java   |    24 +
 .../integration/sofa/rpc/HelloServiceImpl.java     |    54 +
 .../integration/sofa/rpc/HelloServiceProxy.java    |    50 +
 .../sofa/rpc/TransactionContextFilterTest.java     |   151 +
 .../src/main/java/io/seata/metrics/Clock.java      |    25 -
 .../src/main/java/io/seata/metrics/Counter.java    |    29 -
 .../src/main/java/io/seata/metrics/Gauge.java      |    25 -
 .../src/main/java/io/seata/metrics/Id.java         |   101 -
 .../main/java/io/seata/metrics/IdConstants.java    |    82 -
 .../main/java/io/seata/metrics/Measurement.java    |    47 -
 .../src/main/java/io/seata/metrics/Meter.java      |    27 -
 .../src/main/java/io/seata/metrics/Summary.java    |    35 -
 .../main/java/io/seata/metrics/SystemClock.java    |    30 -
 .../src/main/java/io/seata/metrics/Timer.java      |    35 -
 .../java/io/seata/metrics/exporter/Exporter.java   |    29 -
 .../java/io/seata/metrics/registry/Registry.java   |    44 -
 .../main/java/org/apache/seata/metrics/Clock.java  |    25 +
 .../java/org/apache/seata/metrics/Counter.java     |    29 +
 .../main/java/org/apache/seata/metrics/Gauge.java  |    25 +
 .../src/main/java/org/apache/seata/metrics/Id.java |   101 +
 .../java/org/apache/seata/metrics/IdConstants.java |    82 +
 .../java/org/apache/seata/metrics/Measurement.java |    47 +
 .../main/java/org/apache/seata/metrics/Meter.java  |    27 +
 .../java/org/apache/seata/metrics/Summary.java     |    35 +
 .../java/org/apache/seata/metrics/SystemClock.java |    30 +
 .../main/java/org/apache/seata/metrics/Timer.java  |    35 +
 .../apache/seata/metrics/exporter/Exporter.java    |    29 +
 .../apache/seata/metrics/registry/Registry.java    |    44 +
 .../io/seata/metrics/exporter/ExporterFactory.java |    58 -
 .../io/seata/metrics/exporter/ExporterType.java    |    46 -
 .../io/seata/metrics/registry/RegistryFactory.java |    48 -
 .../io/seata/metrics/registry/RegistryType.java    |    46 -
 .../seata/metrics/exporter/ExporterFactory.java    |    58 +
 .../seata/metrics/exporter/ExporterType.java       |    46 +
 .../seata/metrics/registry/RegistryFactory.java    |    48 +
 .../seata/metrics/registry/RegistryType.java       |    46 +
 .../seata/metrics/exporter/ExporterTypeTest.java   |    52 -
 .../seata/metrics/registry/RegistryTypeTest.java   |    52 -
 .../seata/metrics/exporter/ExporterTypeTest.java   |    52 +
 .../seata/metrics/registry/RegistryTypeTest.java   |    52 +
 .../exporter/prometheus/PrometheusExporter.java    |   113 -
 .../exporter/prometheus/PrometheusExporter.java    |   113 +
 .../services/io.seata.metrics.exporter.Exporter    |     1 -
 .../org.apache.seata.metrics.exporter.Exporter     |     1 +
 .../prometheus/PrometheusExporterTest.java         |    34 -
 .../prometheus/PrometheusExporterTest.java         |    34 +
 .../metrics/registry/compact/CompactCounter.java   |    73 -
 .../metrics/registry/compact/CompactGauge.java     |    63 -
 .../metrics/registry/compact/CompactRegistry.java  |    83 -
 .../metrics/registry/compact/CompactSummary.java   |    95 -
 .../metrics/registry/compact/CompactTimer.java     |   107 -
 .../metrics/registry/compact/SummaryValue.java     |    64 -
 .../seata/metrics/registry/compact/TimerValue.java |    67 -
 .../metrics/registry/compact/CompactCounter.java   |    73 +
 .../metrics/registry/compact/CompactGauge.java     |    63 +
 .../metrics/registry/compact/CompactRegistry.java  |    83 +
 .../metrics/registry/compact/CompactSummary.java   |    95 +
 .../metrics/registry/compact/CompactTimer.java     |   107 +
 .../metrics/registry/compact/SummaryValue.java     |    64 +
 .../seata/metrics/registry/compact/TimerValue.java |    67 +
 .../services/io.seata.metrics.registry.Registry    |     1 -
 .../org.apache.seata.metrics.registry.Registry     |     1 +
 .../java/io/seata/rm/BaseDataSourceResource.java   |   229 -
 .../main/java/io/seata/rm/GlobalLockExecutor.java  |    38 -
 .../main/java/io/seata/rm/GlobalLockTemplate.java  |    57 -
 .../src/main/java/io/seata/rm/RMHandlerAT.java     |   130 -
 .../src/main/java/io/seata/rm/RMHandlerXA.java     |    38 -
 .../rm/datasource/AbstractConnectionProxy.java     |   380 -
 .../AbstractDataSourceCacheResourceManager.java    |    54 -
 .../rm/datasource/AbstractDataSourceProxy.java     |    94 -
 .../datasource/AbstractPreparedStatementProxy.java |   418 -
 .../rm/datasource/AbstractStatementProxy.java      |   303 -
 .../java/io/seata/rm/datasource/AsyncWorker.java   |   230 -
 .../io/seata/rm/datasource/ConnectionContext.java  |   413 -
 .../io/seata/rm/datasource/ConnectionProxy.java    |   381 -
 .../io/seata/rm/datasource/DataCompareUtils.java   |   241 -
 .../io/seata/rm/datasource/DataSourceManager.java  |   150 -
 .../io/seata/rm/datasource/DataSourceProxy.java    |   427 -
 .../rm/datasource/PreparedStatementProxy.java      |    67 -
 .../seata/rm/datasource/SeataDataSourceProxy.java  |    42 -
 .../io/seata/rm/datasource/SqlGenerateUtils.java   |   138 -
 .../io/seata/rm/datasource/StatementProxy.java     |   131 -
 .../datasource/exception/TableMetaException.java   |    41 -
 .../datasource/exec/AbstractDMLBaseExecutor.java   |   206 -
 .../rm/datasource/exec/BaseInsertExecutor.java     |   482 -
 .../datasource/exec/BaseTransactionalExecutor.java |   596 -
 .../seata/rm/datasource/exec/DeleteExecutor.java   |    89 -
 .../seata/rm/datasource/exec/ExecuteTemplate.java  |   179 -
 .../java/io/seata/rm/datasource/exec/Executor.java |    35 -
 .../seata/rm/datasource/exec/InsertExecutor.java   |    46 -
 .../rm/datasource/exec/LockConflictException.java  |    47 -
 .../rm/datasource/exec/LockRetryController.java    |   136 -
 .../datasource/exec/LockWaitTimeoutException.java  |    52 -
 .../rm/datasource/exec/MultiDeleteExecutor.java    |    94 -
 .../io/seata/rm/datasource/exec/MultiExecutor.java |   160 -
 .../rm/datasource/exec/MultiUpdateExecutor.java    |   175 -
 .../io/seata/rm/datasource/exec/PlainExecutor.java |    51 -
 .../datasource/exec/SelectForUpdateExecutor.java   |   155 -
 .../rm/datasource/exec/StatementCallback.java      |    40 -
 .../seata/rm/datasource/exec/UpdateExecutor.java   |   126 -
 .../rm/datasource/exec/dm/DmInsertExecutor.java    |    99 -
 .../exec/mariadb/MariadbInsertExecutor.java        |    46 -
 .../MariadbInsertOnDuplicateUpdateExecutor.java    |    36 -
 .../exec/mariadb/MariadbUpdateJoinExecutor.java    |    43 -
 .../datasource/exec/mysql/MySQLInsertExecutor.java |   257 -
 .../MySQLInsertOnDuplicateUpdateExecutor.java      |   422 -
 .../exec/mysql/MySQLUpdateJoinExecutor.java        |   317 -
 .../exec/oracle/OracleInsertExecutor.java          |   139 -
 .../rm/datasource/exec/oracle/OracleJdbcType.java  |    26 -
 .../exec/polardbx/PolarDBXInsertExecutor.java      |    37 -
 .../PolarDBXInsertOnDuplicateUpdateExecutor.java   |    37 -
 .../exec/polardbx/PolarDBXUpdateJoinExecutor.java  |    36 -
 .../exec/postgresql/PostgresqlInsertExecutor.java  |   186 -
 .../exec/sqlserver/SqlServerDeleteExecutor.java    |    66 -
 .../exec/sqlserver/SqlServerInsertExecutor.java    |   209 -
 .../sqlserver/SqlServerMultiDeleteExecutor.java    |    86 -
 .../sqlserver/SqlServerMultiUpdateExecutor.java    |    56 -
 .../SqlServerSelectForUpdateExecutor.java          |    69 -
 .../exec/sqlserver/SqlServerUpdateExecutor.java    |    70 -
 .../seata/rm/datasource/sql/SQLVisitorFactory.java |    53 -
 .../datasource/sql/handler/dm/DmEscapeHandler.java |   846 -
 .../sql/handler/mariadb/MariadbEscapeHandler.java  |    29 -
 .../sql/handler/mysql/MySQLEscapeHandler.java      |  1135 -
 .../sql/handler/oracle/OracleEscapeHandler.java    |   554 -
 .../handler/polardbx/PolarDBXEscapeHandler.java    |    29 -
 .../postgresql/PostgresqlEscapeHandler.java        |   410 -
 .../handler/sqlserver/SqlServerEscapeHandler.java  |   816 -
 .../rm/datasource/sql/serial/SerialArray.java      |   189 -
 .../io/seata/rm/datasource/sql/struct/Field.java   |   149 -
 .../io/seata/rm/datasource/sql/struct/KeyType.java |    36 -
 .../io/seata/rm/datasource/sql/struct/Row.java     |    95 -
 .../sql/struct/TableMetaCacheFactory.java          |   146 -
 .../rm/datasource/sql/struct/TableRecords.java     |   339 -
 .../sql/struct/cache/AbstractTableMetaCache.java   |   122 -
 .../sql/struct/cache/DmTableMetaCache.java         |   176 -
 .../sql/struct/cache/MariadbTableMetaCache.java    |    49 -
 .../sql/struct/cache/MysqlTableMetaCache.java      |   191 -
 .../sql/struct/cache/OracleTableMetaCache.java     |   199 -
 .../sql/struct/cache/PolarDBXTableMetaCache.java   |    47 -
 .../sql/struct/cache/PostgresqlTableMetaCache.java |   189 -
 .../sql/struct/cache/SqlServerTableMetaCache.java  |   192 -
 .../rm/datasource/undo/AbstractUndoExecutor.java   |   395 -
 .../rm/datasource/undo/AbstractUndoLogManager.java |   469 -
 .../io/seata/rm/datasource/undo/BranchUndoLog.java |    88 -
 .../rm/datasource/undo/SQLUndoDirtyException.java  |    31 -
 .../io/seata/rm/datasource/undo/SQLUndoLog.java    |   125 -
 .../rm/datasource/undo/UndoExecutorFactory.java    |    53 -
 .../rm/datasource/undo/UndoExecutorHolder.java     |    48 -
 .../datasource/undo/UndoExecutorHolderFactory.java |    43 -
 .../seata/rm/datasource/undo/UndoLogConstants.java |    34 -
 .../seata/rm/datasource/undo/UndoLogManager.java   |    87 -
 .../rm/datasource/undo/UndoLogManagerFactory.java  |    41 -
 .../io/seata/rm/datasource/undo/UndoLogParser.java |    54 -
 .../rm/datasource/undo/UndoLogParserFactory.java   |    68 -
 .../datasource/undo/dm/DmUndoDeleteExecutor.java   |    79 -
 .../datasource/undo/dm/DmUndoExecutorHolder.java   |    46 -
 .../datasource/undo/dm/DmUndoInsertExecutor.java   |    86 -
 .../rm/datasource/undo/dm/DmUndoLogManager.java    |   109 -
 .../datasource/undo/dm/DmUndoUpdateExecutor.java   |    80 -
 .../undo/mariadb/MariadbUndoDeleteExecutor.java    |    48 -
 .../undo/mariadb/MariadbUndoExecutorHolder.java    |    46 -
 .../undo/mariadb/MariadbUndoInsertExecutor.java    |    59 -
 .../undo/mariadb/MariadbUndoLogManager.java        |    48 -
 .../undo/mariadb/MariadbUndoUpdateExecutor.java    |    47 -
 .../rm/datasource/undo/mysql/MySQLJsonHelper.java  |    37 -
 .../undo/mysql/MySQLUndoDeleteExecutor.java        |    87 -
 .../undo/mysql/MySQLUndoExecutorHolder.java        |    46 -
 .../undo/mysql/MySQLUndoInsertExecutor.java        |    91 -
 .../datasource/undo/mysql/MySQLUndoLogManager.java |    99 -
 .../undo/mysql/MySQLUndoUpdateExecutor.java        |    88 -
 .../undo/oracle/OracleUndoDeleteExecutor.java      |    79 -
 .../undo/oracle/OracleUndoExecutorHolder.java      |    46 -
 .../undo/oracle/OracleUndoInsertExecutor.java      |    86 -
 .../undo/oracle/OracleUndoLogManager.java          |   105 -
 .../undo/oracle/OracleUndoUpdateExecutor.java      |    80 -
 .../undo/parser/FastjsonUndoLogParser.java         |    65 -
 .../undo/parser/JacksonUndoLogParser.java          |   408 -
 .../rm/datasource/undo/parser/KryoSerializer.java  |    56 -
 .../undo/parser/KryoSerializerFactory.java         |   167 -
 .../datasource/undo/parser/KryoUndoLogParser.java  |    99 -
 .../undo/parser/ProtostuffUndoLogParser.java       |   252 -
 .../parser/UndoLogSerializerClassRegistry.java     |   127 -
 .../undo/parser/spi/JacksonSerializer.java         |    50 -
 .../undo/parser/spi/KryoTypeSerializer.java        |    42 -
 .../undo/parser/spi/ProtostuffDelegate.java        |    35 -
 .../undo/polardbx/PolarDBXUndoDeleteExecutor.java  |    41 -
 .../undo/polardbx/PolarDBXUndoExecutorHolder.java  |    45 -
 .../undo/polardbx/PolarDBXUndoInsertExecutor.java  |    53 -
 .../undo/polardbx/PolarDBXUndoLogManager.java      |    50 -
 .../undo/polardbx/PolarDBXUndoUpdateExecutor.java  |    41 -
 .../postgresql/PostgresqlUndoDeleteExecutor.java   |    79 -
 .../postgresql/PostgresqlUndoExecutorHolder.java   |    46 -
 .../postgresql/PostgresqlUndoInsertExecutor.java   |    85 -
 .../undo/postgresql/PostgresqlUndoLogManager.java  |   111 -
 .../postgresql/PostgresqlUndoUpdateExecutor.java   |    78 -
 .../undo/sqlserver/BaseSqlServerUndoExecutor.java  |    39 -
 .../sqlserver/SqlServerUndoDeleteExecutor.java     |    80 -
 .../sqlserver/SqlServerUndoExecutorHolder.java     |    43 -
 .../sqlserver/SqlServerUndoInsertExecutor.java     |    79 -
 .../undo/sqlserver/SqlServerUndoLogManager.java    |   107 -
 .../sqlserver/SqlServerUndoUpdateExecutor.java     |    72 -
 .../io/seata/rm/datasource/util/JdbcUtils.java     |   130 -
 .../seata/rm/datasource/util/OffsetTimeUtils.java  |   144 -
 .../seata/rm/datasource/util/SeataXAResource.java  |    28 -
 .../java/io/seata/rm/datasource/util/XAUtils.java  |    92 -
 .../datasource/xa/AbstractConnectionProxyXA.java   |   351 -
 .../datasource/xa/AbstractDataSourceProxyXA.java   |    71 -
 .../seata/rm/datasource/xa/ConnectionProxyXA.java  |   368 -
 .../seata/rm/datasource/xa/DataSourceProxyXA.java  |   118 -
 .../rm/datasource/xa/DataSourceProxyXANative.java  |    74 -
 .../seata/rm/datasource/xa/ExecuteTemplateXA.java  |   107 -
 .../java/io/seata/rm/datasource/xa/Holdable.java   |    26 -
 .../java/io/seata/rm/datasource/xa/Holder.java     |    26 -
 .../rm/datasource/xa/PreparedStatementProxyXA.java |   357 -
 .../seata/rm/datasource/xa/ResourceManagerXA.java  |   172 -
 .../seata/rm/datasource/xa/StatementProxyXA.java   |   260 -
 .../io/seata/rm/datasource/xa/XABranchXid.java     |   128 -
 .../main/java/io/seata/rm/datasource/xa/XAXid.java |    30 -
 .../io/seata/rm/datasource/xa/XAXidBuilder.java    |    35 -
 .../apache/seata/rm/BaseDataSourceResource.java    |   229 +
 .../org/apache/seata/rm/GlobalLockExecutor.java    |    38 +
 .../org/apache/seata/rm/GlobalLockTemplate.java    |    57 +
 .../main/java/org/apache/seata/rm/RMHandlerAT.java |   130 +
 .../main/java/org/apache/seata/rm/RMHandlerXA.java |    38 +
 .../rm/datasource/AbstractConnectionProxy.java     |   380 +
 .../AbstractDataSourceCacheResourceManager.java    |    54 +
 .../rm/datasource/AbstractDataSourceProxy.java     |    94 +
 .../datasource/AbstractPreparedStatementProxy.java |   418 +
 .../rm/datasource/AbstractStatementProxy.java      |   303 +
 .../apache/seata/rm/datasource/AsyncWorker.java    |   230 +
 .../seata/rm/datasource/ConnectionContext.java     |   413 +
 .../seata/rm/datasource/ConnectionProxy.java       |   381 +
 .../seata/rm/datasource/DataCompareUtils.java      |   241 +
 .../seata/rm/datasource/DataSourceManager.java     |   150 +
 .../seata/rm/datasource/DataSourceProxy.java       |   427 +
 .../rm/datasource/PreparedStatementProxy.java      |    67 +
 .../seata/rm/datasource/SeataDataSourceProxy.java  |    42 +
 .../seata/rm/datasource/SqlGenerateUtils.java      |   138 +
 .../apache/seata/rm/datasource/StatementProxy.java |   131 +
 .../datasource/exception/TableMetaException.java   |    41 +
 .../datasource/exec/AbstractDMLBaseExecutor.java   |   206 +
 .../rm/datasource/exec/BaseInsertExecutor.java     |   482 +
 .../datasource/exec/BaseTransactionalExecutor.java |   596 +
 .../seata/rm/datasource/exec/DeleteExecutor.java   |    89 +
 .../seata/rm/datasource/exec/ExecuteTemplate.java  |   179 +
 .../apache/seata/rm/datasource/exec/Executor.java  |    35 +
 .../seata/rm/datasource/exec/InsertExecutor.java   |    46 +
 .../rm/datasource/exec/LockConflictException.java  |    47 +
 .../rm/datasource/exec/LockRetryController.java    |   136 +
 .../datasource/exec/LockWaitTimeoutException.java  |    52 +
 .../rm/datasource/exec/MultiDeleteExecutor.java    |    94 +
 .../seata/rm/datasource/exec/MultiExecutor.java    |   160 +
 .../rm/datasource/exec/MultiUpdateExecutor.java    |   175 +
 .../seata/rm/datasource/exec/PlainExecutor.java    |    51 +
 .../datasource/exec/SelectForUpdateExecutor.java   |   155 +
 .../rm/datasource/exec/StatementCallback.java      |    40 +
 .../seata/rm/datasource/exec/UpdateExecutor.java   |   126 +
 .../rm/datasource/exec/dm/DmInsertExecutor.java    |    99 +
 .../exec/mariadb/MariadbInsertExecutor.java        |    46 +
 .../MariadbInsertOnDuplicateUpdateExecutor.java    |    36 +
 .../exec/mariadb/MariadbUpdateJoinExecutor.java    |    43 +
 .../datasource/exec/mysql/MySQLInsertExecutor.java |   257 +
 .../MySQLInsertOnDuplicateUpdateExecutor.java      |   422 +
 .../exec/mysql/MySQLUpdateJoinExecutor.java        |   317 +
 .../exec/oracle/OracleInsertExecutor.java          |   139 +
 .../rm/datasource/exec/oracle/OracleJdbcType.java  |    26 +
 .../exec/polardbx/PolarDBXInsertExecutor.java      |    37 +
 .../PolarDBXInsertOnDuplicateUpdateExecutor.java   |    37 +
 .../exec/polardbx/PolarDBXUpdateJoinExecutor.java  |    36 +
 .../exec/postgresql/PostgresqlInsertExecutor.java  |   186 +
 .../exec/sqlserver/SqlServerDeleteExecutor.java    |    66 +
 .../exec/sqlserver/SqlServerInsertExecutor.java    |   209 +
 .../sqlserver/SqlServerMultiDeleteExecutor.java    |    86 +
 .../sqlserver/SqlServerMultiUpdateExecutor.java    |    56 +
 .../SqlServerSelectForUpdateExecutor.java          |    69 +
 .../exec/sqlserver/SqlServerUpdateExecutor.java    |    70 +
 .../seata/rm/datasource/sql/SQLVisitorFactory.java |    53 +
 .../datasource/sql/handler/dm/DmEscapeHandler.java |   846 +
 .../sql/handler/mariadb/MariadbEscapeHandler.java  |    29 +
 .../sql/handler/mysql/MySQLEscapeHandler.java      |  1135 +
 .../sql/handler/oracle/OracleEscapeHandler.java    |   554 +
 .../handler/polardbx/PolarDBXEscapeHandler.java    |    29 +
 .../postgresql/PostgresqlEscapeHandler.java        |   410 +
 .../handler/sqlserver/SqlServerEscapeHandler.java  |   816 +
 .../rm/datasource/sql/serial/SerialArray.java      |   189 +
 .../seata/rm/datasource/sql/struct/Field.java      |   149 +
 .../seata/rm/datasource/sql/struct/KeyType.java    |    36 +
 .../apache/seata/rm/datasource/sql/struct/Row.java |    95 +
 .../sql/struct/TableMetaCacheFactory.java          |   146 +
 .../rm/datasource/sql/struct/TableRecords.java     |   339 +
 .../sql/struct/cache/AbstractTableMetaCache.java   |   122 +
 .../sql/struct/cache/DmTableMetaCache.java         |   176 +
 .../sql/struct/cache/MariadbTableMetaCache.java    |    49 +
 .../sql/struct/cache/MysqlTableMetaCache.java      |   191 +
 .../sql/struct/cache/OracleTableMetaCache.java     |   199 +
 .../sql/struct/cache/PolarDBXTableMetaCache.java   |    47 +
 .../sql/struct/cache/PostgresqlTableMetaCache.java |   189 +
 .../sql/struct/cache/SqlServerTableMetaCache.java  |   192 +
 .../rm/datasource/undo/AbstractUndoExecutor.java   |   396 +
 .../rm/datasource/undo/AbstractUndoLogManager.java |   469 +
 .../seata/rm/datasource/undo/BranchUndoLog.java    |    88 +
 .../rm/datasource/undo/SQLUndoDirtyException.java  |    31 +
 .../seata/rm/datasource/undo/SQLUndoLog.java       |   125 +
 .../rm/datasource/undo/UndoExecutorFactory.java    |    53 +
 .../rm/datasource/undo/UndoExecutorHolder.java     |    48 +
 .../datasource/undo/UndoExecutorHolderFactory.java |    43 +
 .../seata/rm/datasource/undo/UndoLogConstants.java |    34 +
 .../seata/rm/datasource/undo/UndoLogManager.java   |    87 +
 .../rm/datasource/undo/UndoLogManagerFactory.java  |    41 +
 .../seata/rm/datasource/undo/UndoLogParser.java    |    54 +
 .../rm/datasource/undo/UndoLogParserFactory.java   |    68 +
 .../datasource/undo/dm/DmUndoDeleteExecutor.java   |    79 +
 .../datasource/undo/dm/DmUndoExecutorHolder.java   |    46 +
 .../datasource/undo/dm/DmUndoInsertExecutor.java   |    86 +
 .../rm/datasource/undo/dm/DmUndoLogManager.java    |   109 +
 .../datasource/undo/dm/DmUndoUpdateExecutor.java   |    80 +
 .../undo/mariadb/MariadbUndoDeleteExecutor.java    |    48 +
 .../undo/mariadb/MariadbUndoExecutorHolder.java    |    46 +
 .../undo/mariadb/MariadbUndoInsertExecutor.java    |    59 +
 .../undo/mariadb/MariadbUndoLogManager.java        |    48 +
 .../undo/mariadb/MariadbUndoUpdateExecutor.java    |    47 +
 .../rm/datasource/undo/mysql/MySQLJsonHelper.java  |    37 +
 .../undo/mysql/MySQLUndoDeleteExecutor.java        |    87 +
 .../undo/mysql/MySQLUndoExecutorHolder.java        |    46 +
 .../undo/mysql/MySQLUndoInsertExecutor.java        |    91 +
 .../datasource/undo/mysql/MySQLUndoLogManager.java |    99 +
 .../undo/mysql/MySQLUndoUpdateExecutor.java        |    88 +
 .../undo/oracle/OracleUndoDeleteExecutor.java      |    79 +
 .../undo/oracle/OracleUndoExecutorHolder.java      |    46 +
 .../undo/oracle/OracleUndoInsertExecutor.java      |    86 +
 .../undo/oracle/OracleUndoLogManager.java          |   105 +
 .../undo/oracle/OracleUndoUpdateExecutor.java      |    80 +
 .../undo/parser/FastjsonUndoLogParser.java         |    65 +
 .../undo/parser/JacksonUndoLogParser.java          |   408 +
 .../rm/datasource/undo/parser/KryoSerializer.java  |    56 +
 .../undo/parser/KryoSerializerFactory.java         |   167 +
 .../datasource/undo/parser/KryoUndoLogParser.java  |    99 +
 .../undo/parser/ProtostuffUndoLogParser.java       |   252 +
 .../parser/UndoLogSerializerClassRegistry.java     |   127 +
 .../undo/parser/spi/JacksonSerializer.java         |    50 +
 .../undo/parser/spi/KryoTypeSerializer.java        |    42 +
 .../undo/parser/spi/ProtostuffDelegate.java        |    35 +
 .../undo/polardbx/PolarDBXUndoDeleteExecutor.java  |    41 +
 .../undo/polardbx/PolarDBXUndoExecutorHolder.java  |    45 +
 .../undo/polardbx/PolarDBXUndoInsertExecutor.java  |    53 +
 .../undo/polardbx/PolarDBXUndoLogManager.java      |    50 +
 .../undo/polardbx/PolarDBXUndoUpdateExecutor.java  |    41 +
 .../postgresql/PostgresqlUndoDeleteExecutor.java   |    79 +
 .../postgresql/PostgresqlUndoExecutorHolder.java   |    46 +
 .../postgresql/PostgresqlUndoInsertExecutor.java   |    85 +
 .../undo/postgresql/PostgresqlUndoLogManager.java  |   111 +
 .../postgresql/PostgresqlUndoUpdateExecutor.java   |    78 +
 .../undo/sqlserver/BaseSqlServerUndoExecutor.java  |    39 +
 .../sqlserver/SqlServerUndoDeleteExecutor.java     |    80 +
 .../sqlserver/SqlServerUndoExecutorHolder.java     |    43 +
 .../sqlserver/SqlServerUndoInsertExecutor.java     |    79 +
 .../undo/sqlserver/SqlServerUndoLogManager.java    |   107 +
 .../sqlserver/SqlServerUndoUpdateExecutor.java     |    72 +
 .../apache/seata/rm/datasource/util/JdbcUtils.java |   130 +
 .../seata/rm/datasource/util/OffsetTimeUtils.java  |   144 +
 .../seata/rm/datasource/util/SeataXAResource.java  |    28 +
 .../apache/seata/rm/datasource/util/XAUtils.java   |    92 +
 .../datasource/xa/AbstractConnectionProxyXA.java   |   351 +
 .../datasource/xa/AbstractDataSourceProxyXA.java   |    71 +
 .../seata/rm/datasource/xa/ConnectionProxyXA.java  |   368 +
 .../seata/rm/datasource/xa/DataSourceProxyXA.java  |   118 +
 .../rm/datasource/xa/DataSourceProxyXANative.java  |    74 +
 .../seata/rm/datasource/xa/ExecuteTemplateXA.java  |   107 +
 .../apache/seata/rm/datasource/xa/Holdable.java    |    26 +
 .../org/apache/seata/rm/datasource/xa/Holder.java  |    26 +
 .../rm/datasource/xa/PreparedStatementProxyXA.java |   357 +
 .../seata/rm/datasource/xa/ResourceManagerXA.java  |   172 +
 .../seata/rm/datasource/xa/StatementProxyXA.java   |   260 +
 .../apache/seata/rm/datasource/xa/XABranchXid.java |   128 +
 .../org/apache/seata/rm/datasource/xa/XAXid.java   |    30 +
 .../seata/rm/datasource/xa/XAXidBuilder.java       |    35 +
 .../services/io.seata.core.model.ResourceManager   |     2 -
 .../services/io.seata.rm.AbstractRMHandler         |     2 -
 .../io.seata.rm.datasource.exec.InsertExecutor     |     7 -
 .../io.seata.rm.datasource.undo.UndoExecutorHolder |     7 -
 .../io.seata.rm.datasource.undo.UndoLogManager     |     7 -
 .../io.seata.rm.datasource.undo.UndoLogParser      |     4 -
 .../services/io.seata.sqlparser.EscapeHandler      |     7 -
 .../io.seata.sqlparser.struct.TableMetaCache       |     7 -
 .../org.apache.seata.core.model.ResourceManager    |     2 +
 .../services/org.apache.seata.rm.AbstractRMHandler |     2 +
 ....apache.seata.rm.datasource.exec.InsertExecutor |     7 +
 ...che.seata.rm.datasource.undo.UndoExecutorHolder |     7 +
 ....apache.seata.rm.datasource.undo.UndoLogManager |     7 +
 ...g.apache.seata.rm.datasource.undo.UndoLogParser |     4 +
 .../org.apache.seata.sqlparser.EscapeHandler       |     7 +
 ...rg.apache.seata.sqlparser.struct.TableMetaCache |     7 +
 .../java/io/seata/rm/GlobalLockTemplateTest.java   |   115 -
 .../src/test/java/io/seata/rm/RMHandlerATTest.java |    97 -
 .../io/seata/rm/datasource/AsyncWorkerTest.java    |    74 -
 .../io/seata/rm/datasource/ColumnUtilsTest.java    |   262 -
 .../rm/datasource/ConnectionContextProxyTest.java  |   153 -
 .../seata/rm/datasource/ConnectionProxyTest.java   |   126 -
 .../seata/rm/datasource/DataCompareUtilsTest.java  |   223 -
 .../seata/rm/datasource/DataSourceProxyTest.java   |   203 -
 .../rm/datasource/PreparedStatementProxyTest.java  |   376 -
 .../seata/rm/datasource/SqlGenerateUtilsTest.java  |    43 -
 .../io/seata/rm/datasource/StatementProxyTest.java |   301 -
 .../exec/AbstractDMLBaseExecutorTest.java          |   152 -
 .../exec/BaseTransactionalExecutorTest.java        |   170 -
 .../datasource/exec/BatchInsertExecutorTest.java   |   541 -
 .../rm/datasource/exec/DeleteExecutorTest.java     |   241 -
 .../rm/datasource/exec/DmInsertExecutorTest.java   |   216 -
 .../datasource/exec/LockRetryControllerTest.java   |   112 -
 .../datasource/exec/MariadbInsertExecutorTest.java |   118 -
 ...MariadbInsertOnDuplicateUpdateExecutorTest.java |   157 -
 .../rm/datasource/exec/MultiExecutorTest.java      |   225 -
 .../datasource/exec/MySQLInsertExecutorTest.java   |   768 -
 .../MySQLInsertOnDuplicateUpdateExecutorTest.java  |   293 -
 .../datasource/exec/OracleInsertExecutorTest.java  |   453 -
 .../rm/datasource/exec/PlainExecutorTest.java      |    74 -
 .../exec/PolarDBXInsertExecutorTest.java           |   120 -
 ...olarDBXInsertOnDuplicateUpdateExecutorTest.java |   155 -
 .../exec/PostgresqlInsertExecutorTest.java         |   363 -
 .../exec/SelectForUpdateExecutorTest.java          |   128 -
 .../exec/SqlServerInsertExecutorTest.java          |   212 -
 .../rm/datasource/exec/UpdateExecutorTest.java     |   269 -
 .../rm/datasource/exec/UpdateJoinExecutorTest.java |   103 -
 .../java/io/seata/rm/datasource/mock/MockBlob.java |    85 -
 .../java/io/seata/rm/datasource/mock/MockClob.java |    96 -
 .../seata/rm/datasource/mock/MockConnection.java   |    71 -
 .../rm/datasource/mock/MockConnectionProxy.java    |    43 -
 .../seata/rm/datasource/mock/MockDataSource.java   |    73 -
 .../rm/datasource/mock/MockDatabaseMetaData.java   |  1015 -
 .../io/seata/rm/datasource/mock/MockDriver.java    |   201 -
 .../rm/datasource/mock/MockExecuteHandlerImpl.java |    96 -
 .../mock/MockLockConflictConnectionProxy.java      |    50 -
 .../rm/datasource/mock/MockMariadbDataSource.java  |    29 -
 .../rm/datasource/mock/MockParameterMetaData.java  |    90 -
 .../rm/datasource/mock/MockPreparedStatement.java  |    68 -
 .../io/seata/rm/datasource/mock/MockResultSet.java |   173 -
 .../rm/datasource/mock/MockResultSetMetaData.java  |   170 -
 .../rm/datasource/sql/SQLVisitorFactoryTest.java   |   320 -
 .../sql/druid/dm/DmDeleteRecognizerTest.java       |   196 -
 .../sql/druid/dm/DmInsertRecognizerTest.java       |   129 -
 .../druid/dm/DmSelectForUpdateRecognizerTest.java  |   108 -
 .../sql/druid/dm/DmUpdateRecognizerTest.java       |   155 -
 .../druid/oracle/OracleDeleteRecognizerTest.java   |   196 -
 .../druid/oracle/OracleInsertRecognizerTest.java   |   128 -
 .../OracleSelectForUpdateRecognizerTest.java       |   110 -
 .../druid/oracle/OracleUpdateRecognizerTest.java   |   156 -
 .../postgresql/PostgresqlDeleteRecognizerTest.java |    93 -
 .../postgresql/PostgresqlInsertRecognizerTest.java |   120 -
 .../PostgresqlSelectForUpdateRecognizerTest.java   |    80 -
 .../postgresql/PostgresqlUpdateRecognizerTest.java |   145 -
 .../datasource/sql/handler/EscapeHandlerTest.java  |   128 -
 .../rm/datasource/sql/struct/ColumnMetaTest.java   |   108 -
 .../rm/datasource/sql/struct/IndexMetaTest.java    |    81 -
 .../rm/datasource/sql/struct/IndexTypeTest.java    |    35 -
 .../sql/struct/TableMetaCacheFactoryTest.java      |    47 -
 .../rm/datasource/sql/struct/TableMetaTest.java    |   143 -
 .../rm/datasource/sql/struct/TableRecordsTest.java |   169 -
 .../sql/struct/cache/DmTableMetaCacheTest.java     |    81 -
 .../struct/cache/MariadbTableMetaCacheTest.java    |   189 -
 .../sql/struct/cache/MysqlTableMetaCacheTest.java  |   192 -
 .../sql/struct/cache/OracleTableMetaCacheTest.java |    87 -
 .../struct/cache/PostgresqlTableMetaCacheTest.java |    93 -
 .../struct/cache/SqlServerTableMetaCacheTest.java  |   164 -
 .../datasource/undo/AbstractUndoExecutorTest.java  |   255 -
 .../seata/rm/datasource/undo/BaseExecutorTest.java |    35 -
 .../io/seata/rm/datasource/undo/BaseH2Test.java    |   140 -
 .../rm/datasource/undo/BaseUndoLogParserTest.java  |   207 -
 .../rm/datasource/undo/BranchUndoLogTest.java      |    77 -
 .../datasource/undo/EscapeHandlerFactoryTest.java  |    35 -
 .../seata/rm/datasource/undo/UndoExecutorTest.java |  1113 -
 .../rm/datasource/undo/UndoLogManagerTest.java     |    90 -
 .../datasource/undo/UndoLogParserFactoryTest.java  |    32 -
 .../datasource/undo/UndoLogParserProviderTest.java |    58 -
 .../undo/h2/keyword/H2EscapeHandler.java           |    27 -
 .../mariadb/MariadbLUndoInsertExecutorTest.java    |    97 -
 .../mariadb/MariadbUndoDeleteExecutorTest.java     |    97 -
 .../undo/mariadb/MariadbUndoLogManagerTest.java    |   223 -
 .../mariadb/MariadbUndoUpdateExecutorTest.java     |    99 -
 .../mariadb/keyword/MariadbEscapeHandlerTest.java  |   318 -
 .../undo/mysql/MySQLUndoDeleteExecutorTest.java    |    96 -
 .../undo/mysql/MySQLUndoInsertExecutorTest.java    |    96 -
 .../undo/mysql/MySQLUndoLogManagerTest.java        |   220 -
 .../undo/mysql/MySQLUndoUpdateExecutorTest.java    |    98 -
 .../undo/mysql/keyword/MySQLEscapeHandlerTest.java |   317 -
 .../undo/oracle/OracleUndoDeleteExecutorTest.java  |    98 -
 .../undo/oracle/OracleUndoInsertExecutorTest.java  |    96 -
 .../undo/oracle/OracleUndoUpdateExecutorTest.java  |    98 -
 .../oracle/keyword/OracleEscapeHandlerTest.java    |    36 -
 .../undo/parser/FastjsonUndoLogParserTest.java     |   118 -
 .../undo/parser/JacksonUndoLogParserTest.java      |   109 -
 .../undo/parser/KryoUndoLogParserTest.java         |    35 -
 .../undo/parser/ProtostuffUndoLogParserTest.java   |    34 -
 .../polardbx/PolarDBXUndoDeleteExecutorTest.java   |    90 -
 .../polardbx/PolarDBXUndoInsertExecutorTest.java   |    97 -
 .../undo/polardbx/PolarDBXUndoLogManagerTest.java  |   212 -
 .../polardbx/PolarDBXUndoUpdateExecutorTest.java   |    98 -
 .../keyword/PolarDBXEscapeHandlerTest.java         |    35 -
 .../keyword/PostgresqlEscapeHandlerTest.java       |    36 -
 .../sqlserver/SqlServerUndoDeleteExecutorTest.java |    88 -
 .../sqlserver/SqlServerUndoInsertExecutorTest.java |   113 -
 .../sqlserver/SqlServerUndoUpdateExecutorTest.java |    96 -
 .../keyword/SqlServerKeywordCheckerTest.java       |    35 -
 .../io/seata/rm/datasource/util/JdbcUtilsTest.java |    29 -
 .../java/io/seata/rm/xa/ConnectionProxyXATest.java |   213 -
 .../seata/rm/xa/DataSourceProxyXANativeTest.java   |    60 -
 .../java/io/seata/rm/xa/DataSourceProxyXATest.java |   132 -
 .../test/java/io/seata/rm/xa/XAXidBuilderTest.java |    44 -
 .../apache/seata/rm/GlobalLockTemplateTest.java    |   117 +
 .../java/org/apache/seata/rm/RMHandlerATTest.java  |    97 +
 .../java/{io => org/apache}/seata/rm/at/readMe.md  |     0
 .../seata/rm/datasource/AsyncWorkerTest.java       |    76 +
 .../seata/rm/datasource/ColumnUtilsTest.java       |   262 +
 .../rm/datasource/ConnectionContextProxyTest.java  |   155 +
 .../seata/rm/datasource/ConnectionProxyTest.java   |   129 +
 .../seata/rm/datasource/DataCompareUtilsTest.java  |   224 +
 .../seata/rm/datasource/DataSourceProxyTest.java   |   205 +
 .../rm/datasource/PreparedStatementProxyTest.java  |   373 +
 .../seata/rm/datasource/SqlGenerateUtilsTest.java  |    44 +
 .../seata/rm/datasource/StatementProxyTest.java    |   298 +
 .../exec/AbstractDMLBaseExecutorTest.java          |   156 +
 .../exec/BaseTransactionalExecutorTest.java        |   171 +
 .../datasource/exec/BatchInsertExecutorTest.java   |   543 +
 .../rm/datasource/exec/DeleteExecutorTest.java     |   233 +
 .../rm/datasource/exec/DmInsertExecutorTest.java   |   217 +
 .../datasource/exec/LockRetryControllerTest.java   |   115 +
 .../datasource/exec/MariadbInsertExecutorTest.java |   119 +
 ...MariadbInsertOnDuplicateUpdateExecutorTest.java |   158 +
 .../rm/datasource/exec/MultiExecutorTest.java      |   218 +
 .../datasource/exec/MySQLInsertExecutorTest.java   |   769 +
 .../MySQLInsertOnDuplicateUpdateExecutorTest.java  |   294 +
 .../datasource/exec/OracleInsertExecutorTest.java  |   454 +
 .../rm/datasource/exec/PlainExecutorTest.java      |    75 +
 .../exec/PolarDBXInsertExecutorTest.java           |   121 +
 ...olarDBXInsertOnDuplicateUpdateExecutorTest.java |   156 +
 .../exec/PostgresqlInsertExecutorTest.java         |   364 +
 .../exec/SelectForUpdateExecutorTest.java          |   124 +
 .../exec/SqlServerInsertExecutorTest.java          |   213 +
 .../rm/datasource/exec/UpdateExecutorTest.java     |   269 +
 .../rm/datasource/exec/UpdateJoinExecutorTest.java |    98 +
 .../apache/seata/rm/datasource/mock/MockBlob.java  |    85 +
 .../apache/seata/rm/datasource/mock/MockClob.java  |    96 +
 .../seata/rm/datasource/mock/MockConnection.java   |    71 +
 .../rm/datasource/mock/MockConnectionProxy.java    |    43 +
 .../seata/rm/datasource/mock/MockDataSource.java   |    73 +
 .../rm/datasource/mock/MockDatabaseMetaData.java   |  1013 +
 .../seata/rm/datasource/mock/MockDriver.java       |   201 +
 .../rm/datasource/mock/MockExecuteHandlerImpl.java |    96 +
 .../mock/MockLockConflictConnectionProxy.java      |    50 +
 .../rm/datasource/mock/MockMariadbDataSource.java  |    29 +
 .../rm/datasource/mock/MockParameterMetaData.java  |    90 +
 .../rm/datasource/mock/MockPreparedStatement.java  |    68 +
 .../seata/rm/datasource/mock/MockResultSet.java    |   173 +
 .../rm/datasource/mock/MockResultSetMetaData.java  |   170 +
 .../rm/datasource/sql/SQLVisitorFactoryTest.java   |   321 +
 .../sql/druid/dm/DmDeleteRecognizerTest.java       |   196 +
 .../sql/druid/dm/DmInsertRecognizerTest.java       |   129 +
 .../druid/dm/DmSelectForUpdateRecognizerTest.java  |   108 +
 .../sql/druid/dm/DmUpdateRecognizerTest.java       |   155 +
 .../druid/oracle/OracleDeleteRecognizerTest.java   |   196 +
 .../druid/oracle/OracleInsertRecognizerTest.java   |   128 +
 .../OracleSelectForUpdateRecognizerTest.java       |   110 +
 .../druid/oracle/OracleUpdateRecognizerTest.java   |   156 +
 .../postgresql/PostgresqlDeleteRecognizerTest.java |    93 +
 .../postgresql/PostgresqlInsertRecognizerTest.java |   120 +
 .../PostgresqlSelectForUpdateRecognizerTest.java   |    80 +
 .../postgresql/PostgresqlUpdateRecognizerTest.java |   145 +
 .../datasource/sql/handler/EscapeHandlerTest.java  |   128 +
 .../rm/datasource/sql/struct/ColumnMetaTest.java   |   108 +
 .../rm/datasource/sql/struct/IndexMetaTest.java    |    81 +
 .../rm/datasource/sql/struct/IndexTypeTest.java    |    35 +
 .../sql/struct/TableMetaCacheFactoryTest.java      |    48 +
 .../rm/datasource/sql/struct/TableMetaTest.java    |   143 +
 .../rm/datasource/sql/struct/TableRecordsTest.java |   172 +
 .../sql/struct/cache/DmTableMetaCacheTest.java     |    82 +
 .../struct/cache/MariadbTableMetaCacheTest.java    |   183 +
 .../sql/struct/cache/MysqlTableMetaCacheTest.java  |   185 +
 .../sql/struct/cache/OracleTableMetaCacheTest.java |    81 +
 .../struct/cache/PostgresqlTableMetaCacheTest.java |    85 +
 .../struct/cache/SqlServerTableMetaCacheTest.java  |   157 +
 .../datasource/undo/AbstractUndoExecutorTest.java  |   256 +
 .../seata/rm/datasource/undo/BaseExecutorTest.java |    35 +
 .../seata/rm/datasource/undo/BaseH2Test.java       |   135 +
 .../rm/datasource/undo/BaseUndoLogParserTest.java  |   209 +
 .../rm/datasource/undo/BranchUndoLogTest.java      |    79 +
 .../datasource/undo/EscapeHandlerFactoryTest.java  |    35 +
 .../seata/rm/datasource/undo/UndoExecutorTest.java |  1114 +
 .../rm/datasource/undo/UndoLogManagerTest.java     |    90 +
 .../datasource/undo/UndoLogParserFactoryTest.java  |    33 +
 .../datasource/undo/UndoLogParserProviderTest.java |    59 +
 .../undo/h2/keyword/H2EscapeHandler.java           |    27 +
 .../mariadb/MariadbLUndoInsertExecutorTest.java    |    97 +
 .../mariadb/MariadbUndoDeleteExecutorTest.java     |    97 +
 .../undo/mariadb/MariadbUndoLogManagerTest.java    |   220 +
 .../mariadb/MariadbUndoUpdateExecutorTest.java     |    99 +
 .../mariadb/keyword/MariadbEscapeHandlerTest.java  |   318 +
 .../undo/mysql/MySQLUndoDeleteExecutorTest.java    |    96 +
 .../undo/mysql/MySQLUndoInsertExecutorTest.java    |    96 +
 .../undo/mysql/MySQLUndoLogManagerTest.java        |   216 +
 .../undo/mysql/MySQLUndoUpdateExecutorTest.java    |    98 +
 .../undo/mysql/keyword/MySQLEscapeHandlerTest.java |   317 +
 .../undo/oracle/OracleUndoDeleteExecutorTest.java  |    98 +
 .../undo/oracle/OracleUndoInsertExecutorTest.java  |    96 +
 .../undo/oracle/OracleUndoUpdateExecutorTest.java  |    98 +
 .../oracle/keyword/OracleEscapeHandlerTest.java    |    36 +
 .../undo/parser/FastjsonUndoLogParserTest.java     |   118 +
 .../undo/parser/JacksonUndoLogParserTest.java      |   109 +
 .../undo/parser/KryoUndoLogParserTest.java         |    35 +
 .../undo/parser/ProtostuffUndoLogParserTest.java   |    34 +
 .../polardbx/PolarDBXUndoDeleteExecutorTest.java   |    90 +
 .../polardbx/PolarDBXUndoInsertExecutorTest.java   |    97 +
 .../undo/polardbx/PolarDBXUndoLogManagerTest.java  |   209 +
 .../polardbx/PolarDBXUndoUpdateExecutorTest.java   |    98 +
 .../keyword/PolarDBXEscapeHandlerTest.java         |    35 +
 .../keyword/PostgresqlEscapeHandlerTest.java       |    36 +
 .../sqlserver/SqlServerUndoDeleteExecutorTest.java |    88 +
 .../sqlserver/SqlServerUndoInsertExecutorTest.java |   113 +
 .../sqlserver/SqlServerUndoUpdateExecutorTest.java |    96 +
 .../keyword/SqlServerKeywordCheckerTest.java       |    35 +
 .../seata/rm/datasource/util/JdbcUtilsTest.java    |    29 +
 .../apache/seata/rm/xa/ConnectionProxyXATest.java  |   213 +
 .../seata/rm/xa/DataSourceProxyXANativeTest.java   |    60 +
 .../apache/seata/rm/xa/DataSourceProxyXATest.java  |   131 +
 .../org/apache/seata/rm/xa/XAXidBuilderTest.java   |    44 +
 .../services/io.seata.sqlparser.EscapeHandler      |     1 -
 .../io.seata.sqlparser.SQLRecognizerFactory        |    18 -
 ...eata.sqlparser.druid.SQLOperateRecognizerHolder |    22 -
 .../services/io.seata.sqlparser.util.DbTypeParser  |    18 -
 .../org.apache.seata.sqlparser.EscapeHandler       |     1 +
 ...org.apache.seata.sqlparser.SQLRecognizerFactory |    18 +
 ...eata.sqlparser.druid.SQLOperateRecognizerHolder |    22 +
 .../org.apache.seata.sqlparser.util.DbTypeParser   |    18 +
 .../main/java/io/seata/rm/AbstractRMHandler.java   |   159 -
 .../java/io/seata/rm/AbstractResourceManager.java  |   143 -
 rm/src/main/java/io/seata/rm/DefaultRMHandler.java |   102 -
 .../java/io/seata/rm/DefaultResourceManager.java   |   157 -
 rm/src/main/java/io/seata/rm/RMClient.java         |    40 -
 .../org/apache/seata/rm/AbstractRMHandler.java     |   159 +
 .../apache/seata/rm/AbstractResourceManager.java   |   143 +
 .../java/org/apache/seata/rm/DefaultRMHandler.java |   102 +
 .../apache/seata/rm/DefaultResourceManager.java    |   157 +
 rm/src/main/java/org/apache/seata/rm/RMClient.java |    40 +
 .../saga/engine/config/DbStateMachineConfig.java   |   222 -
 .../InSagaBranchHandlerInterceptor.java            |   107 -
 .../seata/saga/engine/serializer/Serializer.java   |    40 -
 .../serializer/impl/ExceptionSerializer.java       |    93 -
 .../engine/serializer/impl/ParamsSerializer.java   |    63 -
 .../seata/saga/engine/store/db/AbstractStore.java  |   210 -
 .../store/db/DbAndReportTcStateLogStore.java       |   916 -
 .../saga/engine/store/db/DbStateLangStore.java     |   111 -
 .../saga/engine/store/db/StateLangStoreSqls.java   |    72 -
 .../saga/engine/store/db/StateLogStoreSqls.java    |   192 -
 .../saga/engine/config/DbStateMachineConfig.java   |   222 +
 .../InSagaBranchHandlerInterceptor.java            |   107 +
 .../seata/saga/engine/serializer/Serializer.java   |    40 +
 .../serializer/impl/ExceptionSerializer.java       |    93 +
 .../engine/serializer/impl/ParamsSerializer.java   |    63 +
 .../seata/saga/engine/store/db/AbstractStore.java  |   210 +
 .../store/db/DbAndReportTcStateLogStore.java       |   916 +
 .../saga/engine/store/db/DbStateLangStore.java     |   111 +
 .../saga/engine/store/db/StateLangStoreSqls.java   |    72 +
 .../saga/engine/store/db/StateLogStoreSqls.java    |   192 +
 ...seata.saga.engine.pcext.StateHandlerInterceptor |     1 -
 ...seata.saga.engine.pcext.StateHandlerInterceptor |     1 +
 .../java/io/seata/saga/engine/AsyncCallback.java   |    44 -
 .../io/seata/saga/engine/StateMachineConfig.java   |   171 -
 .../io/seata/saga/engine/StateMachineEngine.java   |   163 -
 .../engine/exception/EngineExecutionException.java |    91 -
 .../engine/exception/ForwardInvalidException.java  |    53 -
 .../seata/saga/engine/expression/Expression.java   |    47 -
 .../saga/engine/expression/ExpressionFactory.java  |    32 -
 .../expression/ExpressionFactoryManager.java       |    49 -
 .../saga/engine/expression/ExpressionResolver.java |    29 -
 .../exception/ExceptionMatchExpression.java        |    77 -
 .../exception/ExceptionMatchExpressionFactory.java |    33 -
 .../expression/impl/DefaultExpressionResolver.java |   111 -
 .../engine/expression/seq/SequenceExpression.java  |    70 -
 .../expression/seq/SequenceExpressionFactory.java  |    54 -
 .../engine/expression/spel/SpringELExpression.java |    47 -
 .../expression/spel/SpringELExpressionFactory.java |    62 -
 .../engine/impl/DefaultStateMachineConfig.java     |   508 -
 .../engine/impl/ProcessCtrlStateMachineEngine.java |   712 -
 .../seata/saga/engine/invoker/ServiceInvoker.java  |    35 -
 .../saga/engine/invoker/ServiceInvokerManager.java |    47 -
 .../invoker/impl/SpringBeanServiceInvoker.java     |   363 -
 .../engine/pcext/InterceptableStateHandler.java    |    30 -
 .../engine/pcext/InterceptableStateRouter.java     |    30 -
 .../io/seata/saga/engine/pcext/StateHandler.java   |    29 -
 .../saga/engine/pcext/StateHandlerInterceptor.java |    33 -
 .../seata/saga/engine/pcext/StateInstruction.java  |   172 -
 .../engine/pcext/StateMachineProcessHandler.java   |   111 -
 .../engine/pcext/StateMachineProcessRouter.java    |   130 -
 .../io/seata/saga/engine/pcext/StateRouter.java    |    31 -
 .../saga/engine/pcext/StateRouterInterceptor.java  |    54 -
 .../engine/pcext/handlers/ChoiceStateHandler.java  |    98 -
 .../handlers/CompensationTriggerStateHandler.java  |    88 -
 .../engine/pcext/handlers/FailEndStateHandler.java |    46 -
 .../pcext/handlers/LoopStartStateHandler.java      |   165 -
 .../pcext/handlers/ScriptTaskStateHandler.java     |   152 -
 .../pcext/handlers/ServiceTaskStateHandler.java    |   191 -
 .../pcext/handlers/SubStateMachineHandler.java     |   213 -
 .../pcext/handlers/SucceedEndStateHandler.java     |    33 -
 .../interceptors/EndStateRouterInterceptor.java    |    51 -
 .../interceptors/LoopTaskHandlerInterceptor.java   |   138 -
 .../interceptors/ScriptTaskHandlerInterceptor.java |   140 -
 .../ServiceTaskHandlerInterceptor.java             |   413 -
 .../saga/engine/pcext/routers/EndStateRouter.java  |    58 -
 .../saga/engine/pcext/routers/TaskStateRouter.java |   195 -
 .../engine/pcext/utils/CompensationHolder.java     |   163 -
 .../seata/saga/engine/pcext/utils/EngineUtils.java |   251 -
 .../saga/engine/pcext/utils/LoopContextHolder.java |   105 -
 .../saga/engine/pcext/utils/LoopTaskUtils.java     |   404 -
 .../saga/engine/pcext/utils/ParameterUtils.java    |   156 -
 .../seata/saga/engine/repo/StateLogRepository.java |    71 -
 .../saga/engine/repo/StateMachineRepository.java   |    71 -
 .../engine/repo/impl/StateLogRepositoryImpl.java   |    77 -
 .../repo/impl/StateMachineRepositoryImpl.java      |   240 -
 .../seata/saga/engine/sequence/SeqGenerator.java   |    53 -
 .../engine/sequence/SpringJvmUUIDSeqGenerator.java |    51 -
 .../io/seata/saga/engine/store/StateLangStore.java |    51 -
 .../io/seata/saga/engine/store/StateLogStore.java  |   117 -
 .../engine/strategy/StatusDecisionStrategy.java    |    61 -
 .../impl/DefaultStatusDecisionStrategy.java        |   243 -
 .../io/seata/saga/engine/utils/ExceptionUtils.java |   140 -
 .../saga/engine/utils/ProcessContextBuilder.java   |   121 -
 .../apache/seata/saga/engine/AsyncCallback.java    |    44 +
 .../seata/saga/engine/StateMachineConfig.java      |   171 +
 .../seata/saga/engine/StateMachineEngine.java      |   163 +
 .../engine/exception/EngineExecutionException.java |    91 +
 .../engine/exception/ForwardInvalidException.java  |    53 +
 .../seata/saga/engine/expression/Expression.java   |    47 +
 .../saga/engine/expression/ExpressionFactory.java  |    32 +
 .../expression/ExpressionFactoryManager.java       |    49 +
 .../saga/engine/expression/ExpressionResolver.java |    29 +
 .../exception/ExceptionMatchExpression.java        |    77 +
 .../exception/ExceptionMatchExpressionFactory.java |    33 +
 .../expression/impl/DefaultExpressionResolver.java |   111 +
 .../engine/expression/seq/SequenceExpression.java  |    70 +
 .../expression/seq/SequenceExpressionFactory.java  |    54 +
 .../engine/expression/spel/SpringELExpression.java |    47 +
 .../expression/spel/SpringELExpressionFactory.java |    62 +
 .../engine/impl/DefaultStateMachineConfig.java     |   508 +
 .../engine/impl/ProcessCtrlStateMachineEngine.java |   712 +
 .../seata/saga/engine/invoker/ServiceInvoker.java  |    35 +
 .../saga/engine/invoker/ServiceInvokerManager.java |    47 +
 .../invoker/impl/SpringBeanServiceInvoker.java     |   363 +
 .../engine/pcext/InterceptableStateHandler.java    |    30 +
 .../engine/pcext/InterceptableStateRouter.java     |    30 +
 .../seata/saga/engine/pcext/StateHandler.java      |    29 +
 .../saga/engine/pcext/StateHandlerInterceptor.java |    33 +
 .../seata/saga/engine/pcext/StateInstruction.java  |   172 +
 .../engine/pcext/StateMachineProcessHandler.java   |   111 +
 .../engine/pcext/StateMachineProcessRouter.java    |   130 +
 .../seata/saga/engine/pcext/StateRouter.java       |    31 +
 .../saga/engine/pcext/StateRouterInterceptor.java  |    54 +
 .../engine/pcext/handlers/ChoiceStateHandler.java  |    98 +
 .../handlers/CompensationTriggerStateHandler.java  |    88 +
 .../engine/pcext/handlers/FailEndStateHandler.java |    46 +
 .../pcext/handlers/LoopStartStateHandler.java      |   165 +
 .../pcext/handlers/ScriptTaskStateHandler.java     |   152 +
 .../pcext/handlers/ServiceTaskStateHandler.java    |   191 +
 .../pcext/handlers/SubStateMachineHandler.java     |   213 +
 .../pcext/handlers/SucceedEndStateHandler.java     |    33 +
 .../interceptors/EndStateRouterInterceptor.java    |    51 +
 .../interceptors/LoopTaskHandlerInterceptor.java   |   138 +
 .../interceptors/ScriptTaskHandlerInterceptor.java |   140 +
 .../ServiceTaskHandlerInterceptor.java             |   413 +
 .../saga/engine/pcext/routers/EndStateRouter.java  |    58 +
 .../saga/engine/pcext/routers/TaskStateRouter.java |   195 +
 .../engine/pcext/utils/CompensationHolder.java     |   163 +
 .../seata/saga/engine/pcext/utils/EngineUtils.java |   251 +
 .../saga/engine/pcext/utils/LoopContextHolder.java |   105 +
 .../saga/engine/pcext/utils/LoopTaskUtils.java     |   404 +
 .../saga/engine/pcext/utils/ParameterUtils.java    |   156 +
 .../seata/saga/engine/repo/StateLogRepository.java |    71 +
 .../saga/engine/repo/StateMachineRepository.java   |    71 +
 .../engine/repo/impl/StateLogRepositoryImpl.java   |    77 +
 .../repo/impl/StateMachineRepositoryImpl.java      |   240 +
 .../seata/saga/engine/sequence/SeqGenerator.java   |    53 +
 .../engine/sequence/SpringJvmUUIDSeqGenerator.java |    51 +
 .../seata/saga/engine/store/StateLangStore.java    |    51 +
 .../seata/saga/engine/store/StateLogStore.java     |   117 +
 .../engine/strategy/StatusDecisionStrategy.java    |    61 +
 .../impl/DefaultStatusDecisionStrategy.java        |   243 +
 .../seata/saga/engine/utils/ExceptionUtils.java    |   140 +
 .../saga/engine/utils/ProcessContextBuilder.java   |   121 +
 ...seata.saga.engine.pcext.StateHandlerInterceptor |     3 -
 ....seata.saga.engine.pcext.StateRouterInterceptor |     1 -
 ...seata.saga.engine.pcext.StateHandlerInterceptor |     3 +
 ....seata.saga.engine.pcext.StateRouterInterceptor |     1 +
 .../saga/proctrl/HierarchicalProcessContext.java   |    77 -
 .../java/io/seata/saga/proctrl/Instruction.java    |    25 -
 .../java/io/seata/saga/proctrl/ProcessContext.java |    97 -
 .../io/seata/saga/proctrl/ProcessController.java   |    34 -
 .../java/io/seata/saga/proctrl/ProcessRouter.java  |    35 -
 .../java/io/seata/saga/proctrl/ProcessType.java    |    71 -
 .../io/seata/saga/proctrl/eventing/EventBus.java   |    52 -
 .../seata/saga/proctrl/eventing/EventConsumer.java |    42 -
 .../saga/proctrl/eventing/EventPublisher.java      |    28 -
 .../proctrl/eventing/impl/AbstractEventBus.java    |    49 -
 .../saga/proctrl/eventing/impl/AsyncEventBus.java  |    58 -
 .../saga/proctrl/eventing/impl/DirectEventBus.java |    78 -
 .../eventing/impl/ProcessCtrlEventConsumer.java    |    46 -
 .../eventing/impl/ProcessCtrlEventPublisher.java   |    40 -
 .../saga/proctrl/handler/DefaultRouterHandler.java |    90 -
 .../seata/saga/proctrl/handler/ProcessHandler.java |    35 -
 .../seata/saga/proctrl/handler/RouterHandler.java  |    35 -
 .../saga/proctrl/impl/ProcessContextImpl.java      |   168 -
 .../saga/proctrl/impl/ProcessControllerImpl.java   |    57 -
 .../saga/proctrl/process/BusinessProcessor.java    |    43 -
 .../process/impl/CustomizeBusinessProcessor.java   |    98 -
 .../saga/proctrl/HierarchicalProcessContext.java   |    77 +
 .../org/apache/seata/saga/proctrl/Instruction.java |    25 +
 .../apache/seata/saga/proctrl/ProcessContext.java  |    97 +
 .../seata/saga/proctrl/ProcessController.java      |    34 +
 .../apache/seata/saga/proctrl/ProcessRouter.java   |    35 +
 .../org/apache/seata/saga/proctrl/ProcessType.java |    71 +
 .../seata/saga/proctrl/eventing/EventBus.java      |    52 +
 .../seata/saga/proctrl/eventing/EventConsumer.java |    42 +
 .../saga/proctrl/eventing/EventPublisher.java      |    28 +
 .../proctrl/eventing/impl/AbstractEventBus.java    |    49 +
 .../saga/proctrl/eventing/impl/AsyncEventBus.java  |    58 +
 .../saga/proctrl/eventing/impl/DirectEventBus.java |    78 +
 .../eventing/impl/ProcessCtrlEventConsumer.java    |    46 +
 .../eventing/impl/ProcessCtrlEventPublisher.java   |    40 +
 .../saga/proctrl/handler/DefaultRouterHandler.java |    90 +
 .../seata/saga/proctrl/handler/ProcessHandler.java |    35 +
 .../seata/saga/proctrl/handler/RouterHandler.java  |    35 +
 .../saga/proctrl/impl/ProcessContextImpl.java      |   168 +
 .../saga/proctrl/impl/ProcessControllerImpl.java   |    57 +
 .../saga/proctrl/process/BusinessProcessor.java    |    43 +
 .../process/impl/CustomizeBusinessProcessor.java   |    98 +
 .../seata/saga/proctrl/ProcessControllerTests.java |   142 -
 .../seata/saga/proctrl/mock/MockInstruction.java   |    39 -
 .../saga/proctrl/mock/MockProcessHandler.java      |    31 -
 .../seata/saga/proctrl/mock/MockProcessRouter.java |    44 -
 .../seata/saga/proctrl/ProcessControllerTests.java |   142 +
 .../seata/saga/proctrl/mock/MockInstruction.java   |    39 +
 .../saga/proctrl/mock/MockProcessHandler.java      |    31 +
 .../seata/saga/proctrl/mock/MockProcessRouter.java |    44 +
 .../main/java/io/seata/saga/rm/RMHandlerSaga.java  |    51 -
 .../main/java/io/seata/saga/rm/SagaResource.java   |    88 -
 .../java/io/seata/saga/rm/SagaResourceManager.java |   164 -
 .../io/seata/saga/rm/StateMachineEngineHolder.java |    34 -
 .../org/apache/seata/saga/rm/RMHandlerSaga.java    |    51 +
 .../org/apache/seata/saga/rm/SagaResource.java     |    88 +
 .../apache/seata/saga/rm/SagaResourceManager.java  |   164 +
 .../seata/saga/rm/StateMachineEngineHolder.java    |    34 +
 .../services/io.seata.core.model.ResourceManager   |     1 -
 .../services/io.seata.rm.AbstractRMHandler         |     1 -
 .../org.apache.seata.core.model.ResourceManager    |     1 +
 .../services/org.apache.seata.rm.AbstractRMHandler |     1 +
 .../seata/saga/statelang/domain/ChoiceState.java   |    50 -
 .../domain/CompensateSubStateMachineState.java     |    25 -
 .../statelang/domain/CompensationTriggerState.java |    25 -
 .../saga/statelang/domain/DomainConstants.java     |    99 -
 .../io/seata/saga/statelang/domain/EndState.java   |    25 -
 .../saga/statelang/domain/ExecutionStatus.java     |    59 -
 .../seata/saga/statelang/domain/FailEndState.java  |    38 -
 .../saga/statelang/domain/LoopStartState.java      |    25 -
 .../saga/statelang/domain/RecoverStrategy.java     |    34 -
 .../saga/statelang/domain/ScriptTaskState.java     |    38 -
 .../saga/statelang/domain/ServiceTaskState.java    |    75 -
 .../java/io/seata/saga/statelang/domain/State.java |    68 -
 .../seata/saga/statelang/domain/StateInstance.java |   376 -
 .../seata/saga/statelang/domain/StateMachine.java  |   202 -
 .../statelang/domain/StateMachineInstance.java     |   330 -
 .../saga/statelang/domain/SubStateMachine.java     |    39 -
 .../saga/statelang/domain/SucceedEndState.java     |    25 -
 .../io/seata/saga/statelang/domain/TaskState.java  |   224 -
 .../statelang/domain/impl/AbstractTaskState.java   |   312 -
 .../saga/statelang/domain/impl/BaseState.java      |    90 -
 .../statelang/domain/impl/ChoiceStateImpl.java     |    91 -
 .../impl/CompensateSubStateMachineStateImpl.java   |    30 -
 .../domain/impl/CompensationTriggerStateImpl.java  |    31 -
 .../statelang/domain/impl/FailEndStateImpl.java    |    52 -
 .../statelang/domain/impl/LoopStartStateImpl.java  |    32 -
 .../statelang/domain/impl/ScriptTaskStateImpl.java |    55 -
 .../domain/impl/ServiceTaskStateImpl.java          |   103 -
 .../statelang/domain/impl/StateInstanceImpl.java   |   310 -
 .../statelang/domain/impl/StateMachineImpl.java    |   212 -
 .../domain/impl/StateMachineInstanceImpl.java      |   277 -
 .../statelang/domain/impl/SubStateMachineImpl.java |    54 -
 .../statelang/domain/impl/SucceedEndStateImpl.java |    31 -
 .../io/seata/saga/statelang/parser/JsonParser.java |    69 -
 .../saga/statelang/parser/JsonParserFactory.java   |    46 -
 .../saga/statelang/parser/StateMachineParser.java  |    34 -
 .../parser/StateMachineParserFactory.java          |    30 -
 .../seata/saga/statelang/parser/StateParser.java   |    34 -
 .../saga/statelang/parser/StateParserFactory.java  |    55 -
 .../parser/impl/AbstractTaskStateParser.java       |   151 -
 .../saga/statelang/parser/impl/BaseStatePaser.java |    36 -
 .../statelang/parser/impl/ChoiceStateParser.java   |    59 -
 .../impl/CompensateSubStateMachineStateParser.java |    46 -
 .../impl/CompensationTriggerStateParser.java       |    37 -
 .../statelang/parser/impl/FailEndStateParser.java  |    43 -
 .../saga/statelang/parser/impl/FastjsonParser.java |    94 -
 .../statelang/parser/impl/JacksonJsonParser.java   |   112 -
 .../parser/impl/ScriptTaskStateParser.java         |    52 -
 .../parser/impl/ServiceTaskStateParser.java        |    51 -
 .../parser/impl/StateMachineParserImpl.java        |   142 -
 .../parser/impl/SubStateMachineParser.java         |    54 -
 .../parser/impl/SucceedEndStateParser.java         |    37 -
 .../parser/utils/DesignerJsonTransformer.java      |   287 -
 .../seata/saga/statelang/parser/utils/IOUtils.java |    65 -
 .../saga/statelang/parser/utils/ResourceUtil.java  |    48 -
 .../statelang/parser/utils/StateMachineUtils.java  |    61 -
 .../io/seata/saga/statelang/validator/Rule.java    |    47 -
 .../saga/statelang/validator/RuleFactory.java      |    33 -
 .../statelang/validator/StateMachineValidator.java |    49 -
 .../statelang/validator/ValidationException.java   |    42 -
 .../statelang/validator/impl/AbstractRule.java     |    38 -
 .../validator/impl/FiniteTerminationRule.java      |   155 -
 .../impl/NoRecursiveSubStateMachineRule.java       |    43 -
 .../validator/impl/StateNameExistsRule.java        |    44 -
 .../seata/saga/statelang/domain/ChoiceState.java   |    50 +
 .../domain/CompensateSubStateMachineState.java     |    25 +
 .../statelang/domain/CompensationTriggerState.java |    25 +
 .../saga/statelang/domain/DomainConstants.java     |    99 +
 .../seata/saga/statelang/domain/EndState.java      |    25 +
 .../saga/statelang/domain/ExecutionStatus.java     |    59 +
 .../seata/saga/statelang/domain/FailEndState.java  |    38 +
 .../saga/statelang/domain/LoopStartState.java      |    25 +
 .../saga/statelang/domain/RecoverStrategy.java     |    34 +
 .../saga/statelang/domain/ScriptTaskState.java     |    38 +
 .../saga/statelang/domain/ServiceTaskState.java    |    75 +
 .../apache/seata/saga/statelang/domain/State.java  |    68 +
 .../seata/saga/statelang/domain/StateInstance.java |   376 +
 .../seata/saga/statelang/domain/StateMachine.java  |   202 +
 .../statelang/domain/StateMachineInstance.java     |   330 +
 .../saga/statelang/domain/SubStateMachine.java     |    39 +
 .../saga/statelang/domain/SucceedEndState.java     |    25 +
 .../seata/saga/statelang/domain/TaskState.java     |   224 +
 .../statelang/domain/impl/AbstractTaskState.java   |   312 +
 .../saga/statelang/domain/impl/BaseState.java      |    90 +
 .../statelang/domain/impl/ChoiceStateImpl.java     |    91 +
 .../impl/CompensateSubStateMachineStateImpl.java   |    30 +
 .../domain/impl/CompensationTriggerStateImpl.java  |    31 +
 .../statelang/domain/impl/FailEndStateImpl.java    |    52 +
 .../statelang/domain/impl/LoopStartStateImpl.java  |    32 +
 .../statelang/domain/impl/ScriptTaskStateImpl.java |    55 +
 .../domain/impl/ServiceTaskStateImpl.java          |   103 +
 .../statelang/domain/impl/StateInstanceImpl.java   |   310 +
 .../statelang/domain/impl/StateMachineImpl.java    |   212 +
 .../domain/impl/StateMachineInstanceImpl.java      |   277 +
 .../statelang/domain/impl/SubStateMachineImpl.java |    54 +
 .../statelang/domain/impl/SucceedEndStateImpl.java |    31 +
 .../seata/saga/statelang/parser/JsonParser.java    |    69 +
 .../saga/statelang/parser/JsonParserFactory.java   |    46 +
 .../saga/statelang/parser/StateMachineParser.java  |    34 +
 .../parser/StateMachineParserFactory.java          |    30 +
 .../seata/saga/statelang/parser/StateParser.java   |    34 +
 .../saga/statelang/parser/StateParserFactory.java  |    55 +
 .../parser/impl/AbstractTaskStateParser.java       |   151 +
 .../saga/statelang/parser/impl/BaseStatePaser.java |    36 +
 .../statelang/parser/impl/ChoiceStateParser.java   |    59 +
 .../impl/CompensateSubStateMachineStateParser.java |    46 +
 .../impl/CompensationTriggerStateParser.java       |    37 +
 .../statelang/parser/impl/FailEndStateParser.java  |    43 +
 .../saga/statelang/parser/impl/FastjsonParser.java |    94 +
 .../statelang/parser/impl/JacksonJsonParser.java   |   112 +
 .../parser/impl/ScriptTaskStateParser.java         |    52 +
 .../parser/impl/ServiceTaskStateParser.java        |    51 +
 .../parser/impl/StateMachineParserImpl.java        |   142 +
 .../parser/impl/SubStateMachineParser.java         |    54 +
 .../parser/impl/SucceedEndStateParser.java         |    37 +
 .../parser/utils/DesignerJsonTransformer.java      |   287 +
 .../seata/saga/statelang/parser/utils/IOUtils.java |    65 +
 .../saga/statelang/parser/utils/ResourceUtil.java  |    48 +
 .../statelang/parser/utils/StateMachineUtils.java  |    61 +
 .../seata/saga/statelang/validator/Rule.java       |    47 +
 .../saga/statelang/validator/RuleFactory.java      |    33 +
 .../statelang/validator/StateMachineValidator.java |    49 +
 .../statelang/validator/ValidationException.java   |    42 +
 .../statelang/validator/impl/AbstractRule.java     |    38 +
 .../validator/impl/FiniteTerminationRule.java      |   155 +
 .../impl/NoRecursiveSubStateMachineRule.java       |    43 +
 .../validator/impl/StateNameExistsRule.java        |    44 +
 .../io.seata.saga.statelang.parser.JsonParser      |     2 -
 .../io.seata.saga.statelang.validator.Rule         |     3 -
 ...g.apache.seata.saga.statelang.parser.JsonParser |     2 +
 .../org.apache.seata.saga.statelang.validator.Rule |     3 +
 .../saga/statelang/parser/StateParserTests.java    |   121 -
 .../statelang/parser/utils/ResourceUtilTests.java  |    38 -
 .../saga/statelang/parser/StateParserTests.java    |   122 +
 .../statelang/parser/utils/ResourceUtilTests.java  |    38 +
 .../statelang/simple_statemachine_with_layout.json |     4 +-
 .../saga/tm/DefaultSagaTransactionalTemplate.java  |   315 -
 .../seata/saga/tm/SagaTransactionalTemplate.java   |    54 -
 .../saga/tm/DefaultSagaTransactionalTemplate.java  |   316 +
 .../seata/saga/tm/SagaTransactionalTemplate.java   |    54 +
 .../oracle/OracleTimestampJacksonSerializer.java   |     6 +-
 ...rm.datasource.undo.parser.spi.JacksonSerializer |     1 -
 ...rm.datasource.undo.parser.spi.JacksonSerializer |     1 +
 .../OracleTimestampJacksonSerializerTest.java      |     6 +-
 .../SeataClientEnvironmentPostProcessor.java       |    76 -
 .../SeataSpringFenceAutoConfiguration.java         |    65 -
 .../properties/SagaAsyncThreadPoolProperties.java  |    69 -
 .../autoconfigure/properties/SeataProperties.java  |   184 -
 .../SpringCloudAlibabaConfiguration.java           |    78 -
 .../properties/client/LoadBalanceProperties.java   |    58 -
 .../properties/client/LockProperties.java          |    62 -
 .../properties/client/RmProperties.java            |   186 -
 .../properties/client/ServiceProperties.java       |   100 -
 .../properties/client/TmProperties.java            |   105 -
 .../properties/client/UndoCompressProperties.java  |    60 -
 .../properties/client/UndoProperties.java          |    73 -
 .../SeataClientEnvironmentPostProcessor.java       |    76 +
 .../SeataSpringFenceAutoConfiguration.java         |    65 +
 .../properties/SagaAsyncThreadPoolProperties.java  |    69 +
 .../autoconfigure/properties/SeataProperties.java  |   184 +
 .../SpringCloudAlibabaConfiguration.java           |    78 +
 .../properties/client/LoadBalanceProperties.java   |    58 +
 .../properties/client/LockProperties.java          |    62 +
 .../properties/client/RmProperties.java            |   186 +
 .../properties/client/ServiceProperties.java       |   100 +
 .../properties/client/TmProperties.java            |   105 +
 .../properties/client/UndoCompressProperties.java  |    60 +
 .../properties/client/UndoProperties.java          |    73 +
 .../additional-spring-configuration-metadata.json  |   100 +-
 .../src/main/resources/META-INF/spring.factories   |     4 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |     2 +-
 .../boot/autoconfigure/ClientPropertiesTest.java   |   120 -
 .../client/LoadBalancePropertiesTest.java          |    70 -
 .../boot/autoconfigure/ClientPropertiesTest.java   |   121 +
 .../client/LoadBalancePropertiesTest.java          |    70 +
 .../autoconfigure/SeataCoreAutoConfiguration.java  |    41 -
 .../SeataCoreEnvironmentPostProcessor.java         |   117 -
 .../boot/autoconfigure/StarterConstants.java       |   100 -
 .../autoconfigure/properties/LogProperties.java    |    41 -
 .../properties/ShutdownProperties.java             |    43 -
 .../properties/ThreadFactoryProperties.java        |   133 -
 .../properties/TransportProperties.java            |   197 -
 .../properties/config/ConfigApolloProperties.java  |    89 -
 .../properties/config/ConfigConsulProperties.java  |    58 -
 .../properties/config/ConfigCustomProperties.java  |    39 -
 .../properties/config/ConfigEtcd3Properties.java   |    50 -
 .../properties/config/ConfigFileProperties.java    |    39 -
 .../properties/config/ConfigNacosProperties.java   |   129 -
 .../properties/config/ConfigProperties.java        |    55 -
 .../config/ConfigZooKeeperProperties.java          |    89 -
 .../registry/RegistryConsulProperties.java         |    59 -
 .../registry/RegistryCustomProperties.java         |    39 -
 .../registry/RegistryEtcd3Properties.java          |    49 -
 .../registry/RegistryEurekaProperties.java         |    59 -
 .../registry/RegistryNacosProperties.java          |   157 -
 .../properties/registry/RegistryProperties.java    |    53 -
 .../registry/RegistryRaftProperties.java           |    81 -
 .../registry/RegistryRedisProperties.java          |    80 -
 .../registry/RegistrySofaProperties.java           |    99 -
 .../registry/RegistryZooKeeperProperties.java      |    87 -
 .../provider/SpringApplicationContextProvider.java |    48 -
 .../provider/SpringBootConfigurationProvider.java  |   261 -
 .../autoconfigure/SeataCoreAutoConfiguration.java  |    41 +
 .../SeataCoreEnvironmentPostProcessor.java         |   117 +
 .../boot/autoconfigure/StarterConstants.java       |   100 +
 .../autoconfigure/properties/LogProperties.java    |    41 +
 .../properties/ShutdownProperties.java             |    43 +
 .../properties/ThreadFactoryProperties.java        |   133 +
 .../properties/TransportProperties.java            |   197 +
 .../properties/config/ConfigApolloProperties.java  |    89 +
 .../properties/config/ConfigConsulProperties.java  |    58 +
 .../properties/config/ConfigCustomProperties.java  |    39 +
 .../properties/config/ConfigEtcd3Properties.java   |    50 +
 .../properties/config/ConfigFileProperties.java    |    39 +
 .../properties/config/ConfigNacosProperties.java   |   129 +
 .../properties/config/ConfigProperties.java        |    55 +
 .../config/ConfigZooKeeperProperties.java          |    89 +
 .../registry/RegistryConsulProperties.java         |    59 +
 .../registry/RegistryCustomProperties.java         |    39 +
 .../registry/RegistryEtcd3Properties.java          |    49 +
 .../registry/RegistryEurekaProperties.java         |    59 +
 .../registry/RegistryNacosProperties.java          |   157 +
 .../properties/registry/RegistryProperties.java    |    53 +
 .../registry/RegistryRaftProperties.java           |    81 +
 .../registry/RegistryRedisProperties.java          |    80 +
 .../registry/RegistrySofaProperties.java           |    99 +
 .../registry/RegistryZooKeeperProperties.java      |    87 +
 .../provider/SpringApplicationContextProvider.java |    48 +
 .../provider/SpringBootConfigurationProvider.java  |   261 +
 .../additional-spring-configuration-metadata.json  |    54 +-
 .../io.seata.config.ExtConfigurationProvider       |     1 -
 ...rg.apache.seata.config.ExtConfigurationProvider |     1 +
 .../src/main/resources/META-INF/spring.factories   |     4 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |     2 +-
 .../boot/autoconfigure/BasePropertiesTest.java     |    76 -
 .../boot/autoconfigure/CorePropertiesTest.java     |   161 -
 .../config/test/ApolloPropertiesTest.java          |    59 -
 .../config/test/ConfigPropertiesTest.java          |    51 -
 .../config/test/ConsulPropertiesTest.java          |    52 -
 .../config/test/CustomPropertiesTest.java          |    52 -
 .../config/test/Etcd3PropertiesTest.java           |    51 -
 .../properties/config/test/FilePropertiesTest.java |    50 -
 .../config/test/NacosPropertiesTest.java           |    56 -
 .../config/test/ZooKeeperPropertiesTest.java       |    56 -
 .../boot/autoconfigure/BasePropertiesTest.java     |    76 +
 .../boot/autoconfigure/CorePropertiesTest.java     |   161 +
 .../config/test/ApolloPropertiesTest.java          |    59 +
 .../config/test/ConfigPropertiesTest.java          |    51 +
 .../config/test/ConsulPropertiesTest.java          |    52 +
 .../config/test/CustomPropertiesTest.java          |    52 +
 .../config/test/Etcd3PropertiesTest.java           |    51 +
 .../properties/config/test/FilePropertiesTest.java |    50 +
 .../config/test/NacosPropertiesTest.java           |    56 +
 .../config/test/ZooKeeperPropertiesTest.java       |    56 +
 .../src/test/resources/META-INF/spring.factories   |     2 +-
 .../SeataServerEnvironmentPostProcessor.java       |    86 -
 .../properties/server/MetricsProperties.java       |    74 -
 .../properties/server/ServerProperties.java        |   135 -
 .../properties/server/ServerRaftProperties.java    |   181 -
 .../server/ServerRecoveryProperties.java           |    74 -
 .../properties/server/ServerUndoProperties.java    |    51 -
 .../server/session/SessionProperties.java          |    60 -
 .../properties/server/store/StoreDBProperties.java |   171 -
 .../server/store/StoreFileProperties.java          |    90 -
 .../properties/server/store/StoreProperties.java   |    87 -
 .../server/store/StoreRedisProperties.java         |   181 -
 .../SeataServerEnvironmentPostProcessor.java       |    88 +
 .../properties/server/MetricsProperties.java       |    74 +
 .../properties/server/ServerProperties.java        |   135 +
 .../properties/server/ServerRaftProperties.java    |   181 +
 .../server/ServerRecoveryProperties.java           |    74 +
 .../properties/server/ServerUndoProperties.java    |    51 +
 .../server/session/SessionProperties.java          |    60 +
 .../properties/server/store/StoreDBProperties.java |   171 +
 .../server/store/StoreFileProperties.java          |    90 +
 .../properties/server/store/StoreProperties.java   |    87 +
 .../server/store/StoreRedisProperties.java         |   181 +
 .../src/main/resources/META-INF/spring.factories   |     2 +-
 .../boot/autoconfigure/ServerPropertiesTest.java   |   106 -
 .../boot/autoconfigure/ServerPropertiesTest.java   |   106 +
 .../boot/autoconfigure/SeataAutoConfiguration.java |    85 -
 .../SeataDataSourceAutoConfiguration.java          |    53 -
 .../autoconfigure/SeataHttpAutoConfiguration.java  |    64 -
 .../autoconfigure/SeataSagaAutoConfiguration.java  |   137 -
 .../boot/autoconfigure/SeataAutoConfiguration.java |    85 +
 .../SeataDataSourceAutoConfiguration.java          |    53 +
 .../autoconfigure/SeataHttpAutoConfiguration.java  |    64 +
 .../autoconfigure/SeataSagaAutoConfiguration.java  |   137 +
 .../META-INF/spring-configuration-metadata.json    |     2 +-
 .../src/main/resources/META-INF/spring.factories   |     8 +-
 ...rk.boot.autoconfigure.AutoConfiguration.imports |     8 +-
 .../PropertyBeanPostProcessorTest.java             |    55 -
 .../RedisAutoInjectionTypeConvertTest.java         |    74 -
 .../PropertyBeanPostProcessorTest.java             |    55 +
 .../RedisAutoInjectionTypeConvertTest.java         |    74 +
 .../serializer/hessian/HessianSerializer.java      |    66 -
 .../hessian/HessianSerializerFactory.java          |    53 -
 .../serializer/hessian/HessianSerializer.java      |    66 +
 .../hessian/HessianSerializerFactory.java          |    53 +
 .../services/io.seata.core.serializer.Serializer   |     1 -
 .../org.apache.seata.core.serializer.Serializer    |     1 +
 .../serializer/hessian/HessianSerializerTest.java  |   140 -
 .../serializer/hessian/HessianSerializerTest.java  |   140 +
 .../seata/serializer/kryo/KryoInnerSerializer.java |    61 -
 .../io/seata/serializer/kryo/KryoSerializer.java   |    56 -
 .../serializer/kryo/KryoSerializerFactory.java     |    62 -
 .../seata/serializer/kryo/KryoInnerSerializer.java |    61 +
 .../seata/serializer/kryo/KryoSerializer.java      |    56 +
 .../serializer/kryo/KryoSerializerFactory.java     |    62 +
 .../services/io.seata.core.serializer.Serializer   |     1 -
 .../org.apache.seata.core.serializer.Serializer    |     1 +
 .../seata/serializer/kryo/KryoSerializerTest.java  |   132 -
 .../seata/serializer/kryo/KryoSerializerTest.java  |   132 +
 .../seata/serializer/protobuf/ProtobufHelper.java  |    77 -
 .../protobuf/ProtobufInnerSerializer.java          |    87 -
 .../serializer/protobuf/ProtobufSerializer.java    |    84 -
 .../convertor/BatchResultMessageConvertor.java     |    90 -
 .../convertor/BranchCommitRequestConvertor.java    |    67 -
 .../convertor/BranchCommitResponseConvertor.java   |    83 -
 .../convertor/BranchRegisterRequestConvertor.java  |    61 -
 .../convertor/BranchRegisterResponseConvertor.java |    71 -
 .../convertor/BranchReportRequestConvertor.java    |    65 -
 .../convertor/BranchReportResponseConvertor.java   |    68 -
 .../convertor/BranchRollbackRequestConvertor.java  |    69 -
 .../convertor/BranchRollbackResponseConvertor.java |    85 -
 .../convertor/GlobalBeginRequestConvertor.java     |    52 -
 .../convertor/GlobalBeginResponseConvertor.java    |    72 -
 .../convertor/GlobalCommitRequestConvertor.java    |    58 -
 .../convertor/GlobalCommitResponseConvertor.java   |    81 -
 .../convertor/GlobalLockQueryRequestConvertor.java |    68 -
 .../GlobalLockQueryResponseConvertor.java          |    73 -
 .../convertor/GlobalReportRequestConvertor.java    |    61 -
 .../convertor/GlobalReportResponseConvertor.java   |    80 -
 .../convertor/GlobalRollbackRequestConvertor.java  |    57 -
 .../convertor/GlobalRollbackResponseConvertor.java |    84 -
 .../convertor/GlobalStatusRequestConvertor.java    |    57 -
 .../convertor/GlobalStatusResponseConvertor.java   |    80 -
 .../convertor/HeartbeatMessageConvertor.java       |    35 -
 .../convertor/MergeResultMessageConvertor.java     |    87 -
 .../convertor/MergedWarpMessageConvertor.java      |    87 -
 .../serializer/protobuf/convertor/PbConvertor.java |    26 -
 .../convertor/RegisterRMRequestConvertor.java      |    60 -
 .../convertor/RegisterRMResponseConvertor.java     |    81 -
 .../convertor/RegisterTMRequestConvertor.java      |    59 -
 .../convertor/RegisterTMResponseConvertor.java     |    81 -
 .../convertor/UndoLogDeleteRequestConvertor.java   |    58 -
 .../protobuf/manager/ProtobufConvertManager.java   |   331 -
 .../seata/serializer/protobuf/ProtobufHelper.java  |    77 +
 .../protobuf/ProtobufInnerSerializer.java          |    87 +
 .../serializer/protobuf/ProtobufSerializer.java    |    84 +
 .../convertor/BatchResultMessageConvertor.java     |    90 +
 .../convertor/BranchCommitRequestConvertor.java    |    67 +
 .../convertor/BranchCommitResponseConvertor.java   |    83 +
 .../convertor/BranchRegisterRequestConvertor.java  |    61 +
 .../convertor/BranchRegisterResponseConvertor.java |    71 +
 .../convertor/BranchReportRequestConvertor.java    |    65 +
 .../convertor/BranchReportResponseConvertor.java   |    68 +
 .../convertor/BranchRollbackRequestConvertor.java  |    69 +
 .../convertor/BranchRollbackResponseConvertor.java |    85 +
 .../convertor/GlobalBeginRequestConvertor.java     |    52 +
 .../convertor/GlobalBeginResponseConvertor.java    |    72 +
 .../convertor/GlobalCommitRequestConvertor.java    |    58 +
 .../convertor/GlobalCommitResponseConvertor.java   |    81 +
 .../convertor/GlobalLockQueryRequestConvertor.java |    68 +
 .../GlobalLockQueryResponseConvertor.java          |    73 +
 .../convertor/GlobalReportRequestConvertor.java    |    61 +
 .../convertor/GlobalReportResponseConvertor.java   |    80 +
 .../convertor/GlobalRollbackRequestConvertor.java  |    57 +
 .../convertor/GlobalRollbackResponseConvertor.java |    84 +
 .../convertor/GlobalStatusRequestConvertor.java    |    57 +
 .../convertor/GlobalStatusResponseConvertor.java   |    80 +
 .../convertor/HeartbeatMessageConvertor.java       |    35 +
 .../convertor/MergeResultMessageConvertor.java     |    87 +
 .../convertor/MergedWarpMessageConvertor.java      |    87 +
 .../serializer/protobuf/convertor/PbConvertor.java |    26 +
 .../convertor/RegisterRMRequestConvertor.java      |    60 +
 .../convertor/RegisterRMResponseConvertor.java     |    81 +
 .../convertor/RegisterTMRequestConvertor.java      |    59 +
 .../convertor/RegisterTMResponseConvertor.java     |    81 +
 .../convertor/UndoLogDeleteRequestConvertor.java   |    58 +
 .../protobuf/manager/ProtobufConvertManager.java   |   331 +
 .../services/io.seata.core.serializer.Serializer   |     1 -
 .../org.apache.seata.core.serializer.Serializer    |     1 +
 .../transcation/abstractBranchEndRequest.proto     |     4 +-
 .../transcation/abstractBranchEndResponse.proto    |     4 +-
 .../transcation/abstractGlobalEndRequest.proto     |     4 +-
 .../transcation/abstractGlobalEndResponse.proto    |     4 +-
 .../transcation/abstractIdentifyRequest.proto      |     4 +-
 .../transcation/abstractIdentifyResponse.proto     |     4 +-
 .../protocol/transcation/abstractMessage.proto     |     4 +-
 .../transcation/abstractResultMessage.proto        |     4 +-
 .../transcation/abstractTransactionRequest.proto   |     4 +-
 .../transcation/abstractTransactionResponse.proto  |     4 +-
 .../protocol/transcation/batchResultMessage.proto  |     4 +-
 .../protocol/transcation/branchCommitRequest.proto |     4 +-
 .../transcation/branchCommitResponse.proto         |     4 +-
 .../transcation/branchRegisterRequest.proto        |     4 +-
 .../transcation/branchRegisterResponse.proto       |     4 +-
 .../protocol/transcation/branchReportRequest.proto |     4 +-
 .../transcation/branchReportResponse.proto         |     4 +-
 .../transcation/branchRollbackRequest.proto        |     4 +-
 .../transcation/branchRollbackResponse.proto       |     4 +-
 .../seata/protocol/transcation/branchStatus.proto  |     4 +-
 .../io/seata/protocol/transcation/branchType.proto |     4 +-
 .../protocol/transcation/globalBeginRequest.proto  |     4 +-
 .../protocol/transcation/globalBeginResponse.proto |     4 +-
 .../protocol/transcation/globalCommitRequest.proto |     4 +-
 .../transcation/globalCommitResponse.proto         |     4 +-
 .../transcation/globalLockQueryRequest.proto       |     4 +-
 .../transcation/globalLockQueryResponse.proto      |     4 +-
 .../protocol/transcation/globalReportRequest.proto |     4 +-
 .../transcation/globalReportResponse.proto         |     4 +-
 .../transcation/globalRollbackRequest.proto        |     4 +-
 .../transcation/globalRollbackResponse.proto       |     4 +-
 .../seata/protocol/transcation/globalStatus.proto  |     4 +-
 .../protocol/transcation/globalStatusRequest.proto |     4 +-
 .../transcation/globalStatusResponse.proto         |     4 +-
 .../protocol/transcation/heartbeatMessage.proto    |     4 +-
 .../protocol/transcation/mergedResultMessage.proto |     4 +-
 .../protocol/transcation/mergedWarpMessage.proto   |     4 +-
 .../seata/protocol/transcation/messageType.proto   |     4 +-
 .../protocol/transcation/registerRMRequest.proto   |     4 +-
 .../protocol/transcation/registerRMResponse.proto  |     4 +-
 .../protocol/transcation/registerTMRequest.proto   |     4 +-
 .../protocol/transcation/registerTMResponse.proto  |     4 +-
 .../io/seata/protocol/transcation/resultCode.proto |     4 +-
 .../transcation/transactionExceptionCode.proto     |     4 +-
 .../transcation/undoLogDeleteRequest.proto         |     4 +-
 .../convertor/BatchResultMessageConvertorTest.java |    58 -
 .../BranchCommitRequestConvertorTest.java          |    53 -
 .../BranchCommitResponseConvertorTest.java         |    54 -
 .../BranchRegisterRequestConvertorTest.java        |    52 -
 .../BranchRegisterResponseConvertorTest.java       |    51 -
 .../BranchReportRequestConvertorTest.java          |    55 -
 .../BranchReportResponseConvertorTest.java         |    47 -
 .../BranchRollbackRequestConvertorTest.java        |    54 -
 .../BranchRollbackResponseConvertorTest.java       |    55 -
 .../convertor/GlobalBeginRequestConvertorTest.java |    44 -
 .../GlobalBeginResponseConvertorTest.java          |    50 -
 .../GlobalCommitRequestConvertorTest.java          |    43 -
 .../GlobalCommitResponseConvertorTest.java         |    48 -
 .../GlobalLockQueryRequestConvertorTest.java       |    52 -
 .../GlobalLockQueryResponseConvertorTest.java      |    49 -
 .../GlobalRollbackRequestConvertorTest.java        |    44 -
 .../GlobalRollbackResponseConvertorTest.java       |    50 -
 .../GlobalStatusRequestConvertorTest.java          |    44 -
 .../GlobalStatusResponseConvertorTest.java         |    51 -
 .../convertor/HeartbeatMessageConvertorTest.java   |    38 -
 .../convertor/MergeMessageConvertorTest.java       |    62 -
 .../convertor/MergeResultMessageConvertorTest.java |    59 -
 .../convertor/RegisterRMRequestConvertorTest.java  |    50 -
 .../convertor/RegisterRMResponseConvertorTest.java |    51 -
 .../convertor/RegisterTMRequestConvertorTest.java  |    47 -
 .../convertor/RegisterTMResponseConvertorTest.java |    50 -
 .../UndoLogDeleteRequestConvertorTest.java         |    53 -
 .../convertor/BatchResultMessageConvertorTest.java |    58 +
 .../BranchCommitRequestConvertorTest.java          |    53 +
 .../BranchCommitResponseConvertorTest.java         |    54 +
 .../BranchRegisterRequestConvertorTest.java        |    52 +
 .../BranchRegisterResponseConvertorTest.java       |    51 +
 .../BranchReportRequestConvertorTest.java          |    55 +
 .../BranchReportResponseConvertorTest.java         |    47 +
 .../BranchRollbackRequestConvertorTest.java        |    54 +
 .../BranchRollbackResponseConvertorTest.java       |    55 +
 .../convertor/GlobalBeginRequestConvertorTest.java |    44 +
 .../GlobalBeginResponseConvertorTest.java          |    50 +
 .../GlobalCommitRequestConvertorTest.java          |    43 +
 .../GlobalCommitResponseConvertorTest.java         |    48 +
 .../GlobalLockQueryRequestConvertorTest.java       |    52 +
 .../GlobalLockQueryResponseConvertorTest.java      |    49 +
 .../GlobalRollbackRequestConvertorTest.java        |    44 +
 .../GlobalRollbackResponseConvertorTest.java       |    50 +
 .../GlobalStatusRequestConvertorTest.java          |    44 +
 .../GlobalStatusResponseConvertorTest.java         |    51 +
 .../convertor/HeartbeatMessageConvertorTest.java   |    38 +
 .../convertor/MergeMessageConvertorTest.java       |    62 +
 .../convertor/MergeResultMessageConvertorTest.java |    59 +
 .../convertor/RegisterRMRequestConvertorTest.java  |    50 +
 .../convertor/RegisterRMResponseConvertorTest.java |    51 +
 .../convertor/RegisterTMRequestConvertorTest.java  |    47 +
 .../convertor/RegisterTMResponseConvertorTest.java |    50 +
 .../UndoLogDeleteRequestConvertorTest.java         |    53 +
 .../serializer/seata/MessageCodecFactory.java      |   354 -
 .../seata/serializer/seata/MessageSeataCodec.java  |    53 -
 .../io/seata/serializer/seata/SeataSerializer.java |    87 -
 .../protocol/AbstractIdentifyRequestCodec.java     |   155 -
 .../protocol/AbstractIdentifyResponseCodec.java    |    70 -
 .../seata/protocol/AbstractMessageCodec.java       |    72 -
 .../seata/protocol/AbstractResultMessageCodec.java |    77 -
 .../seata/protocol/BatchResultMessageCodec.java    |   123 -
 .../seata/protocol/MergeResultMessageCodec.java    |   101 -
 .../seata/protocol/MergedWarpMessageCodec.java     |   116 -
 .../seata/protocol/RegisterRMRequestCodec.java     |   127 -
 .../seata/protocol/RegisterRMResponseCodec.java    |    31 -
 .../seata/protocol/RegisterTMRequestCodec.java     |    33 -
 .../seata/protocol/RegisterTMResponseCodec.java    |    33 -
 .../transaction/AbstractBranchEndRequestCodec.java |   142 -
 .../AbstractBranchEndResponseCodec.java            |    73 -
 .../transaction/AbstractGlobalEndRequestCodec.java |    80 -
 .../AbstractGlobalEndResponseCodec.java            |    54 -
 .../AbstractTransactionRequestCodec.java           |    32 -
 .../AbstractTransactionRequestToRMCodec.java       |    32 -
 .../AbstractTransactionRequestToTCCodec.java       |    32 -
 .../AbstractTransactionResponseCodec.java          |    54 -
 .../transaction/BranchCommitRequestCodec.java      |    32 -
 .../transaction/BranchCommitResponseCodec.java     |    32 -
 .../transaction/BranchRegisterRequestCodec.java    |   126 -
 .../transaction/BranchRegisterResponseCodec.java   |    52 -
 .../transaction/BranchReportRequestCodec.java      |   114 -
 .../transaction/BranchReportResponseCodec.java     |    32 -
 .../transaction/BranchRollbackRequestCodec.java    |    32 -
 .../transaction/BranchRollbackResponseCodec.java   |    33 -
 .../transaction/GlobalBeginRequestCodec.java       |    66 -
 .../transaction/GlobalBeginResponseCodec.java      |    84 -
 .../transaction/GlobalCommitRequestCodec.java      |    32 -
 .../transaction/GlobalCommitResponseCodec.java     |    31 -
 .../transaction/GlobalLockQueryRequestCodec.java   |    32 -
 .../transaction/GlobalLockQueryResponseCodec.java  |    51 -
 .../transaction/GlobalReportRequestCodec.java      |    59 -
 .../transaction/GlobalReportResponseCodec.java     |    32 -
 .../transaction/GlobalRollbackRequestCodec.java    |    31 -
 .../transaction/GlobalRollbackResponseCodec.java   |    32 -
 .../transaction/GlobalStatusRequestCodec.java      |    32 -
 .../transaction/GlobalStatusResponseCodec.java     |    32 -
 .../transaction/UndoLogDeleteRequestCodec.java     |    87 -
 .../serializer/seata/MessageCodecFactory.java      |   354 +
 .../seata/serializer/seata/MessageSeataCodec.java  |    53 +
 .../seata/serializer/seata/SeataSerializer.java    |    87 +
 .../protocol/AbstractIdentifyRequestCodec.java     |   155 +
 .../protocol/AbstractIdentifyResponseCodec.java    |    70 +
 .../seata/protocol/AbstractMessageCodec.java       |    72 +
 .../seata/protocol/AbstractResultMessageCodec.java |    77 +
 .../seata/protocol/BatchResultMessageCodec.java    |   123 +
 .../seata/protocol/MergeResultMessageCodec.java    |   101 +
 .../seata/protocol/MergedWarpMessageCodec.java     |   116 +
 .../seata/protocol/RegisterRMRequestCodec.java     |   127 +
 .../seata/protocol/RegisterRMResponseCodec.java    |    31 +
 .../seata/protocol/RegisterTMRequestCodec.java     |    33 +
 .../seata/protocol/RegisterTMResponseCodec.java    |    33 +
 .../transaction/AbstractBranchEndRequestCodec.java |   142 +
 .../AbstractBranchEndResponseCodec.java            |    73 +
 .../transaction/AbstractGlobalEndRequestCodec.java |    80 +
 .../AbstractGlobalEndResponseCodec.java            |    54 +
 .../AbstractTransactionRequestCodec.java           |    32 +
 .../AbstractTransactionRequestToRMCodec.java       |    32 +
 .../AbstractTransactionRequestToTCCodec.java       |    32 +
 .../AbstractTransactionResponseCodec.java          |    54 +
 .../transaction/BranchCommitRequestCodec.java      |    32 +
 .../transaction/BranchCommitResponseCodec.java     |    32 +
 .../transaction/BranchRegisterRequestCodec.java    |   126 +
 .../transaction/BranchRegisterResponseCodec.java   |    52 +
 .../transaction/BranchReportRequestCodec.java      |   114 +
 .../transaction/BranchReportResponseCodec.java     |    32 +
 .../transaction/BranchRollbackRequestCodec.java    |    32 +
 .../transaction/BranchRollbackResponseCodec.java   |    33 +
 .../transaction/GlobalBeginRequestCodec.java       |    66 +
 .../transaction/GlobalBeginResponseCodec.java      |    84 +
 .../transaction/GlobalCommitRequestCodec.java      |    32 +
 .../transaction/GlobalCommitResponseCodec.java     |    31 +
 .../transaction/GlobalLockQueryRequestCodec.java   |    32 +
 .../transaction/GlobalLockQueryResponseCodec.java  |    51 +
 .../transaction/GlobalReportRequestCodec.java      |    59 +
 .../transaction/GlobalReportResponseCodec.java     |    32 +
 .../transaction/GlobalRollbackRequestCodec.java    |    31 +
 .../transaction/GlobalRollbackResponseCodec.java   |    32 +
 .../transaction/GlobalStatusRequestCodec.java      |    32 +
 .../transaction/GlobalStatusResponseCodec.java     |    32 +
 .../transaction/UndoLogDeleteRequestCodec.java     |    87 +
 .../services/io.seata.core.serializer.Serializer   |     1 -
 .../org.apache.seata.core.serializer.Serializer    |     1 +
 .../protocol/BatchResultMessageSerializerTest.java |    98 -
 .../protocol/MergeResultMessageSerializerTest.java |    84 -
 .../protocol/MergedWarpMessageSerializerTest.java  |    86 -
 .../protocol/RegisterRMRequestSerializerTest.java  |    59 -
 .../protocol/RegisterRMResponseSerializerTest.java |    61 -
 .../protocol/RegisterTMRequestSerializerTest.java  |   241 -
 .../protocol/RegisterTMResponseSerializerTest.java |    60 -
 .../BranchCommitRequestSerializerTest.java         |    60 -
 .../BranchCommitResponseSerializerTest.java        |    63 -
 .../BranchRegisterRequestSerializerTest.java       |    61 -
 .../BranchRegisterResponseSerializerTest.java      |    59 -
 .../BranchReportRequestSerializerTest.java         |    62 -
 .../BranchReportResponseSerializerTest.java        |    57 -
 .../BranchRollbackRequestSerializerTest.java       |    61 -
 .../BranchRollbackResponseSerializerTest.java      |    64 -
 .../GlobalBeginRequestSerializerTest.java          |    52 -
 .../GlobalBeginResponseSerializerTest.java         |    60 -
 .../transaction/GlobalCommitRequestCodecTest.java  |    55 -
 .../GlobalCommitResponseSerializerTest.java        |    60 -
 .../GlobalLockQueryRequestSerializerTest.java      |    59 -
 .../GlobalLockQueryResponseSerializerTest.java     |    59 -
 .../GlobalRollbackRequestCodecTest.java            |    52 -
 .../GlobalRollbackResponseSerializerTest.java      |    59 -
 .../transaction/GlobalStatusRequestCodecTest.java  |    51 -
 .../GlobalStatusResponseSerializerTest.java        |    57 -
 .../UndoLogDeleteRequestSerializerTest.java        |    56 -
 .../protocol/BatchResultMessageSerializerTest.java |    98 +
 .../protocol/MergeResultMessageSerializerTest.java |    84 +
 .../protocol/MergedWarpMessageSerializerTest.java  |    86 +
 .../protocol/RegisterRMRequestSerializerTest.java  |    59 +
 .../protocol/RegisterRMResponseSerializerTest.java |    61 +
 .../protocol/RegisterTMRequestSerializerTest.java  |   241 +
 .../protocol/RegisterTMResponseSerializerTest.java |    60 +
 .../BranchCommitRequestSerializerTest.java         |    60 +
 .../BranchCommitResponseSerializerTest.java        |    63 +
 .../BranchRegisterRequestSerializerTest.java       |    61 +
 .../BranchRegisterResponseSerializerTest.java      |    59 +
 .../BranchReportRequestSerializerTest.java         |    62 +
 .../BranchReportResponseSerializerTest.java        |    57 +
 .../BranchRollbackRequestSerializerTest.java       |    61 +
 .../BranchRollbackResponseSerializerTest.java      |    64 +
 .../GlobalBeginRequestSerializerTest.java          |    52 +
 .../GlobalBeginResponseSerializerTest.java         |    60 +
 .../transaction/GlobalCommitRequestCodecTest.java  |    55 +
 .../GlobalCommitResponseSerializerTest.java        |    60 +
 .../GlobalLockQueryRequestSerializerTest.java      |    59 +
 .../GlobalLockQueryResponseSerializerTest.java     |    59 +
 .../GlobalRollbackRequestCodecTest.java            |    52 +
 .../GlobalRollbackResponseSerializerTest.java      |    59 +
 .../transaction/GlobalStatusRequestCodecTest.java  |    51 +
 .../GlobalStatusResponseSerializerTest.java        |    57 +
 .../UndoLogDeleteRequestSerializerTest.java        |    56 +
 server/pom.xml                                     |     2 +-
 .../io/seata/server/AbstractTCInboundHandler.java  |   346 -
 .../main/java/io/seata/server/ParameterParser.java |   200 -
 server/src/main/java/io/seata/server/Server.java   |   102 -
 .../java/io/seata/server/ServerApplication.java    |    32 -
 .../main/java/io/seata/server/ServerRunner.java    |   105 -
 .../main/java/io/seata/server/UUIDGenerator.java   |    51 -
 .../server/auth/AbstractCheckAuthHandler.java      |    53 -
 .../seata/server/auth/DefaultCheckAuthHandler.java |    37 -
 .../cluster/listener/ClusterChangeEvent.java       |    71 -
 .../cluster/listener/ClusterChangeListener.java    |    28 -
 .../cluster/manager/ClusterWatcherManager.java     |   109 -
 .../io/seata/server/cluster/raft/RaftServer.java   |   118 -
 .../server/cluster/raft/RaftServerManager.java     |   230 -
 .../server/cluster/raft/RaftStateMachine.java      |   326 -
 .../cluster/raft/context/SeataClusterContext.java  |    76 -
 .../raft/execute/AbstractRaftMsgExecute.java       |    33 -
 .../cluster/raft/execute/RaftMsgExecute.java       |    34 -
 .../execute/branch/AddBranchSessionExecute.java    |    49 -
 .../execute/branch/RemoveBranchSessionExecute.java |    49 -
 .../execute/branch/UpdateBranchSessionExecute.java |    46 -
 .../execute/global/AddGlobalSessionExecute.java    |    44 -
 .../execute/global/RemoveGlobalSessionExecute.java |    66 -
 .../execute/global/UpdateGlobalSessionExecute.java |    53 -
 .../execute/lock/BranchReleaseLockExecute.java     |    45 -
 .../execute/lock/GlobalReleaseLockExecute.java     |    44 -
 .../cluster/raft/serializer/JacksonSerializer.java |    82 -
 .../server/cluster/raft/snapshot/RaftSnapshot.java |   144 -
 .../raft/snapshot/RaftSnapshotSerializer.java      |    68 -
 .../cluster/raft/snapshot/StoreSnapshotFile.java   |    61 -
 .../metadata/LeaderMetadataSnapshotFile.java       |    87 -
 .../raft/snapshot/session/RaftSessionSnapshot.java |    87 -
 .../raft/snapshot/session/SessionSnapshotFile.java |   103 -
 .../raft/sync/RaftSyncMessageSerializer.java       |    67 -
 .../server/cluster/raft/sync/msg/RaftBaseMsg.java  |    47 -
 .../raft/sync/msg/RaftBranchSessionSyncMsg.java    |    62 -
 .../raft/sync/msg/RaftClusterMetadataMsg.java      |    50 -
 .../raft/sync/msg/RaftGlobalSessionSyncMsg.java    |    51 -
 .../cluster/raft/sync/msg/RaftSyncMessage.java     |   115 -
 .../cluster/raft/sync/msg/RaftSyncMsgType.java     |    59 -
 .../raft/sync/msg/dto/BranchTransactionDTO.java    |    44 -
 .../raft/sync/msg/dto/GlobalTransactionDTO.java    |    34 -
 .../raft/sync/msg/dto/RaftClusterMetadata.java     |    93 -
 .../server/cluster/raft/util/RaftTaskUtil.java     |    79 -
 .../io/seata/server/cluster/watch/Watcher.java     |    97 -
 .../controller/BranchSessionController.java        |    35 -
 .../console/controller/GlobalLockController.java   |    51 -
 .../controller/GlobalSessionController.java        |    50 -
 .../impl/db/BranchSessionDBServiceImpl.java        |   104 -
 .../console/impl/db/GlobalLockDBServiceImpl.java   |   148 -
 .../impl/db/GlobalSessionDBServiceImpl.java        |   163 -
 .../impl/file/BranchSessionFileServiceImpl.java    |    39 -
 .../impl/file/GlobalLockFileServiceImpl.java       |   173 -
 .../impl/file/GlobalSessionFileServiceImpl.java    |   101 -
 .../impl/raft/BranchSessionRaftServiceImpl.java    |    31 -
 .../impl/raft/GlobalLockRaftServiceImpl.java       |    31 -
 .../impl/raft/GlobalSessionRaftServiceImpl.java    |    31 -
 .../impl/redis/BranchSessionRedisServiceImpl.java  |    64 -
 .../impl/redis/GlobalLockRedisServiceImpl.java     |   118 -
 .../impl/redis/GlobalSessionRedisServiceImpl.java  |   108 -
 .../server/console/param/GlobalLockParam.java      |   114 -
 .../server/console/param/GlobalSessionParam.java   |   102 -
 .../console/service/BranchSessionService.java      |    34 -
 .../server/console/service/GlobalLockService.java  |    37 -
 .../console/service/GlobalSessionService.java      |    35 -
 .../seata/server/console/vo/BranchSessionVO.java   |   241 -
 .../io/seata/server/console/vo/GlobalLockVO.java   |   195 -
 .../seata/server/console/vo/GlobalSessionVO.java   |   217 -
 .../seata/server/controller/ClusterController.java |   137 -
 .../seata/server/controller/HealthController.java  |    43 -
 .../io/seata/server/coordinator/AbstractCore.java  |   264 -
 .../java/io/seata/server/coordinator/Core.java     |    59 -
 .../server/coordinator/DefaultCoordinator.java     |   644 -
 .../io/seata/server/coordinator/DefaultCore.java   |   400 -
 .../seata/server/coordinator/RaftCoordinator.java  |    78 -
 .../coordinator/TransactionCoordinatorInbound.java |    29 -
 .../TransactionCoordinatorOutbound.java            |    54 -
 .../java/io/seata/server/env/ContainerHelper.java  |   102 -
 .../main/java/io/seata/server/env/PortHelper.java  |   134 -
 .../io/seata/server/event/EventBusManager.java     |    34 -
 .../io/seata/server/lock/AbstractLockManager.java  |   197 -
 .../java/io/seata/server/lock/LockManager.java     |   106 -
 .../io/seata/server/lock/LockerManagerFactory.java |    76 -
 .../lock/distributed/DistributedLockerFactory.java |    69 -
 .../SystemPropertyLoggerContextListener.java       |    75 -
 .../ExtendedWhitespaceThrowableProxyConverter.java |    35 -
 .../logback/appender/EnhancedLogstashEncoder.java  |    45 -
 .../logback/appender/MetricLogbackAppender.java    |    54 -
 .../io/seata/server/metrics/MeterIdConstants.java  |   112 -
 .../io/seata/server/metrics/MetricsManager.java    |    65 -
 .../io/seata/server/metrics/MetricsPublisher.java  |    97 -
 .../io/seata/server/metrics/MetricsSubscriber.java |   225 -
 .../server/session/AbstractSessionManager.java     |   202 -
 .../io/seata/server/session/BranchSession.java     |   486 -
 .../seata/server/session/BranchSessionHandler.java |    39 -
 .../io/seata/server/session/GlobalSession.java     |   818 -
 .../seata/server/session/GlobalSessionHandler.java |    36 -
 .../java/io/seata/server/session/Lockable.java     |    42 -
 .../java/io/seata/server/session/Reloadable.java   |    29 -
 .../io/seata/server/session/SessionCondition.java  |   145 -
 .../io/seata/server/session/SessionHelper.java     |   466 -
 .../io/seata/server/session/SessionHolder.java     |   393 -
 .../io/seata/server/session/SessionLifecycle.java  |   105 -
 .../server/session/SessionLifecycleListener.java   |    99 -
 .../io/seata/server/session/SessionManager.java    |   205 -
 .../server/session/SessionStatusValidator.java     |    87 -
 .../spring/listener/SeataPropertiesLoader.java     |    81 -
 .../spring/listener/ServerApplicationListener.java |   130 -
 .../io/seata/server/storage/SessionConverter.java  |   234 -
 .../storage/db/lock/DataBaseDistributedLocker.java |   288 -
 .../storage/db/lock/DataBaseLockManager.java       |    77 -
 .../server/storage/db/lock/DataBaseLocker.java     |   143 -
 .../storage/db/lock/LockStoreDataBaseDAO.java      |   441 -
 .../storage/db/session/DataBaseSessionManager.java |   155 -
 .../db/store/DataBaseTransactionStoreManager.java  |   267 -
 .../storage/db/store/LogStoreDataBaseDAO.java      |   634 -
 .../seata/server/storage/file/FlushDiskMode.java   |    43 -
 .../seata/server/storage/file/ReloadableStore.java |    45 -
 .../server/storage/file/TransactionWriteStore.java |   129 -
 .../server/storage/file/lock/FileLockManager.java  |    60 -
 .../seata/server/storage/file/lock/FileLocker.java |   217 -
 .../storage/file/session/FileSessionManager.java   |   394 -
 .../file/store/FileTransactionStoreManager.java    |   656 -
 .../storage/raft/lock/RaftDistributedLocker.java   |    64 -
 .../server/storage/raft/lock/RaftLockManager.java  |    92 -
 .../storage/raft/session/RaftSessionManager.java   |   226 -
 .../server/storage/redis/JedisPooledFactory.java   |   136 -
 .../io/seata/server/storage/redis/LuaParser.java   |   170 -
 .../storage/redis/lock/RedisDistributedLocker.java |    85 -
 .../storage/redis/lock/RedisLockManager.java       |    66 -
 .../server/storage/redis/lock/RedisLocker.java     |   300 -
 .../storage/redis/lock/RedisLockerFactory.java     |    48 -
 .../server/storage/redis/lock/RedisLuaLocker.java  |   233 -
 .../storage/redis/session/RedisSessionManager.java |   148 -
 .../store/RedisLuaTransactionStoreManager.java     |   346 -
 .../redis/store/RedisTransactionStoreManager.java  |   872 -
 .../store/RedisTransactionStoreManagerFactory.java |    48 -
 .../store/AbstractTransactionStoreManager.java     |    60 -
 .../seata/server/store/DbcpDataSourceProvider.java |    56 -
 .../server/store/DruidDataSourceProvider.java      |    58 -
 .../server/store/HikariDataSourceProvider.java     |    61 -
 .../io/seata/server/store/SessionStorable.java     |    38 -
 .../java/io/seata/server/store/StoreConfig.java    |   260 -
 .../server/store/TransactionStoreManager.java      |   148 -
 .../io/seata/server/transaction/at/ATCore.java     |   104 -
 .../io/seata/server/transaction/saga/SagaCore.java |   229 -
 .../io/seata/server/transaction/tcc/TccCore.java   |    37 -
 .../io/seata/server/transaction/xa/XACore.java     |    48 -
 .../seata/server/AbstractTCInboundHandler.java     |   346 +
 .../org/apache/seata/server/ParameterParser.java   |   200 +
 .../main/java/org/apache/seata/server/Server.java  |   102 +
 .../org/apache/seata/server/ServerApplication.java |    32 +
 .../java/org/apache/seata/server/ServerRunner.java |   105 +
 .../org/apache/seata/server/UUIDGenerator.java     |    51 +
 .../server/auth/AbstractCheckAuthHandler.java      |    53 +
 .../seata/server/auth/DefaultCheckAuthHandler.java |    37 +
 .../cluster/listener/ClusterChangeEvent.java       |    71 +
 .../cluster/listener/ClusterChangeListener.java    |    28 +
 .../cluster/manager/ClusterWatcherManager.java     |   109 +
 .../seata/server/cluster/raft/RaftServer.java      |   118 +
 .../server/cluster/raft/RaftServerManager.java     |   230 +
 .../server/cluster/raft/RaftStateMachine.java      |   326 +
 .../cluster/raft/context/SeataClusterContext.java  |    76 +
 .../raft/execute/AbstractRaftMsgExecute.java       |    33 +
 .../cluster/raft/execute/RaftMsgExecute.java       |    34 +
 .../execute/branch/AddBranchSessionExecute.java    |    49 +
 .../execute/branch/RemoveBranchSessionExecute.java |    49 +
 .../execute/branch/UpdateBranchSessionExecute.java |    46 +
 .../execute/global/AddGlobalSessionExecute.java    |    44 +
 .../execute/global/RemoveGlobalSessionExecute.java |    66 +
 .../execute/global/UpdateGlobalSessionExecute.java |    53 +
 .../execute/lock/BranchReleaseLockExecute.java     |    45 +
 .../execute/lock/GlobalReleaseLockExecute.java     |    44 +
 .../cluster/raft/serializer/JacksonSerializer.java |    82 +
 .../server/cluster/raft/snapshot/RaftSnapshot.java |   144 +
 .../raft/snapshot/RaftSnapshotSerializer.java      |    68 +
 .../cluster/raft/snapshot/StoreSnapshotFile.java   |    61 +
 .../metadata/LeaderMetadataSnapshotFile.java       |    87 +
 .../raft/snapshot/session/RaftSessionSnapshot.java |    87 +
 .../raft/snapshot/session/SessionSnapshotFile.java |   103 +
 .../raft/sync/RaftSyncMessageSerializer.java       |    67 +
 .../server/cluster/raft/sync/msg/RaftBaseMsg.java  |    47 +
 .../raft/sync/msg/RaftBranchSessionSyncMsg.java    |    62 +
 .../raft/sync/msg/RaftClusterMetadataMsg.java      |    50 +
 .../raft/sync/msg/RaftGlobalSessionSyncMsg.java    |    51 +
 .../cluster/raft/sync/msg/RaftSyncMessage.java     |   115 +
 .../cluster/raft/sync/msg/RaftSyncMsgType.java     |    59 +
 .../raft/sync/msg/dto/BranchTransactionDTO.java    |    44 +
 .../raft/sync/msg/dto/GlobalTransactionDTO.java    |    34 +
 .../raft/sync/msg/dto/RaftClusterMetadata.java     |    93 +
 .../server/cluster/raft/util/RaftTaskUtil.java     |    79 +
 .../apache/seata/server/cluster/watch/Watcher.java |    97 +
 .../controller/BranchSessionController.java        |    35 +
 .../console/controller/GlobalLockController.java   |    51 +
 .../controller/GlobalSessionController.java        |    50 +
 .../impl/db/BranchSessionDBServiceImpl.java        |   104 +
 .../console/impl/db/GlobalLockDBServiceImpl.java   |   148 +
 .../impl/db/GlobalSessionDBServiceImpl.java        |   163 +
 .../impl/file/BranchSessionFileServiceImpl.java    |    39 +
 .../impl/file/GlobalLockFileServiceImpl.java       |   173 +
 .../impl/file/GlobalSessionFileServiceImpl.java    |   101 +
 .../impl/raft/BranchSessionRaftServiceImpl.java    |    31 +
 .../impl/raft/GlobalLockRaftServiceImpl.java       |    31 +
 .../impl/raft/GlobalSessionRaftServiceImpl.java    |    31 +
 .../impl/redis/BranchSessionRedisServiceImpl.java  |    64 +
 .../impl/redis/GlobalLockRedisServiceImpl.java     |   118 +
 .../impl/redis/GlobalSessionRedisServiceImpl.java  |   108 +
 .../server/console/param/GlobalLockParam.java      |   114 +
 .../server/console/param/GlobalSessionParam.java   |   102 +
 .../console/service/BranchSessionService.java      |    34 +
 .../server/console/service/GlobalLockService.java  |    37 +
 .../console/service/GlobalSessionService.java      |    35 +
 .../seata/server/console/vo/BranchSessionVO.java   |   241 +
 .../seata/server/console/vo/GlobalLockVO.java      |   195 +
 .../seata/server/console/vo/GlobalSessionVO.java   |   217 +
 .../seata/server/controller/ClusterController.java |   137 +
 .../seata/server/controller/HealthController.java  |    43 +
 .../seata/server/coordinator/AbstractCore.java     |   264 +
 .../org/apache/seata/server/coordinator/Core.java  |    59 +
 .../server/coordinator/DefaultCoordinator.java     |   644 +
 .../seata/server/coordinator/DefaultCore.java      |   400 +
 .../seata/server/coordinator/RaftCoordinator.java  |    78 +
 .../coordinator/TransactionCoordinatorInbound.java |    29 +
 .../TransactionCoordinatorOutbound.java            |    54 +
 .../apache/seata/server/env/ContainerHelper.java   |   102 +
 .../org/apache/seata/server/env/PortHelper.java    |   134 +
 .../apache/seata/server/event/EventBusManager.java |    34 +
 .../seata/server/lock/AbstractLockManager.java     |   197 +
 .../org/apache/seata/server/lock/LockManager.java  |   106 +
 .../seata/server/lock/LockerManagerFactory.java    |    76 +
 .../lock/distributed/DistributedLockerFactory.java |    69 +
 .../SystemPropertyLoggerContextListener.java       |    75 +
 .../ExtendedWhitespaceThrowableProxyConverter.java |    35 +
 .../logback/appender/EnhancedLogstashEncoder.java  |    45 +
 .../logback/appender/MetricLogbackAppender.java    |    54 +
 .../seata/server/metrics/MeterIdConstants.java     |   112 +
 .../seata/server/metrics/MetricsManager.java       |    65 +
 .../seata/server/metrics/MetricsPublisher.java     |    97 +
 .../seata/server/metrics/MetricsSubscriber.java    |   225 +
 .../server/session/AbstractSessionManager.java     |   202 +
 .../apache/seata/server/session/BranchSession.java |   486 +
 .../seata/server/session/BranchSessionHandler.java |    39 +
 .../apache/seata/server/session/GlobalSession.java |   817 +
 .../seata/server/session/GlobalSessionHandler.java |    36 +
 .../org/apache/seata/server/session/Lockable.java  |    42 +
 .../apache/seata/server/session/Reloadable.java    |    29 +
 .../seata/server/session/SessionCondition.java     |   145 +
 .../apache/seata/server/session/SessionHelper.java |   466 +
 .../apache/seata/server/session/SessionHolder.java |   393 +
 .../seata/server/session/SessionLifecycle.java     |   105 +
 .../server/session/SessionLifecycleListener.java   |    99 +
 .../seata/server/session/SessionManager.java       |   205 +
 .../server/session/SessionStatusValidator.java     |    87 +
 .../spring/listener/SeataPropertiesLoader.java     |    81 +
 .../spring/listener/ServerApplicationListener.java |   130 +
 .../seata/server/storage/SessionConverter.java     |   234 +
 .../storage/db/lock/DataBaseDistributedLocker.java |   288 +
 .../storage/db/lock/DataBaseLockManager.java       |    77 +
 .../server/storage/db/lock/DataBaseLocker.java     |   143 +
 .../storage/db/lock/LockStoreDataBaseDAO.java      |   441 +
 .../storage/db/session/DataBaseSessionManager.java |   155 +
 .../db/store/DataBaseTransactionStoreManager.java  |   267 +
 .../storage/db/store/LogStoreDataBaseDAO.java      |   634 +
 .../seata/server/storage/file/FlushDiskMode.java   |    43 +
 .../seata/server/storage/file/ReloadableStore.java |    45 +
 .../server/storage/file/TransactionWriteStore.java |   129 +
 .../server/storage/file/lock/FileLockManager.java  |    60 +
 .../seata/server/storage/file/lock/FileLocker.java |   217 +
 .../storage/file/session/FileSessionManager.java   |   394 +
 .../file/store/FileTransactionStoreManager.java    |   656 +
 .../storage/raft/lock/RaftDistributedLocker.java   |    64 +
 .../server/storage/raft/lock/RaftLockManager.java  |    92 +
 .../storage/raft/session/RaftSessionManager.java   |   226 +
 .../server/storage/redis/JedisPooledFactory.java   |   136 +
 .../seata/server/storage/redis/LuaParser.java      |   170 +
 .../storage/redis/lock/RedisDistributedLocker.java |    85 +
 .../storage/redis/lock/RedisLockManager.java       |    66 +
 .../server/storage/redis/lock/RedisLocker.java     |   300 +
 .../storage/redis/lock/RedisLockerFactory.java     |    48 +
 .../server/storage/redis/lock/RedisLuaLocker.java  |   233 +
 .../storage/redis/session/RedisSessionManager.java |   148 +
 .../store/RedisLuaTransactionStoreManager.java     |   346 +
 .../redis/store/RedisTransactionStoreManager.java  |   872 +
 .../store/RedisTransactionStoreManagerFactory.java |    48 +
 .../store/AbstractTransactionStoreManager.java     |    60 +
 .../seata/server/store/DbcpDataSourceProvider.java |    56 +
 .../server/store/DruidDataSourceProvider.java      |    58 +
 .../server/store/HikariDataSourceProvider.java     |    61 +
 .../apache/seata/server/store/SessionStorable.java |    38 +
 .../org/apache/seata/server/store/StoreConfig.java |   260 +
 .../server/store/TransactionStoreManager.java      |   148 +
 .../apache/seata/server/transaction/at/ATCore.java |   104 +
 .../seata/server/transaction/saga/SagaCore.java    |   229 +
 .../seata/server/transaction/tcc/TccCore.java      |    37 +
 .../apache/seata/server/transaction/xa/XACore.java |    48 +
 .../io.seata.core.rpc.RegisterCheckAuthHandler     |     1 -
 .../services/io.seata.core.serializer.Serializer   |     1 -
 .../services/io.seata.core.store.DistributedLocker |     3 -
 .../io.seata.core.store.db.DataSourceProvider      |     3 -
 .../io.seata.server.coordinator.AbstractCore       |     4 -
 .../services/io.seata.server.lock.LockManager      |     4 -
 .../io.seata.server.session.SessionManager         |     4 -
 ....apache.seata.core.rpc.RegisterCheckAuthHandler |     1 +
 .../org.apache.seata.core.serializer.Serializer    |     1 +
 .../org.apache.seata.core.store.DistributedLocker  |     3 +
 ...g.apache.seata.core.store.db.DataSourceProvider |     3 +
 ...rg.apache.seata.server.coordinator.AbstractCore |     4 +
 .../org.apache.seata.server.lock.LockManager       |     4 +
 .../org.apache.seata.server.session.SessionManager |     4 +
 .../src/main/resources/META-INF/spring.factories   |     4 +-
 server/src/main/resources/logback-spring.xml       |     4 +-
 .../main/resources/logback/logstash-appender.xml   |     2 +-
 .../src/main/resources/logback/metric-appender.xml |     2 +-
 server/src/test/java/ServerTest.java               |    10 +-
 .../src/test/java/WriteStoreMultithreadTest.java   |    18 +-
 server/src/test/java/WriteStoreTest.java           |    26 +-
 .../test/java/io/seata/server/LoaderConfTest.java  |    55 -
 .../java/io/seata/server/ParameterParserTest.java  |    97 -
 .../io/seata/server/UUIDGeneratorOverflowTest.java |    38 -
 .../coordinator/DefaultCoordinatorMetricsTest.java |   166 -
 .../server/coordinator/DefaultCoordinatorTest.java |   287 -
 .../seata/server/coordinator/DefaultCoreTest.java  |   389 -
 .../java/io/seata/server/env/PortHelperTest.java   |    38 -
 .../server/event/DefaultCoreForEventBusTest.java   |   166 -
 .../server/lock/DistributedLockerFactoryTest.java  |    56 -
 .../java/io/seata/server/lock/LockManagerTest.java |   464 -
 .../lock/db/DataBaseLockManagerImplTest.java       |   283 -
 .../server/lock/db/DataBaseLockStoreDAOTest.java   |   286 -
 .../server/lock/file/FileLockManagerForTest.java   |    32 -
 .../server/lock/file/FileLockManagerImplTest.java  |   104 -
 .../server/lock/redis/RedisLockManagerTest.java    |   157 -
 .../server/lock/redis/RedisLuaLockManagerTest.java |    65 -
 .../seata/server/metrics/RegistryMeterKeyTest.java |    42 -
 .../java/io/seata/server/raft/RaftServerTest.java  |    81 -
 .../io/seata/server/raft/RaftSyncMessageTest.java  |   154 -
 .../raft/execute/BranchSessionExecuteTest.java     |   172 -
 .../raft/execute/GlobalSessionExecuteTest.java     |   151 -
 .../seata/server/raft/execute/LockExecuteTest.java |   162 -
 .../io/seata/server/session/BranchSessionTest.java |    85 -
 .../server/session/FileSessionManagerTest.java     |   586 -
 .../io/seata/server/session/GlobalSessionTest.java |   234 -
 .../io/seata/server/session/SessionHolderTest.java |   145 -
 .../server/session/SessionStatusValidatorTest.java |    52 -
 .../session/db/DataBaseSessionManagerTest.java     |   609 -
 .../server/session/redis/MockRedisServer.java      |    57 -
 .../session/redis/RedisDistributedLockerTest.java  |   147 -
 .../redis/RedisLuaTransactionStoreManagerTest.java |    54 -
 .../server/session/redis/RedisQueryConsolTest.java |    86 -
 .../session/redis/RedisSessionManagerTest.java     |   338 -
 .../redis/RedisTransactionStoreManagerTest.java    |   278 -
 .../server/session/redis/SessionConverterTest.java |   179 -
 .../store/RaftSyncMessageSerializerTest.java       |    59 -
 .../io/seata/server/store/SessionStoreTest.java    |   384 -
 .../store/db/AbstractDataSourceProviderTest.java   |    55 -
 .../server/store/db/LogStoreDataBaseDAOTest.java   |   715 -
 .../file/FileTransactionStoreManagerTest.java      |   200 -
 .../test/java/io/seata/server/util/StoreUtil.java  |    54 -
 .../org/apache/seata/server/LoaderConfTest.java    |    55 +
 .../apache/seata/server/ParameterParserTest.java   |    97 +
 .../seata/server/UUIDGeneratorOverflowTest.java    |    38 +
 .../coordinator/DefaultCoordinatorMetricsTest.java |   166 +
 .../server/coordinator/DefaultCoordinatorTest.java |   287 +
 .../seata/server/coordinator/DefaultCoreTest.java  |   389 +
 .../apache/seata/server/env/PortHelperTest.java    |    38 +
 .../server/event/DefaultCoreForEventBusTest.java   |   166 +
 .../server/lock/DistributedLockerFactoryTest.java  |    56 +
 .../apache/seata/server/lock/LockManagerTest.java  |   464 +
 .../lock/db/DataBaseLockManagerImplTest.java       |   283 +
 .../server/lock/db/DataBaseLockStoreDAOTest.java   |   286 +
 .../server/lock/file/FileLockManagerForTest.java   |    32 +
 .../server/lock/file/FileLockManagerImplTest.java  |   104 +
 .../server/lock/redis/RedisLockManagerTest.java    |   157 +
 .../server/lock/redis/RedisLuaLockManagerTest.java |    65 +
 .../seata/server/metrics/RegistryMeterKeyTest.java |    40 +
 .../apache/seata/server/raft/RaftServerTest.java   |    81 +
 .../seata/server/raft/RaftSyncMessageTest.java     |   154 +
 .../raft/execute/BranchSessionExecuteTest.java     |   172 +
 .../raft/execute/GlobalSessionExecuteTest.java     |   151 +
 .../seata/server/raft/execute/LockExecuteTest.java |   162 +
 .../seata/server/session/BranchSessionTest.java    |    85 +
 .../server/session/FileSessionManagerTest.java     |   584 +
 .../seata/server/session/GlobalSessionTest.java    |   235 +
 .../seata/server/session/SessionHolderTest.java    |   146 +
 .../server/session/SessionStatusValidatorTest.java |    52 +
 .../session/db/DataBaseSessionManagerTest.java     |   609 +
 .../server/session/redis/MockRedisServer.java      |    57 +
 .../session/redis/RedisDistributedLockerTest.java  |   146 +
 .../redis/RedisLuaTransactionStoreManagerTest.java |    54 +
 .../server/session/redis/RedisQueryConsolTest.java |    86 +
 .../session/redis/RedisSessionManagerTest.java     |   338 +
 .../redis/RedisTransactionStoreManagerTest.java    |   278 +
 .../server/session/redis/SessionConverterTest.java |   179 +
 .../store/RaftSyncMessageSerializerTest.java       |    59 +
 .../seata/server/store/SessionStoreTest.java       |   384 +
 .../store/db/AbstractDataSourceProviderTest.java   |    55 +
 .../server/store/db/LogStoreDataBaseDAOTest.java   |   715 +
 .../file/FileTransactionStoreManagerTest.java      |   200 +
 .../org/apache/seata/server/util/StoreUtil.java    |    54 +
 .../io.seata.core.rpc.RegisterCheckAuthHandler     |     1 -
 .../services/io.seata.core.store.DistributedLocker |     2 -
 .../io.seata.core.store.db.DataSourceProvider      |     3 -
 .../services/io.seata.metrics.exporter.Exporter    |     1 -
 .../io.seata.server.coordinator.AbstractCore       |     4 -
 .../services/io.seata.server.lock.LockManager      |     3 -
 .../io.seata.server.session.SessionManager         |     3 -
 ....apache.seata.core.rpc.RegisterCheckAuthHandler |     1 +
 .../org.apache.seata.core.store.DistributedLocker  |     2 +
 ...g.apache.seata.core.store.db.DataSourceProvider |     3 +
 .../org.apache.seata.metrics.exporter.Exporter     |     1 +
 ...rg.apache.seata.server.coordinator.AbstractCore |     4 +
 .../org.apache.seata.server.lock.LockManager       |     3 +
 .../org.apache.seata.server.session.SessionManager |     3 +
 .../java/io/seata/rm/fence/SpringFenceConfig.java  |    64 -
 .../java/io/seata/rm/fence/SpringFenceHandler.java |   403 -
 .../io/seata/spring/SpringTargetClassParser.java   |    34 -
 .../annotation/AdapterInvocationWrapper.java       |    58 -
 .../annotation/AdapterSpringSeataInterceptor.java  |    68 -
 .../annotation/AspectTransactionalInterceptor.java |    68 -
 .../annotation/GlobalTransactionScanner.java       |   595 -
 .../io/seata/spring/annotation/MethodDesc.java     |    75 -
 .../io/seata/spring/annotation/ScannerChecker.java |    40 -
 .../datasource/AutoDataSourceProxyRegistrar.java   |    56 -
 .../datasource/DataSourceProxyHolder.java          |    40 -
 .../datasource/EnableAutoDataSourceProxy.java      |    55 -
 .../datasource/SeataAutoDataSourceProxyAdvice.java |    84 -
 .../SeataAutoDataSourceProxyCreator.java           |   121 -
 .../spring/annotation/datasource/SeataProxy.java   |    22 -
 .../scannercheckers/ConfigBeansScannerChecker.java |    41 -
 .../scannercheckers/PackageScannerChecker.java     |    77 -
 .../scannercheckers/ScopeBeansScannerChecker.java  |   151 -
 .../kt/support/TransactionCoroutineContext.kt      |    47 -
 .../io/seata/spring/kt/support/TransactionDsl.kt   |    56 -
 .../remoting/parser/RemotingFactoryBeanParser.java |    99 -
 .../seata/spring/tcc/TccAnnotationProcessor.java   |   129 -
 .../main/java/io/seata/spring/util/OrderUtil.java  |   276 -
 .../io/seata/spring/util/SpringProxyUtils.java     |   186 -
 .../apache/seata/rm/fence/SpringFenceConfig.java   |    64 +
 .../apache/seata/rm/fence/SpringFenceHandler.java  |   403 +
 .../seata/spring/SpringTargetClassParser.java      |    34 +
 .../annotation/AdapterInvocationWrapper.java       |    58 +
 .../annotation/AdapterSpringSeataInterceptor.java  |    68 +
 .../annotation/AspectTransactionalInterceptor.java |    68 +
 .../annotation/GlobalTransactionScanner.java       |   595 +
 .../apache/seata/spring/annotation/MethodDesc.java |    75 +
 .../seata/spring/annotation/ScannerChecker.java    |    40 +
 .../datasource/AutoDataSourceProxyRegistrar.java   |    56 +
 .../datasource/DataSourceProxyHolder.java          |    40 +
 .../datasource/EnableAutoDataSourceProxy.java      |    55 +
 .../datasource/SeataAutoDataSourceProxyAdvice.java |    84 +
 .../SeataAutoDataSourceProxyCreator.java           |   121 +
 .../spring/annotation/datasource/SeataProxy.java   |    22 +
 .../scannercheckers/ConfigBeansScannerChecker.java |    41 +
 .../scannercheckers/PackageScannerChecker.java     |    77 +
 .../scannercheckers/ScopeBeansScannerChecker.java  |   151 +
 .../kt/support/TransactionCoroutineContext.kt      |    47 +
 .../seata/spring/kt/support/TransactionDsl.kt      |    56 +
 .../remoting/parser/RemotingFactoryBeanParser.java |    99 +
 .../seata/spring/tcc/TccAnnotationProcessor.java   |   129 +
 .../org/apache/seata/spring/util/OrderUtil.java    |   276 +
 .../apache/seata/spring/util/SpringProxyUtils.java |   186 +
 ...ion.tx.api.interceptor.parser.TargetClassParser |     1 -
 .../io.seata.spring.annotation.ScannerChecker      |     3 -
 ...ion.tx.api.interceptor.parser.TargetClassParser |     1 +
 ...g.apache.seata.spring.annotation.ScannerChecker |     3 +
 .../AdapterSpringSeataInterceptorTest.java         |   103 -
 .../io/seata/spring/annotation/MethodDescTest.java |   165 -
 .../datasource/SeataAutoDataSourceProxyTest.java   |   157 -
 .../io/seata/spring/kt/TransactionScopeTest.kt     |   134 -
 .../java/io/seata/spring/tcc/NormalTccAction.java  |    36 -
 .../io/seata/spring/tcc/NormalTccActionImpl.java   |    44 -
 .../java/io/seata/spring/util/MockAdvice1.java     |    39 -
 .../java/io/seata/spring/util/MockAdvice2.java     |    39 -
 .../java/io/seata/spring/util/MockAdvisor.java     |    49 -
 .../seata/spring/util/MockAnnotationOrdered.java   |    25 -
 .../java/io/seata/spring/util/MockOrdered.java     |    35 -
 .../java/io/seata/spring/util/OrderUtilTest.java   |   112 -
 .../AdapterSpringSeataInterceptorTest.java         |   103 +
 .../seata/spring/annotation/MethodDescTest.java    |   165 +
 .../datasource/SeataAutoDataSourceProxyTest.java   |   157 +
 .../apache/seata/spring/kt/TransactionScopeTest.kt |   134 +
 .../apache/seata/spring/tcc/NormalTccAction.java   |    36 +
 .../seata/spring/tcc/NormalTccActionImpl.java      |    44 +
 .../org/apache/seata/spring/util/MockAdvice1.java  |    39 +
 .../org/apache/seata/spring/util/MockAdvice2.java  |    39 +
 .../org/apache/seata/spring/util/MockAdvisor.java  |    49 +
 .../seata/spring/util/MockAnnotationOrdered.java   |    25 +
 .../org/apache/seata/spring/util/MockOrdered.java  |    35 +
 .../apache/seata/spring/util/OrderUtilTest.java    |   112 +
 .../antlr/AntlrDelegatingSQLRecognizerFactory.java |    62 -
 .../antlr/SQLOperateRecognizerHolder.java          |    59 -
 .../antlr/SQLOperateRecognizerHolderFactory.java   |    43 -
 .../antlr/mysql/AntlrMySQLDeleteRecognizer.java    |   102 -
 .../antlr/mysql/AntlrMySQLInsertRecognizer.java    |   116 -
 .../antlr/mysql/AntlrMySQLRecognizerFactory.java   |    81 -
 .../antlr/mysql/AntlrMySQLSelectRecognizer.java    |   100 -
 .../antlr/mysql/AntlrMySQLUpdateRecognizer.java    |   132 -
 .../antlr/mysql/MySQLOperateRecognizerHolder.java  |    50 -
 .../seata/sqlparser/antlr/mysql/MySqlContext.java  |   391 -
 .../listener/DeleteSpecificationSqlListener.java   |    83 -
 .../listener/SelectSpecificationSqlListener.java   |    89 -
 .../listener/UpdateSpecificationSqlListener.java   |    87 -
 .../sqlparser/antlr/mysql/parser/MySqlLexer.java   |  5644 --
 .../sqlparser/antlr/mysql/parser/MySqlParser.java  | 65742 -------------------
 .../mysql/parser/MySqlParserBaseListener.java      |  6867 --
 .../antlr/mysql/parser/MySqlParserBaseVisitor.java |  3997 --
 .../antlr/mysql/parser/MySqlParserListener.java    |  6290 --
 .../antlr/mysql/parser/MySqlParserVisitor.java     |  3722 --
 .../mysql/stream/ANTLRNoCaseStringStream.java      |    41 -
 .../mysql/visit/InsertSpecificationSqlVisitor.java |    74 -
 .../mysql/visit/InsertStatementSqlVisitor.java     |    40 -
 .../antlr/mysql/visit/StatementSqlVisitor.java     |    68 -
 .../antlr/AntlrDelegatingSQLRecognizerFactory.java |    62 +
 .../antlr/SQLOperateRecognizerHolder.java          |    59 +
 .../antlr/SQLOperateRecognizerHolderFactory.java   |    43 +
 .../antlr/mysql/AntlrMySQLDeleteRecognizer.java    |   102 +
 .../antlr/mysql/AntlrMySQLInsertRecognizer.java    |   116 +
 .../antlr/mysql/AntlrMySQLRecognizerFactory.java   |    81 +
 .../antlr/mysql/AntlrMySQLSelectRecognizer.java    |   100 +
 .../antlr/mysql/AntlrMySQLUpdateRecognizer.java    |   132 +
 .../antlr/mysql/MySQLOperateRecognizerHolder.java  |    50 +
 .../seata/sqlparser/antlr/mysql/MySqlContext.java  |   391 +
 .../sqlparser/antlr/mysql/antlr/MySqlLexer.g4      |     0
 .../sqlparser/antlr/mysql/antlr/MySqlParser.g4     |     0
 .../listener/DeleteSpecificationSqlListener.java   |    83 +
 .../listener/SelectSpecificationSqlListener.java   |    89 +
 .../listener/UpdateSpecificationSqlListener.java   |    87 +
 .../sqlparser/antlr/mysql/parser/MySqlLexer.interp |     0
 .../sqlparser/antlr/mysql/parser/MySqlLexer.java   |  5644 ++
 .../sqlparser/antlr/mysql/parser/MySqlLexer.tokens |     0
 .../antlr/mysql/parser/MySqlParser.interp          |     0
 .../sqlparser/antlr/mysql/parser/MySqlParser.java  | 65742 +++++++++++++++++++
 .../antlr/mysql/parser/MySqlParser.tokens          |     0
 .../mysql/parser/MySqlParserBaseListener.java      |  6867 ++
 .../antlr/mysql/parser/MySqlParserBaseVisitor.java |  3997 ++
 .../antlr/mysql/parser/MySqlParserListener.java    |  6290 ++
 .../antlr/mysql/parser/MySqlParserVisitor.java     |  3722 ++
 .../mysql/stream/ANTLRNoCaseStringStream.java      |    41 +
 .../mysql/visit/InsertSpecificationSqlVisitor.java |    74 +
 .../mysql/visit/InsertStatementSqlVisitor.java     |    40 +
 .../antlr/mysql/visit/StatementSqlVisitor.java     |    68 +
 .../io.seata.sqlparser.SQLRecognizerFactory        |     1 -
 ...eata.sqlparser.antlr.SQLOperateRecognizerHolder |     1 -
 ...org.apache.seata.sqlparser.SQLRecognizerFactory |     1 +
 ...eata.sqlparser.antlr.SQLOperateRecognizerHolder |     1 +
 .../seata/sqlparser/antlr/AntlrIsolationTest.java  |    42 -
 .../sqlparser/antlr/MySQLDeleteRecognizerTest.java |   175 -
 .../sqlparser/antlr/MySQLInsertRecognizerTest.java |   123 -
 ...QLSelectForUpdateRecognizerForListenerTest.java |   218 -
 .../sqlparser/antlr/MySQLUpdateRecognizerTest.java |   191 -
 .../seata/sqlparser/antlr/AntlrIsolationTest.java  |    42 +
 .../sqlparser/antlr/MySQLDeleteRecognizerTest.java |   175 +
 .../sqlparser/antlr/MySQLInsertRecognizerTest.java |   123 +
 ...QLSelectForUpdateRecognizerForListenerTest.java |   218 +
 .../sqlparser/antlr/MySQLUpdateRecognizerTest.java |   191 +
 .../java/io/seata/sqlparser/EscapeHandler.java     |   164 -
 .../io/seata/sqlparser/EscapeHandlerFactory.java   |    43 -
 .../main/java/io/seata/sqlparser/EscapeSymbol.java |    44 -
 .../java/io/seata/sqlparser/JoinRecognizer.java    |    34 -
 .../java/io/seata/sqlparser/ParametersHolder.java  |    34 -
 .../io/seata/sqlparser/SQLDeleteRecognizer.java    |    24 -
 .../io/seata/sqlparser/SQLInsertRecognizer.java    |    69 -
 .../io/seata/sqlparser/SQLParsingException.java    |    51 -
 .../java/io/seata/sqlparser/SQLRecognizer.java     |    65 -
 .../io/seata/sqlparser/SQLRecognizerFactory.java   |    25 -
 .../io/seata/sqlparser/SQLSelectRecognizer.java    |    24 -
 .../src/main/java/io/seata/sqlparser/SQLType.java  |   249 -
 .../io/seata/sqlparser/SQLUpdateRecognizer.java    |    58 -
 .../java/io/seata/sqlparser/SqlParserType.java     |    31 -
 .../java/io/seata/sqlparser/WhereRecognizer.java   |    74 -
 .../java/io/seata/sqlparser/struct/ColumnMeta.java |   526 -
 .../io/seata/sqlparser/struct/Defaultable.java     |    45 -
 .../java/io/seata/sqlparser/struct/IndexMeta.java  |   261 -
 .../java/io/seata/sqlparser/struct/IndexType.java  |    70 -
 .../seata/sqlparser/struct/NotPlaceholderExpr.java |    43 -
 .../main/java/io/seata/sqlparser/struct/Null.java  |    42 -
 .../io/seata/sqlparser/struct/Sequenceable.java    |    33 -
 .../io/seata/sqlparser/struct/SqlDefaultExpr.java  |    43 -
 .../io/seata/sqlparser/struct/SqlMethodExpr.java   |    44 -
 .../io/seata/sqlparser/struct/SqlSequenceExpr.java |    50 -
 .../java/io/seata/sqlparser/struct/TableMeta.java  |   263 -
 .../io/seata/sqlparser/struct/TableMetaCache.java  |    45 -
 .../java/io/seata/sqlparser/util/ColumnUtils.java  |   122 -
 .../java/io/seata/sqlparser/util/DbTypeParser.java |    23 -
 .../io/seata/sqlparser/util/JdbcConstants.java     |    88 -
 .../org/apache/seata/sqlparser/EscapeHandler.java  |   164 +
 .../seata/sqlparser/EscapeHandlerFactory.java      |    43 +
 .../org/apache/seata/sqlparser/EscapeSymbol.java   |    44 +
 .../org/apache/seata/sqlparser/JoinRecognizer.java |    34 +
 .../apache/seata/sqlparser/ParametersHolder.java   |    34 +
 .../seata/sqlparser/SQLDeleteRecognizer.java       |    24 +
 .../seata/sqlparser/SQLInsertRecognizer.java       |    69 +
 .../seata/sqlparser/SQLParsingException.java       |    51 +
 .../org/apache/seata/sqlparser/SQLRecognizer.java  |    65 +
 .../seata/sqlparser/SQLRecognizerFactory.java      |    25 +
 .../seata/sqlparser/SQLSelectRecognizer.java       |    24 +
 .../java/org/apache/seata/sqlparser/SQLType.java   |   249 +
 .../seata/sqlparser/SQLUpdateRecognizer.java       |    58 +
 .../org/apache/seata/sqlparser/SqlParserType.java  |    31 +
 .../apache/seata/sqlparser/WhereRecognizer.java    |    74 +
 .../apache/seata/sqlparser/struct/ColumnMeta.java  |   526 +
 .../apache/seata/sqlparser/struct/Defaultable.java |    45 +
 .../apache/seata/sqlparser/struct/IndexMeta.java   |   261 +
 .../apache/seata/sqlparser/struct/IndexType.java   |    70 +
 .../seata/sqlparser/struct/NotPlaceholderExpr.java |    43 +
 .../org/apache/seata/sqlparser/struct/Null.java    |    42 +
 .../seata/sqlparser/struct/Sequenceable.java       |    33 +
 .../seata/sqlparser/struct/SqlDefaultExpr.java     |    43 +
 .../seata/sqlparser/struct/SqlMethodExpr.java      |    44 +
 .../seata/sqlparser/struct/SqlSequenceExpr.java    |    50 +
 .../apache/seata/sqlparser/struct/TableMeta.java   |   263 +
 .../seata/sqlparser/struct/TableMetaCache.java     |    45 +
 .../apache/seata/sqlparser/util/ColumnUtils.java   |   122 +
 .../apache/seata/sqlparser/util/DbTypeParser.java  |    23 +
 .../apache/seata/sqlparser/util/JdbcConstants.java |    88 +
 .../io/seata/sqlparser/druid/BaseRecognizer.java   |   163 -
 .../seata/sqlparser/druid/DefaultDruidLoader.java  |   100 -
 .../seata/sqlparser/druid/DruidDbTypeAdapter.java  |    38 -
 .../sqlparser/druid/DruidDbTypeParserImpl.java     |    29 -
 .../druid/DruidDelegatingDbTypeParser.java         |    59 -
 .../druid/DruidDelegatingSQLRecognizerFactory.java |    62 -
 .../sqlparser/druid/DruidIsolationClassLoader.java |    83 -
 .../java/io/seata/sqlparser/druid/DruidLoader.java |    31 -
 .../druid/DruidSQLRecognizerFactoryImpl.java       |    70 -
 .../druid/SQLOperateRecognizerHolder.java          |    64 -
 .../druid/SQLOperateRecognizerHolderFactory.java   |    43 -
 .../sqlparser/druid/SupportSqlWhereMethod.java     |    50 -
 .../seata/sqlparser/druid/dm/BaseDmRecognizer.java |    91 -
 .../sqlparser/druid/dm/DmDeleteRecognizer.java     |   133 -
 .../sqlparser/druid/dm/DmInsertRecognizer.java     |   164 -
 .../druid/dm/DmOperateRecognizerHolder.java        |    54 -
 .../druid/dm/DmSelectForUpdateRecognizer.java      |   134 -
 .../sqlparser/druid/dm/DmUpdateRecognizer.java     |   180 -
 .../druid/mariadb/MariadbDeleteRecognizer.java     |    38 -
 .../druid/mariadb/MariadbInsertRecognizer.java     |    38 -
 .../mariadb/MariadbOperateRecognizerHolder.java    |    56 -
 .../mariadb/MariadbSelectForUpdateRecognizer.java  |    37 -
 .../druid/mariadb/MariadbUpdateRecognizer.java     |    36 -
 .../sqlparser/druid/mysql/BaseMySQLRecognizer.java |   150 -
 .../druid/mysql/MySQLDeleteRecognizer.java         |   143 -
 .../druid/mysql/MySQLInsertRecognizer.java         |   181 -
 .../druid/mysql/MySQLOperateRecognizerHolder.java  |    55 -
 .../mysql/MySQLSelectForUpdateRecognizer.java      |   140 -
 .../druid/mysql/MySQLUpdateRecognizer.java         |   252 -
 .../druid/oracle/BaseOracleRecognizer.java         |   195 -
 .../druid/oracle/OracleDeleteRecognizer.java       |   138 -
 .../druid/oracle/OracleInsertRecognizer.java       |   164 -
 .../oracle/OracleOperateRecognizerHolder.java      |    55 -
 .../oracle/OracleSelectForUpdateRecognizer.java    |   140 -
 .../druid/oracle/OracleUpdateRecognizer.java       |   183 -
 .../druid/polardbx/PolarDBXDeleteRecognizer.java   |    30 -
 .../druid/polardbx/PolarDBXInsertRecognizer.java   |    30 -
 .../polardbx/PolarDBXOperateRecognizerHolder.java  |    54 -
 .../PolarDBXSelectForUpdateRecognizer.java         |    30 -
 .../druid/polardbx/PolarDBXUpdateRecognizer.java   |    30 -
 .../druid/postgresql/BasePostgresqlRecognizer.java |   203 -
 .../postgresql/PostgresqlDeleteRecognizer.java     |   134 -
 .../postgresql/PostgresqlInsertRecognizer.java     |   174 -
 .../PostgresqlOperateRecognizerHolder.java         |    57 -
 .../PostgresqlSelectForUpdateRecognizer.java       |   137 -
 .../postgresql/PostgresqlUpdateRecognizer.java     |   181 -
 .../druid/sqlserver/BaseSqlServerRecognizer.java   |   155 -
 .../druid/sqlserver/SqlServerDeleteRecognizer.java |   135 -
 .../druid/sqlserver/SqlServerInsertRecognizer.java |   182 -
 .../SqlServerOperateRecognizerHolder.java          |    77 -
 .../SqlServerSelectForUpdateRecognizer.java        |   136 -
 .../druid/sqlserver/SqlServerUpdateRecognizer.java |   208 -
 .../seata/sqlparser/druid/BaseRecognizer.java      |   163 +
 .../seata/sqlparser/druid/DefaultDruidLoader.java  |   100 +
 .../seata/sqlparser/druid/DruidDbTypeAdapter.java  |    38 +
 .../sqlparser/druid/DruidDbTypeParserImpl.java     |    29 +
 .../druid/DruidDelegatingDbTypeParser.java         |    59 +
 .../druid/DruidDelegatingSQLRecognizerFactory.java |    62 +
 .../sqlparser/druid/DruidIsolationClassLoader.java |    83 +
 .../apache/seata/sqlparser/druid/DruidLoader.java  |    31 +
 .../druid/DruidSQLRecognizerFactoryImpl.java       |    70 +
 .../druid/SQLOperateRecognizerHolder.java          |    64 +
 .../druid/SQLOperateRecognizerHolderFactory.java   |    43 +
 .../sqlparser/druid/SupportSqlWhereMethod.java     |    50 +
 .../seata/sqlparser/druid/dm/BaseDmRecognizer.java |    91 +
 .../sqlparser/druid/dm/DmDeleteRecognizer.java     |   133 +
 .../sqlparser/druid/dm/DmInsertRecognizer.java     |   164 +
 .../druid/dm/DmOperateRecognizerHolder.java        |    54 +
 .../druid/dm/DmSelectForUpdateRecognizer.java      |   134 +
 .../sqlparser/druid/dm/DmUpdateRecognizer.java     |   180 +
 .../druid/mariadb/MariadbDeleteRecognizer.java     |    38 +
 .../druid/mariadb/MariadbInsertRecognizer.java     |    38 +
 .../mariadb/MariadbOperateRecognizerHolder.java    |    56 +
 .../mariadb/MariadbSelectForUpdateRecognizer.java  |    37 +
 .../druid/mariadb/MariadbUpdateRecognizer.java     |    36 +
 .../sqlparser/druid/mysql/BaseMySQLRecognizer.java |   150 +
 .../druid/mysql/MySQLDeleteRecognizer.java         |   143 +
 .../druid/mysql/MySQLInsertRecognizer.java         |   181 +
 .../druid/mysql/MySQLOperateRecognizerHolder.java  |    55 +
 .../mysql/MySQLSelectForUpdateRecognizer.java      |   140 +
 .../druid/mysql/MySQLUpdateRecognizer.java         |   252 +
 .../druid/oracle/BaseOracleRecognizer.java         |   195 +
 .../druid/oracle/OracleDeleteRecognizer.java       |   138 +
 .../druid/oracle/OracleInsertRecognizer.java       |   164 +
 .../oracle/OracleOperateRecognizerHolder.java      |    55 +
 .../oracle/OracleSelectForUpdateRecognizer.java    |   140 +
 .../druid/oracle/OracleUpdateRecognizer.java       |   183 +
 .../druid/polardbx/PolarDBXDeleteRecognizer.java   |    30 +
 .../druid/polardbx/PolarDBXInsertRecognizer.java   |    30 +
 .../polardbx/PolarDBXOperateRecognizerHolder.java  |    54 +
 .../PolarDBXSelectForUpdateRecognizer.java         |    30 +
 .../druid/polardbx/PolarDBXUpdateRecognizer.java   |    30 +
 .../druid/postgresql/BasePostgresqlRecognizer.java |   203 +
 .../postgresql/PostgresqlDeleteRecognizer.java     |   134 +
 .../postgresql/PostgresqlInsertRecognizer.java     |   174 +
 .../PostgresqlOperateRecognizerHolder.java         |    57 +
 .../PostgresqlSelectForUpdateRecognizer.java       |   137 +
 .../postgresql/PostgresqlUpdateRecognizer.java     |   181 +
 .../druid/sqlserver/BaseSqlServerRecognizer.java   |   155 +
 .../druid/sqlserver/SqlServerDeleteRecognizer.java |   135 +
 .../druid/sqlserver/SqlServerInsertRecognizer.java |   182 +
 .../SqlServerOperateRecognizerHolder.java          |    77 +
 .../SqlServerSelectForUpdateRecognizer.java        |   136 +
 .../druid/sqlserver/SqlServerUpdateRecognizer.java |   208 +
 .../io.seata.sqlparser.SQLRecognizerFactory        |     1 -
 ...eata.sqlparser.druid.SQLOperateRecognizerHolder |     7 -
 .../services/io.seata.sqlparser.util.DbTypeParser  |     1 -
 ...org.apache.seata.sqlparser.SQLRecognizerFactory |     1 +
 ...eata.sqlparser.druid.SQLOperateRecognizerHolder |     7 +
 .../org.apache.seata.sqlparser.util.DbTypeParser   |     1 +
 .../sqlparser/druid/AbstractRecognizerTest.java    |    43 -
 .../sqlparser/druid/DruidDbTypeParserTest.java     |    41 -
 .../seata/sqlparser/druid/DruidIsolationTest.java  |    53 -
 .../seata/sqlparser/druid/DruidLoaderForTest.java  |    32 -
 .../druid/DruidSQLRecognizerFactoryTest.java       |   122 -
 .../druid/MariadbDeleteRecognizerTest.java         |   315 -
 .../druid/MariadbInsertRecognizerTest.java         |   191 -
 .../MariadbSelectForUpdateRecognizerTest.java      |   245 -
 .../druid/MariadbUpdateRecognizerTest.java         |   376 -
 .../sqlparser/druid/MySQLDeleteRecognizerTest.java |   335 -
 .../sqlparser/druid/MySQLInsertRecognizerTest.java |   188 -
 .../druid/MySQLSelectForUpdateRecognizerTest.java  |   242 -
 .../sqlparser/druid/MySQLUpdateRecognizerTest.java |   378 -
 .../polardbx/AbstractPolarDBXRecognizerTest.java   |    32 -
 .../polardbx/PolarDBXDeleteRecognizerTest.java     |   143 -
 .../polardbx/PolarDBXInsertRecognizerTest.java     |   170 -
 .../PolarDBXOperateRecognizerHolderTest.java       |    61 -
 .../PolarDBXSelectForUpdateRecognizerTest.java     |   156 -
 .../polardbx/PolarDBXUpdateRecognizerTest.java     |   192 -
 .../sqlserver/SqlServerDeleteRecognizerTest.java   |   211 -
 .../sqlserver/SqlServerInsertRecognizerTest.java   |   258 -
 .../SqlServerOperateRecognizerHolderTest.java      |    69 -
 .../SqlServerSelectForUpdateRecognizerTest.java    |   246 -
 .../sqlserver/SqlServerUpdateRecognizerTest.java   |   331 -
 .../sqlparser/druid/AbstractRecognizerTest.java    |    43 +
 .../sqlparser/druid/DruidDbTypeParserTest.java     |    41 +
 .../seata/sqlparser/druid/DruidIsolationTest.java  |    53 +
 .../seata/sqlparser/druid/DruidLoaderForTest.java  |    32 +
 .../druid/DruidSQLRecognizerFactoryTest.java       |   122 +
 .../druid/MariadbDeleteRecognizerTest.java         |   315 +
 .../druid/MariadbInsertRecognizerTest.java         |   191 +
 .../MariadbSelectForUpdateRecognizerTest.java      |   245 +
 .../druid/MariadbUpdateRecognizerTest.java         |   376 +
 .../sqlparser/druid/MySQLDeleteRecognizerTest.java |   335 +
 .../sqlparser/druid/MySQLInsertRecognizerTest.java |   188 +
 .../druid/MySQLSelectForUpdateRecognizerTest.java  |   242 +
 .../sqlparser/druid/MySQLUpdateRecognizerTest.java |   378 +
 .../polardbx/AbstractPolarDBXRecognizerTest.java   |    32 +
 .../polardbx/PolarDBXDeleteRecognizerTest.java     |   143 +
 .../polardbx/PolarDBXInsertRecognizerTest.java     |   170 +
 .../PolarDBXOperateRecognizerHolderTest.java       |    61 +
 .../PolarDBXSelectForUpdateRecognizerTest.java     |   156 +
 .../polardbx/PolarDBXUpdateRecognizerTest.java     |   192 +
 .../sqlserver/SqlServerDeleteRecognizerTest.java   |   211 +
 .../sqlserver/SqlServerInsertRecognizerTest.java   |   258 +
 .../SqlServerOperateRecognizerHolderTest.java      |    69 +
 .../SqlServerSelectForUpdateRecognizerTest.java    |   246 +
 .../sqlserver/SqlServerUpdateRecognizerTest.java   |   331 +
 style/seata_suppressions.xml                       |     2 +-
 .../main/java/io/seata/rm/tcc/RMHandlerTCC.java    |    46 -
 tcc/src/main/java/io/seata/rm/tcc/TCCResource.java |   301 -
 .../java/io/seata/rm/tcc/TCCResourceManager.java   |   218 -
 .../main/java/io/seata/rm/tcc/api/LocalTCC.java    |    37 -
 .../seata/rm/tcc/api/TwoPhaseBusinessAction.java   |    92 -
 .../interceptor/TccActionInterceptorHandler.java   |   171 -
 .../parser/TccActionInterceptorParser.java         |    98 -
 .../java/io/seata/rm/tcc/json/FastJsonParser.java  |    44 -
 .../java/io/seata/rm/tcc/json/GsonJsonParser.java  |    50 -
 .../io/seata/rm/tcc/json/JacksonJsonParser.java    |    61 -
 .../remoting/parser/LocalTCCRemotingParser.java    |   104 -
 .../resource/parser/TccRegisterResourceParser.java |   111 -
 .../java/org/apache/seata/rm/tcc/RMHandlerTCC.java |    46 +
 .../java/org/apache/seata/rm/tcc/TCCResource.java  |   301 +
 .../apache/seata/rm/tcc/TCCResourceManager.java    |   218 +
 .../java/org/apache/seata/rm/tcc/api/LocalTCC.java |    37 +
 .../seata/rm/tcc/api/TwoPhaseBusinessAction.java   |    92 +
 .../interceptor/TccActionInterceptorHandler.java   |   171 +
 .../parser/TccActionInterceptorParser.java         |    98 +
 .../apache/seata/rm/tcc/json/FastJsonParser.java   |    44 +
 .../apache/seata/rm/tcc/json/GsonJsonParser.java   |    50 +
 .../seata/rm/tcc/json/JacksonJsonParser.java       |    61 +
 .../remoting/parser/LocalTCCRemotingParser.java    |   104 +
 .../resource/parser/TccRegisterResourceParser.java |   111 +
 .../services/io.seata.core.model.ResourceManager   |     1 -
 ...ation.tx.api.interceptor.parser.InterfaceParser |     1 -
 ...x.api.interceptor.parser.RegisterResourceParser |     1 -
 .../io.seata.integration.tx.api.json.JsonParser    |     3 -
 ...eata.integration.tx.api.remoting.RemotingParser |     1 -
 .../services/io.seata.rm.AbstractRMHandler         |     1 -
 .../org.apache.seata.core.model.ResourceManager    |     1 +
 ...ation.tx.api.interceptor.parser.InterfaceParser |     1 +
 ...x.api.interceptor.parser.RegisterResourceParser |     1 +
 ...apache.seata.integration.tx.api.json.JsonParser |     3 +
 ...eata.integration.tx.api.remoting.RemotingParser |     1 +
 .../services/org.apache.seata.rm.AbstractRMHandler |     1 +
 .../test/java/io/seata/rm/tcc/NormalTccAction.java |    72 -
 .../java/io/seata/rm/tcc/NormalTccActionImpl.java  |    52 -
 tcc/src/test/java/io/seata/rm/tcc/Param.java       |    32 -
 tcc/src/test/java/io/seata/rm/tcc/TccAction.java   |    64 -
 .../test/java/io/seata/rm/tcc/TccActionImpl.java   |    49 -
 tcc/src/test/java/io/seata/rm/tcc/TccParam.java    |    66 -
 .../rm/tcc/interceptor/ProxyUtilsTccTest.java      |   145 -
 .../parser/TccActionInterceptorParserTest.java     |    42 -
 .../parser/LocalTCCRemotingParserTest.java         |    74 -
 .../parser/TccRegisterResourceParserTest.java      |    46 -
 .../test/java/io/seata/rm/tcc/spring/Business.java |    30 -
 .../java/io/seata/rm/tcc/spring/BusinessImpl.java  |    35 -
 .../java/io/seata/rm/tcc/spring/BusinessProxy.java |    52 -
 .../tcc/spring/GlobalTransactionScannerTest.java   |   131 -
 .../io/seata/rm/tcc/spring/tcc/LocalTccAction.java |    27 -
 .../rm/tcc/spring/tcc/LocalTccActionImpl.java      |    25 -
 .../java/io/seata/rm/tcc/spring/tcc/TccAction.java |    53 -
 .../io/seata/rm/tcc/spring/tcc/TccActionImpl.java  |    41 -
 .../org/apache/seata/rm/tcc/NormalTccAction.java   |    72 +
 .../apache/seata/rm/tcc/NormalTccActionImpl.java   |    52 +
 .../test/java/org/apache/seata/rm/tcc/Param.java   |    32 +
 .../java/org/apache/seata/rm/tcc/TccAction.java    |    64 +
 .../org/apache/seata/rm/tcc/TccActionImpl.java     |    49 +
 .../java/org/apache/seata/rm/tcc/TccParam.java     |    66 +
 .../rm/tcc/interceptor/ProxyUtilsTccTest.java      |   145 +
 .../parser/TccActionInterceptorParserTest.java     |    42 +
 .../parser/LocalTCCRemotingParserTest.java         |    74 +
 .../parser/TccRegisterResourceParserTest.java      |    46 +
 .../org/apache/seata/rm/tcc/spring/Business.java   |    30 +
 .../apache/seata/rm/tcc/spring/BusinessImpl.java   |    35 +
 .../apache/seata/rm/tcc/spring/BusinessProxy.java  |    52 +
 .../tcc/spring/GlobalTransactionScannerTest.java   |   131 +
 .../seata/rm/tcc/spring/tcc/LocalTccAction.java    |    27 +
 .../rm/tcc/spring/tcc/LocalTccActionImpl.java      |    25 +
 .../apache/seata/rm/tcc/spring/tcc/TccAction.java  |    53 +
 .../seata/rm/tcc/spring/tcc/TccActionImpl.java     |    41 +
 .../java/io/seata/mockserver/MockCoordinator.java  |   260 -
 .../seata/mockserver/MockNettyRemotingServer.java  |   106 -
 .../main/java/io/seata/mockserver/MockServer.java  |    79 -
 .../main/java/io/seata/mockserver/call/CallRm.java |   105 -
 .../mockserver/controller/MockHelpController.java  |    53 -
 .../processor/MockHeartbeatProcessor.java          |    38 -
 .../mockserver/processor/MockOnReqProcessor.java   |    76 -
 .../mockserver/processor/MockOnRespProcessor.java  |    51 -
 .../processor/MockRegisterProcessor.java           |    87 -
 .../processor/MockRemotingProcessor.java           |    50 -
 .../apache/seata/mockserver/MockCoordinator.java   |   260 +
 .../seata/mockserver/MockNettyRemotingServer.java  |   106 +
 .../org/apache/seata/mockserver/MockServer.java    |    79 +
 .../org/apache/seata/mockserver/call/CallRm.java   |   105 +
 .../mockserver/controller/MockHelpController.java  |    53 +
 .../processor/MockHeartbeatProcessor.java          |    38 +
 .../mockserver/processor/MockOnReqProcessor.java   |    76 +
 .../mockserver/processor/MockOnRespProcessor.java  |    51 +
 .../processor/MockRegisterProcessor.java           |    87 +
 .../processor/MockRemotingProcessor.java           |    50 +
 .../src/main/resources/logback-spring.xml          |     4 +-
 test/src/test/java/AppTest.java                    |    12 +-
 ...ansactionWithGlobalLockDataSourceBasicTest.java |    23 +-
 .../at/ATModeSupportDataBaseDataTypeTest.java      |   250 -
 .../java/io/seata/at/DruidDataSourceUtils.java     |    88 -
 .../io/seata/at/mysql/MysqlUpdateJoinTest.java     |   166 -
 .../java/io/seata/at/oracle/OracleSqlConstant.java |    81 -
 .../seata/at/oracle/SupportOracleDataTypeTest.java |   202 -
 .../java/io/seata/common/ApplicationKeeper.java    |    81 -
 .../test/java/io/seata/common/LockAndCallback.java |    98 -
 .../test/java/io/seata/common/SagaCostPrint.java   |    63 -
 .../common/loader/EnhancedServiceLoaderTest.java   |    44 -
 .../io/seata/common/loader/LoaderTestImpl1.java    |    27 -
 .../io/seata/common/loader/LoaderTestImpl2.java    |    27 -
 .../java/io/seata/common/loader/LoaderTestSPI.java |    24 -
 .../core/rpc/netty/ChannelManagerTestHelper.java   |    40 -
 .../io/seata/core/rpc/netty/TmNettyClientTest.java |   179 -
 .../seata/core/rpc/netty/mockserver/Action1.java   |    45 -
 .../core/rpc/netty/mockserver/Action1Impl.java     |    66 -
 .../core/rpc/netty/mockserver/MockServerTest.java  |    98 -
 .../netty/mockserver/ProtocolTestConstants.java    |    27 -
 .../core/rpc/netty/mockserver/RmClientTest.java    |   102 -
 .../core/rpc/netty/mockserver/TmClientTest.java    |   108 -
 .../core/rpc/netty/v1/ClientChannelHandler.java    |    69 -
 .../core/rpc/netty/v1/HeadMapSerializerTest.java   |    96 -
 .../seata/core/rpc/netty/v1/ProtocolV1Client.java  |   197 -
 .../rpc/netty/v1/ProtocolV1SerializerTest.java     |   106 -
 .../seata/core/rpc/netty/v1/ProtocolV1Server.java  |   122 -
 .../core/rpc/netty/v1/ServerChannelHandler.java    |    60 -
 .../seata/saga/engine/StateMachineAsyncTests.java  |   233 -
 .../io/seata/saga/engine/StateMachineTests.java    |   315 -
 .../seata/saga/engine/db/AbstractServerTest.java   |    90 -
 .../seata/saga/engine/db/StateMachineDBTests.java  |  1141 -
 .../StateMachineAsyncDBMockServerTests.java        |   200 -
 .../mockserver/StateMachineDBMockServerTests.java  |   604 -
 .../io/seata/saga/engine/mock/DemoException.java   |    42 -
 .../io/seata/saga/engine/mock/DemoService.java     |   187 -
 .../saga/engine/mock/MockGlobalTransaction.java    |   123 -
 .../engine/mock/MockSagaTransactionTemplate.java   |    84 -
 .../engine/mock/MockStateHandlerInterceptor.java   |    47 -
 .../engine/mock/MockStateRouterInterceptor.java    |    49 -
 test/src/test/java/io/seata/xa/XAModeTest2.java    |   622 -
 .../at/ATModeSupportDataBaseDataTypeTest.java      |   253 +
 .../org/apache/seata/at/DruidDataSourceUtils.java  |    90 +
 .../apache/seata/at/mysql/MysqlUpdateJoinTest.java |   167 +
 .../apache/seata/at/oracle/OracleSqlConstant.java  |    81 +
 .../seata/at/oracle/SupportOracleDataTypeTest.java |   203 +
 .../{io => org/apache}/seata/at/oracle/bfile.txt   |     0
 .../apache}/seata/at/oracle/bfileUpdate.txt        |     0
 .../seata/at/oracle/support_orderle_dataType.sql   |     0
 .../org/apache/seata/common/ApplicationKeeper.java |    81 +
 .../org/apache/seata/common/LockAndCallback.java   |    98 +
 .../org/apache/seata/common/SagaCostPrint.java     |    63 +
 .../common/loader/EnhancedServiceLoaderTest.java   |    44 +
 .../seata/common/loader/LoaderTestImpl1.java       |    27 +
 .../seata/common/loader/LoaderTestImpl2.java       |    27 +
 .../apache/seata/common/loader/LoaderTestSPI.java  |    24 +
 .../core/rpc/netty/ChannelManagerTestHelper.java   |    40 +
 .../seata/core/rpc/netty/TmNettyClientTest.java    |   179 +
 .../seata/core/rpc/netty/mockserver/Action1.java   |    45 +
 .../core/rpc/netty/mockserver/Action1Impl.java     |    65 +
 .../core/rpc/netty/mockserver/MockServerTest.java  |    98 +
 .../netty/mockserver/ProtocolTestConstants.java    |    27 +
 .../core/rpc/netty/mockserver/RmClientTest.java    |   100 +
 .../core/rpc/netty/mockserver/TmClientTest.java    |   106 +
 .../core/rpc/netty/v1/ClientChannelHandler.java    |    69 +
 .../core/rpc/netty/v1/HeadMapSerializerTest.java   |    96 +
 .../seata/core/rpc/netty/v1/ProtocolV1Client.java  |   197 +
 .../rpc/netty/v1/ProtocolV1SerializerTest.java     |   106 +
 .../seata/core/rpc/netty/v1/ProtocolV1Server.java  |   122 +
 .../core/rpc/netty/v1/ServerChannelHandler.java    |    60 +
 .../seata/saga/engine/StateMachineAsyncTests.java  |   233 +
 .../seata/saga/engine/StateMachineTests.java       |   315 +
 .../seata/saga/engine/db/AbstractServerTest.java   |    90 +
 .../seata/saga/engine/db/StateMachineDBTests.java  |  1141 +
 .../StateMachineAsyncDBMockServerTests.java        |   200 +
 .../mockserver/StateMachineDBMockServerTests.java  |   604 +
 .../seata/saga/engine/mock/DemoException.java      |    42 +
 .../apache/seata/saga/engine/mock/DemoService.java |   187 +
 .../saga/engine/mock/MockGlobalTransaction.java    |   123 +
 .../engine/mock/MockSagaTransactionTemplate.java   |    84 +
 .../engine/mock/MockStateHandlerInterceptor.java   |    47 +
 .../engine/mock/MockStateRouterInterceptor.java    |    49 +
 .../test/java/org/apache/seata/xa/XAModeTest2.java |   625 +
 .../services/io.seata.common.loader.LoaderTestSPI  |     2 -
 ...seata.saga.engine.pcext.StateHandlerInterceptor |     1 -
 ....seata.saga.engine.pcext.StateRouterInterceptor |     1 -
 .../org.apache.seata.common.loader.LoaderTestSPI   |     2 +
 ...seata.saga.engine.pcext.StateHandlerInterceptor |     1 +
 ....seata.saga.engine.pcext.StateRouterInterceptor |     1 +
 test/src/test/resources/basic-test-context.xml     |     2 +-
 .../statemachine_engine_db_mockserver_test.xml     |    20 +-
 .../saga/spring/statemachine_engine_db_test.xml    |    18 +-
 .../saga/spring/statemachine_engine_test.xml       |    13 +-
 ...tatelang_with_compensation_and_sub_machine.json |     4 +-
 .../statelang/simple_statelang_with_catches.json   |     2 +-
 .../simple_statelang_with_compensation.json        |     8 +-
 ...tatelang_with_compensation_and_sub_machine.json |     4 +-
 ...e_statelang_with_compensation_for_recovery.json |    12 +-
 .../simple_statelang_with_complex_params.json      |     6 +-
 ...mple_statelang_with_complex_params_jackson.json |    26 +-
 .../saga/statelang/simple_statelang_with_loop.json |     2 +-
 .../simple_statelang_with_recover_strategy.json    |     4 +-
 .../statelang/simple_statelang_with_retry.json     |     4 +-
 .../statelang/simple_statelang_with_script.json    |     2 +-
 .../simple_statelang_with_status_matches.json      |     6 +-
 ...lang_with_userdef_sub_machine_compensation.json |     6 +-
 .../io/seata/tm/DefaultTransactionManager.java     |   100 -
 tm/src/main/java/io/seata/tm/TMClient.java         |    50 -
 .../java/io/seata/tm/TransactionManagerHolder.java |    71 -
 .../io/seata/tm/api/DefaultFailureHandlerImpl.java |   120 -
 .../io/seata/tm/api/DefaultGlobalTransaction.java  |   292 -
 .../main/java/io/seata/tm/api/FailureHandler.java  |    57 -
 .../java/io/seata/tm/api/FailureHandlerHolder.java |    35 -
 .../java/io/seata/tm/api/GlobalTransaction.java    |   150 -
 .../io/seata/tm/api/GlobalTransactionContext.java  |    82 -
 .../io/seata/tm/api/GlobalTransactionRole.java     |    36 -
 .../io/seata/tm/api/TransactionalExecutor.java     |   204 -
 .../io/seata/tm/api/TransactionalTemplate.java     |   395 -
 .../seata/tm/api/transaction/NoRollbackRule.java   |    50 -
 .../io/seata/tm/api/transaction/Propagation.java   |   177 -
 .../io/seata/tm/api/transaction/RollbackRule.java  |    92 -
 .../api/transaction/SuspendedResourcesHolder.java  |    44 -
 .../seata/tm/api/transaction/TransactionHook.java  |    57 -
 .../tm/api/transaction/TransactionHookAdapter.java |    57 -
 .../tm/api/transaction/TransactionHookManager.java |    70 -
 .../seata/tm/api/transaction/TransactionInfo.java  |   122 -
 .../apache/seata/tm/DefaultTransactionManager.java |   100 +
 tm/src/main/java/org/apache/seata/tm/TMClient.java |    50 +
 .../apache/seata/tm/TransactionManagerHolder.java  |    71 +
 .../seata/tm/api/DefaultFailureHandlerImpl.java    |   120 +
 .../seata/tm/api/DefaultGlobalTransaction.java     |   292 +
 .../org/apache/seata/tm/api/FailureHandler.java    |    57 +
 .../apache/seata/tm/api/FailureHandlerHolder.java  |    35 +
 .../org/apache/seata/tm/api/GlobalTransaction.java |   150 +
 .../seata/tm/api/GlobalTransactionContext.java     |    82 +
 .../apache/seata/tm/api/GlobalTransactionRole.java |    36 +
 .../apache/seata/tm/api/TransactionalExecutor.java |   204 +
 .../apache/seata/tm/api/TransactionalTemplate.java |   395 +
 .../seata/tm/api/transaction/NoRollbackRule.java   |    50 +
 .../seata/tm/api/transaction/Propagation.java      |   177 +
 .../seata/tm/api/transaction/RollbackRule.java     |    92 +
 .../api/transaction/SuspendedResourcesHolder.java  |    44 +
 .../seata/tm/api/transaction/TransactionHook.java  |    57 +
 .../tm/api/transaction/TransactionHookAdapter.java |    57 +
 .../tm/api/transaction/TransactionHookManager.java |    70 +
 .../seata/tm/api/transaction/TransactionInfo.java  |   122 +
 .../io.seata.core.model.TransactionManager         |     1 -
 .../org.apache.seata.core.model.TransactionManager |     1 +
 tm/src/test/java/io/seata/tm/TMClientTest.java     |    38 -
 .../io/seata/tm/TransactionManagerHolderTest.java  |    35 -
 tm/src/test/java/io/seata/tm/api/APITest.java      |   230 -
 .../tm/api/DefaultFailureHandlerImplTest.java      |   137 -
 .../seata/tm/api/DefaultGlobalTransactionTest.java |   100 -
 .../seata/tm/api/GlobalTransactionContextTest.java |    73 -
 .../io/seata/tm/api/TransactionTemplateTest.java   |   159 -
 .../tm/api/transaction/MyRuntimeException.java     |    26 -
 .../tm/api/transaction/NoRollbackRuleTest.java     |    39 -
 .../seata/tm/api/transaction/RollbackRuleTest.java |    95 -
 .../transaction/TransactionHookManagerTest.java    |    64 -
 .../tm/api/transaction/TransactionInfoTest.java    |    65 -
 .../java/org/apache/seata/tm/TMClientTest.java     |    38 +
 .../seata/tm/TransactionManagerHolderTest.java     |    35 +
 .../test/java/org/apache/seata/tm/api/APITest.java |   230 +
 .../tm/api/DefaultFailureHandlerImplTest.java      |   137 +
 .../seata/tm/api/DefaultGlobalTransactionTest.java |   100 +
 .../seata/tm/api/GlobalTransactionContextTest.java |    73 +
 .../seata/tm/api/TransactionTemplateTest.java      |   159 +
 .../tm/api/transaction/MyRuntimeException.java     |    26 +
 .../tm/api/transaction/NoRollbackRuleTest.java     |    39 +
 .../seata/tm/api/transaction/RollbackRuleTest.java |    95 +
 .../transaction/TransactionHookManagerTest.java    |    64 +
 .../tm/api/transaction/TransactionInfoTest.java    |    65 +
 3871 files changed, 292403 insertions(+), 292452 deletions(-)

diff --git a/.licenserc.yaml b/.licenserc.yaml
index 5543caddf0..fd9362d8d7 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -72,8 +72,8 @@ header:
     - 'saga/seata-saga-statemachine-designer/**'
     - '**/src/test/resources/statelang/**'
     - 'console/src/main/resources/static/console-fe/**'
-    - '**/io/seata/sqlparser/antlr/**/*.g4'
-    - '**/io/seata/sqlparser/antlr/mysql/parser/*'
+    - '**/org/apache/seata/sqlparser/antlr/**/*.g4'
+    - '**/org/apache/seata/sqlparser/antlr/mysql/parser/*'
     - '**/integration/**/*.proto'
     - 'console/src/main/resources/static/**'
     - 'ext/apm-seata-skywalking-plugin/config/agent.config'
@@ -88,7 +88,7 @@ dependency:
     - saga/seata-saga-statemachine-designer/package.json
     - console/src/main/resources/static/console-fe/package.json
   excludes:
-    - name: io.seata:*
+    - name: org.apache.seata:*
       recursive: false
     # exclude manually confirmed license
     # BSD-3-Clause https://www.npmjs.com/package/universal-canvas-context
diff --git a/all/pom.xml b/all/pom.xml
index 0eb1520d1d..04aa719087 100644
--- a/all/pom.xml
+++ b/all/pom.xml
@@ -644,7 +644,8 @@
                             <createDependencyReducedPom>true</createDependencyReducedPom>
                             <artifactSet>
                                 <includes>
-                                    <include>io.seata:*</include>
+                                    <include>org.apache.seata:*</include>
+                                    <include>io.seata:seata-all</include>
                                 </includes>
                             </artifactSet>
                             <transformers>
@@ -697,7 +698,8 @@
                     <keepOptionalDependencies>true</keepOptionalDependencies>
                     <excludeDependencies>
                         <!-- Exclude dependencies that need to be shaded. -->
-                        <dependency>io.seata:*</dependency>
+                        <dependency>io.seata:seata-all</dependency>
+                        <dependency>org.apache.seata:*</dependency>
                     </excludeDependencies>
                 </configuration>
             </plugin>
diff --git a/changes/en-us/2.x.md b/changes/en-us/2.x.md
index 13f2df3efb..a1ef652904 100644
--- a/changes/en-us/2.x.md
+++ b/changes/en-us/2.x.md
@@ -72,6 +72,7 @@ Add changes here for all PR submitted to the 2.x branch.
 - [[#6291](https://github.com/apache/incubator-seata/pull/6291)] seata-server is developed in idea and console support output logs
 - [[#6283](https://github.com/apache/incubator-seata/pull/6283)] add a compatible module to support io.seata APIs
 - [[#6297](https://github.com/apache/incubator-seata/pull/6297)] fix problem of `maven-pmd-plugin`
+- [[#6298](https://github.com/apache/incubator-seata/pull/6298)] repackage name to org.apache.seata
 
 ### 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 289c93302d..94aed94b1e 100644
--- a/changes/zh-cn/2.x.md
+++ b/changes/zh-cn/2.x.md
@@ -70,6 +70,7 @@
 - [[#6291](https://github.com/apache/incubator-seata/pull/6291)] 优化seata-server在idea等开发工具运行时,控制台未输出完整日志的问题
 - [[#6283](https://github.com/apache/incubator-seata/pull/6283)] 增加兼容模块支持 io.seata APIs
 - [[#6297](https://github.com/apache/incubator-seata/pull/6297)] 修复 `maven-pmd-plugin` 相关的问题
+- [[#6298](https://github.com/apache/incubator-seata/pull/6298)] 重命名包名为 org.apache.seata
 
 ### security:
 - [[#6069](https://github.com/apache/incubator-seata/pull/6069)] 升级Guava依赖版本,修复安全漏洞
diff --git a/common/src/main/java/io/seata/common/ConfigurationKeys.java b/common/src/main/java/io/seata/common/ConfigurationKeys.java
deleted file mode 100644
index 55ffe2d7d5..0000000000
--- a/common/src/main/java/io/seata/common/ConfigurationKeys.java
+++ /dev/null
@@ -1,1014 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common;
-
-/**
- * The type Configuration keys.
- *
- */
-public interface ConfigurationKeys {
-    /**
-     * The constant SEATA_FILE_ROOT_CONFIG
-     */
-    String SEATA_FILE_ROOT_CONFIG = "seata";
-    /**
-     * The constant FILE_ROOT_REGISTRY.
-     */
-    String FILE_ROOT_REGISTRY = "registry";
-
-    /**
-     * The constant FILE_ROOT_CONFIG.
-     */
-    String FILE_ROOT_CONFIG = "config";
-    /**
-     * The constant FILE_CONFIG_SPLIT_CHAR.
-     */
-    String FILE_CONFIG_SPLIT_CHAR = ".";
-
-    /**
-     * The constant FILE_ROOT_PREFIX_REGISTRY.
-     */
-    String FILE_ROOT_PREFIX_REGISTRY = FILE_ROOT_REGISTRY + FILE_CONFIG_SPLIT_CHAR;
-
-    /**
-     * The constant FILE_ROOT_PREFIX_CONFIG.
-     */
-    String FILE_ROOT_PREFIX_CONFIG = FILE_ROOT_CONFIG + FILE_CONFIG_SPLIT_CHAR;
-
-    /**
-     * The constant SEATA_FILE_PREFIX_ROOT_CONFIG
-     */
-    String SEATA_FILE_PREFIX_ROOT_CONFIG = SEATA_FILE_ROOT_CONFIG + FILE_CONFIG_SPLIT_CHAR;
-
-    /**
-     * The constant FILE_ROOT_TYPE.
-     */
-    String FILE_ROOT_TYPE = "type";
-    /**
-     * The constant DATA_TYPE.
-     */
-    String DATA_TYPE = "dataType";
-
-    /**
-     * The constant SEATA_PREFIX.
-     */
-    String SEATA_PREFIX = SEATA_FILE_ROOT_CONFIG + ".";
-
-    /**
-     * The constant SERVICE_PREFIX.
-     */
-    String SERVICE_PREFIX = "service.";
-
-    /**
-     * The constant STORE_PREFIX.
-     */
-    String STORE_PREFIX = "store.";
-
-    /**
-     * The constant SESSION_PREFIX.
-     */
-    String SESSION_PREFIX = "session.";
-
-    /**
-     * The constant STORE_SESSION_PREFIX.
-     */
-    String STORE_SESSION_PREFIX = STORE_PREFIX + SESSION_PREFIX;
-
-    /**
-     * The constant MODE.
-     */
-    String MODE = "mode";
-
-    /**
-     * The constant STORE_MODE.
-     */
-    String STORE_MODE = STORE_PREFIX + MODE;
-
-    /**
-     * The constant SERVER_STORE_MODE.
-     */
-    String SERVER_STORE_MODE = SEATA_PREFIX + STORE_PREFIX + MODE;
-
-    /**
-     * The constant STORE_LOCK_MODE.
-     */
-    String STORE_LOCK_MODE = STORE_PREFIX + "lock." + MODE;
-
-    /**
-     * The constant SERVER_STORE_LOCK_MODE.
-     */
-    String SERVER_STORE_LOCK_MODE = SEATA_PREFIX + STORE_PREFIX + "lock." + MODE;
-
-    /**
-     * The constant STORE_SESSION_MODE.
-     */
-    String STORE_SESSION_MODE = STORE_SESSION_PREFIX + MODE;
-
-    /**
-     * The constant SERVER_STORE_SESSION_MODE.
-     */
-    String SERVER_STORE_SESSION_MODE = SEATA_PREFIX + STORE_SESSION_PREFIX + MODE;
-
-    /**
-     * The constant STORE_PUBLIC_KEY.
-     */
-    String STORE_PUBLIC_KEY = STORE_PREFIX + "publicKey";
-
-    /**
-     * The constant STORE_FILE_PREFIX
-     */
-    String STORE_FILE_PREFIX = STORE_PREFIX + "file.";
-
-    /**
-     * The constant STORE_FILE_DIR
-     */
-    String STORE_FILE_DIR = STORE_FILE_PREFIX + "dir";
-
-    /**
-     * The constant SERVICE_GROUP_MAPPING_PREFIX.
-     */
-    String SERVICE_GROUP_MAPPING_PREFIX = SERVICE_PREFIX + "vgroupMapping.";
-    /**
-     * The constant GROUPLIST_POSTFIX.
-     */
-    String GROUPLIST_POSTFIX = ".grouplist";
-    /**
-     * The constant SERVER_NODE_SPLIT_CHAR.
-     */
-    String SERVER_NODE_SPLIT_CHAR = System.getProperty("line.separator");
-
-    /**
-     * The constant ENABLE_DEGRADE_POSTFIX.
-     */
-    String ENABLE_DEGRADE_POSTFIX = "enableDegrade";
-
-    /**
-     * The constant CLIENT_PREFIX.
-     */
-    String CLIENT_PREFIX = "client.";
-
-    /**
-     * The constant SERVER_PREFIX.
-     */
-    String SERVER_PREFIX = "server.";
-
-    /**
-     * The constant TRANSPORT_PREFIX.
-     */
-    String TRANSPORT_PREFIX = "transport.";
-
-    /**
-     * The constant CLIENT_RM_PREFIX.
-     */
-    String CLIENT_RM_PREFIX = CLIENT_PREFIX + "rm.";
-
-    /**
-     * The constant CLIENT_ASYNC_COMMIT_BUFFER_LIMIT.
-     */
-    String CLIENT_ASYNC_COMMIT_BUFFER_LIMIT = CLIENT_RM_PREFIX + "asyncCommitBufferLimit";
-    /**
-     * The constant CLIENT_RM_LOCK_PREFIX.
-     */
-    String CLIENT_RM_LOCK_PREFIX = CLIENT_RM_PREFIX + "lock.";
-
-    /**
-     * The constant CLIENT_LOCK_RETRY_TIMES.
-     */
-    String CLIENT_LOCK_RETRY_TIMES = CLIENT_RM_LOCK_PREFIX + "retryTimes";
-    /**
-     * The constant CLIENT_LOCK_RETRY_INTERVAL.
-     */
-    String CLIENT_LOCK_RETRY_INTERVAL = CLIENT_RM_LOCK_PREFIX + "retryInterval";
-    /**
-     * The constant CLIENT_LOCK_RETRY_POLICY_BRANCH_ROLLBACK_ON_CONFLICT.
-     */
-    String CLIENT_LOCK_RETRY_POLICY_BRANCH_ROLLBACK_ON_CONFLICT = CLIENT_RM_LOCK_PREFIX + "retryPolicyBranchRollbackOnConflict";
-
-    /**
-     * The constant SERVICE_SESSION_RELOAD_READ_SIZE
-     */
-    String SERVICE_SESSION_RELOAD_READ_SIZE = STORE_FILE_PREFIX + "sessionReloadReadSize";
-
-    /**
-     * The constant CLIENT_REPORT_SUCCESS_ENABLE.
-     */
-    String CLIENT_REPORT_SUCCESS_ENABLE = CLIENT_RM_PREFIX + "reportSuccessEnable";
-
-    /**
-     * The constant CLIENT_SAGA_BRANCH_REGISTER_ENABLE.
-     */
-    String CLIENT_SAGA_BRANCH_REGISTER_ENABLE = CLIENT_RM_PREFIX + "sagaBranchRegisterEnable";
-
-    /**
-     * The constant CLIENT_SAGA_JSON_PARSER.
-     */
-    String CLIENT_SAGA_JSON_PARSER = CLIENT_RM_PREFIX + "sagaJsonParser";
-
-    /**
-     * The constant CLIENT_SAGA_RETRY_PERSIST_MODE_UPDATE.
-     */
-    String CLIENT_SAGA_RETRY_PERSIST_MODE_UPDATE = CLIENT_RM_PREFIX + "sagaRetryPersistModeUpdate";
-
-    /**
-     * The constant CLIENT_SAGA_COMPENSATE_PERSIST_MODE_UPDATE.
-     */
-    String CLIENT_SAGA_COMPENSATE_PERSIST_MODE_UPDATE = CLIENT_RM_PREFIX + "sagaCompensatePersistModeUpdate";
-
-    /**
-     * The constant CLIENT_REPORT_RETRY_COUNT.
-     */
-    String CLIENT_REPORT_RETRY_COUNT = CLIENT_RM_PREFIX + "reportRetryCount";
-
-    /**
-     * The constant CLIENT_TABLE_META_CHECK_ENABLE.
-     */
-    String CLIENT_TABLE_META_CHECK_ENABLE = CLIENT_RM_PREFIX + "tableMetaCheckEnable";
-
-    /**
-     * The constant CLIENT_TABLE_META_CHECKER_INTERVAL.
-     */
-    String CLIENT_TABLE_META_CHECKER_INTERVAL = CLIENT_RM_PREFIX + "tableMetaCheckerInterval";
-
-    /**
-     * The constant TCC_ACTION_INTERCEPTOR_ORDER.
-     */
-    String TCC_ACTION_INTERCEPTOR_ORDER = CLIENT_RM_PREFIX + "tccActionInterceptorOrder";
-
-    /**
-     * The constant CLIENT_TM_PREFIX.
-     */
-    String CLIENT_TM_PREFIX = CLIENT_PREFIX + "tm.";
-    /**
-     * The constant CLIENT_TM_COMMIT_RETRY_TIMES.
-     */
-    String CLIENT_TM_COMMIT_RETRY_COUNT = CLIENT_TM_PREFIX + "commitRetryCount";
-
-    /**
-     * The constant CLIENT_TM_ROLLBACK_RETRY_TIMES.
-     */
-    String CLIENT_TM_ROLLBACK_RETRY_COUNT = CLIENT_TM_PREFIX + "rollbackRetryCount";
-
-    /**
-     * The constant DEFAULT_GLOBAL_TRANSACTION_TIMEOUT.
-     */
-    String DEFAULT_GLOBAL_TRANSACTION_TIMEOUT = CLIENT_TM_PREFIX + "defaultGlobalTransactionTimeout";
-
-    /**
-     * The constant SERIALIZE_FOR_RPC.
-     */
-    String SERIALIZE_FOR_RPC = TRANSPORT_PREFIX + "serialization";
-
-    /**
-     * The constant COMPRESSOR_FOR_RPC.
-     *
-     * @since 0.7.0
-     */
-    String COMPRESSOR_FOR_RPC = TRANSPORT_PREFIX + "compressor";
-
-    /**
-     * The constant STORE_DB_PREFIX.
-     */
-    String STORE_DB_PREFIX = "store.db.";
-
-    /**
-     * The constant STORE_REDIS_PREFIX.
-     */
-    String STORE_REDIS_PREFIX = "store.redis.";
-
-    /**
-     * The constant STORE_DB_GLOBAL_TABLE.
-     */
-    String STORE_DB_GLOBAL_TABLE = STORE_DB_PREFIX + "globalTable";
-
-    /**
-     * The constant STORE_DB_BRANCH_TABLE.
-     */
-    String STORE_DB_BRANCH_TABLE = STORE_DB_PREFIX + "branchTable";
-
-    /**
-     * The constant DISTRIBUTED_LOCK_DB_TABLE.
-     */
-    String DISTRIBUTED_LOCK_DB_TABLE = STORE_DB_PREFIX + "distributedLockTable";
-
-    /**
-     * The constant STORE_DB_DATASOURCE_TYPE.
-     */
-    String STORE_DB_DATASOURCE_TYPE = STORE_DB_PREFIX + "datasource";
-
-    /**
-     * The constant STORE_DB_TYPE.
-     */
-    String STORE_DB_TYPE = STORE_DB_PREFIX + "dbType";
-
-    /**
-     * The constant STORE_DB_DRIVER_CLASS_NAME.
-     */
-    String STORE_DB_DRIVER_CLASS_NAME = STORE_DB_PREFIX + "driverClassName";
-
-    /**
-     * The constant STORE_DB_MAX_WAIT.
-     */
-    String STORE_DB_MAX_WAIT = STORE_DB_PREFIX + "maxWait";
-
-    /**
-     * The constant STORE_DB_URL.
-     */
-    String STORE_DB_URL = STORE_DB_PREFIX + "url";
-
-    /**
-     * The constant STORE_DB_USER.
-     */
-    String STORE_DB_USER = STORE_DB_PREFIX + "user";
-
-    /**
-     * The constant STORE_DB_PASSWORD.
-     */
-    String STORE_DB_PASSWORD = STORE_DB_PREFIX + "password";
-
-    /**
-     * The constant STORE_DB_MIN_CONN.
-     */
-    String STORE_DB_MIN_CONN = STORE_DB_PREFIX + "minConn";
-
-    /**
-     * The constant STORE_DB_MAX_CONN.
-     */
-    String STORE_DB_MAX_CONN = STORE_DB_PREFIX + "maxConn";
-
-    /**
-     * The constant STORE_DB_LOG_QUERY_LIMIT.
-     */
-    String STORE_DB_LOG_QUERY_LIMIT = STORE_DB_PREFIX + "queryLimit";
-
-    /**
-     * The constant LOCK_DB_TABLE.
-     */
-    String LOCK_DB_TABLE = STORE_DB_PREFIX + "lockTable";
-
-    /**
-     * The constant SERVER_RPC_PORT.
-     */
-    String SERVER_SERVICE_PORT_CAMEL = SERVER_PREFIX + "servicePort";
-
-    /**
-     * The constant SERVER_RAFT_PORT.
-     */
-    String SERVER_RAFT_PORT_CAMEL = SERVER_PREFIX + "raftPort";
-
-    /**
-     * The constant SERVER_SERVICE_PORT_CONFIG.
-     */
-    String SERVER_SERVICE_PORT_CONFIG = SEATA_PREFIX + SERVER_PREFIX + "service-port";
-
-    /**
-     * The constant ENV_SEATA_PORT_KEY.
-     */
-    String ENV_SEATA_PORT_KEY = "SEATA_PORT";
-
-    /**
-     * The constant RECOVERY_PREFIX.
-     */
-    String RECOVERY_PREFIX = SERVER_PREFIX + "recovery.";
-
-    /**
-     * The constant COMMITING_RETRY_PERIOD.
-     */
-    String COMMITING_RETRY_PERIOD = RECOVERY_PREFIX + "committingRetryPeriod";
-
-    /**
-     * The constant ASYN_COMMITING_RETRY_PERIOD.
-     */
-    String ASYNC_COMMITING_RETRY_PERIOD = RECOVERY_PREFIX + "asyncCommittingRetryPeriod";
-
-    /**
-     * The constant ROLLBACKING_RETRY_PERIOD.
-     */
-    String ROLLBACKING_RETRY_PERIOD = RECOVERY_PREFIX + "rollbackingRetryPeriod";
-
-    /**
-     * The constant TIMEOUT_RETRY_PERIOD.
-     */
-    String TIMEOUT_RETRY_PERIOD = RECOVERY_PREFIX + "timeoutRetryPeriod";
-
-    /**
-     * The constant CLIENT_UNDO_PREFIX.
-     */
-    String CLIENT_UNDO_PREFIX = "client.undo.";
-
-    /**
-     * The constant TRANSACTION_UNDO_DATA_VALIDATION.
-     */
-    String TRANSACTION_UNDO_DATA_VALIDATION = CLIENT_UNDO_PREFIX + "dataValidation";
-
-    /**
-     * The constant TRANSACTION_UNDO_LOG_SERIALIZATION.
-     */
-    String TRANSACTION_UNDO_LOG_SERIALIZATION = CLIENT_UNDO_PREFIX + "logSerialization";
-
-    /**
-     * The constant TRANSACTION_UNDO_ONLY_CARE_UPDATE_COLUMNS.
-     */
-    String TRANSACTION_UNDO_ONLY_CARE_UPDATE_COLUMNS = CLIENT_UNDO_PREFIX + "onlyCareUpdateColumns";
-
-    /**
-     * the constant CLIENT_UNDO_COMPRESS_PREFIX
-     */
-    String CLIENT_UNDO_COMPRESS_PREFIX = CLIENT_UNDO_PREFIX + "compress.";
-
-    /**
-     * the constant CLIENT_UNDO_COMPRESS_TYPE
-     */
-    String CLIENT_UNDO_COMPRESS_TYPE = CLIENT_UNDO_COMPRESS_PREFIX + "type";
-
-    /**
-     * the constant CLIENT_UNDO_COMPRESS_ENABLE
-     */
-    String CLIENT_UNDO_COMPRESS_ENABLE = CLIENT_UNDO_COMPRESS_PREFIX + "enable";
-
-    /**
-     * the constant CLIENT_UNDO_COMPRESS_THRESHOLD
-     */
-    String CLIENT_UNDO_COMPRESS_THRESHOLD = CLIENT_UNDO_COMPRESS_PREFIX + "threshold";
-
-    /**
-     * The constant METRICS_PREFIX.
-     */
-    String METRICS_PREFIX = "metrics.";
-
-    /**
-     * The constant METRICS_ENABLED.
-     */
-    String METRICS_ENABLED = "enabled";
-
-    /**
-     * The constant METRICS_REGISTRY_TYPE.
-     */
-    String METRICS_REGISTRY_TYPE = "registryType";
-
-    /**
-     * The constant METRICS_EXPORTER_LIST.
-     */
-    String METRICS_EXPORTER_LIST = "exporterList";
-    /**
-     * The constant METRICS_EXPORTER_PROMETHEUS_PORT
-     */
-    String METRICS_EXPORTER_PROMETHEUS_PORT = "exporterPrometheusPort";
-
-    /**
-     * The constant SERVER_UNDO_PREFIX.
-     */
-    String SERVER_UNDO_PREFIX = SERVER_PREFIX + "undo.";
-
-    /**
-     * The constant TRANSACTION_UNDO_LOG_SAVE_DAYS.
-     */
-    String TRANSACTION_UNDO_LOG_SAVE_DAYS = SERVER_UNDO_PREFIX + "logSaveDays";
-
-    /**
-     * The constant TRANSACTION_UNDO_LOG_DELETE_PERIOD
-     */
-    String TRANSACTION_UNDO_LOG_DELETE_PERIOD = SERVER_UNDO_PREFIX + "logDeletePeriod";
-
-    /**
-     * The constant TRANSACTION_UNDO_LOG_TABLE
-     */
-    String TRANSACTION_UNDO_LOG_TABLE = CLIENT_UNDO_PREFIX + "logTable";
-    /**
-     * The constant LOG_PREFIX
-     */
-    String LOG_PREFIX = "log.";
-
-    /**
-     * The constant TRANSACTION_UNDO_LOG_EXCEPTION_RATE
-     */
-    String TRANSACTION_LOG_EXCEPTION_RATE = LOG_PREFIX + "exceptionRate";
-
-    /**
-     * The constant MAX_COMMIT_RETRY_TIMEOUT.
-     */
-    String MAX_COMMIT_RETRY_TIMEOUT = SERVER_PREFIX + "maxCommitRetryTimeout";
-
-    /**
-     * The constant MAX_ROLLBACK_RETRY_TIMEOUT.
-     */
-    String MAX_ROLLBACK_RETRY_TIMEOUT = SERVER_PREFIX + "maxRollbackRetryTimeout";
-
-    /**
-     * The constant ROLLBACK_RETRY_TIMEOUT_UNLOCK_ENABLE.
-     */
-    String ROLLBACK_RETRY_TIMEOUT_UNLOCK_ENABLE = SERVER_PREFIX + "rollbackRetryTimeoutUnlockEnable";
-
-    /**
-     * the constant RETRY_DEAD_THRESHOLD
-     */
-    String RETRY_DEAD_THRESHOLD = SERVER_PREFIX + "retryDeadThreshold";
-
-    /**
-     * the constant DISTRIBUTED_LOCK_EXPIRE_TIME
-     */
-    String DISTRIBUTED_LOCK_EXPIRE_TIME = SERVER_PREFIX + "distributedLockExpireTime";
-
-    /**
-     * The constant MIN_SERVER_POOL_SIZE.
-     */
-    String MIN_SERVER_POOL_SIZE = TRANSPORT_PREFIX + "minServerPoolSize";
-
-    /**
-     * The constant MAX_SERVER_POOL_SIZE.
-     */
-    String MAX_SERVER_POOL_SIZE = TRANSPORT_PREFIX + "maxServerPoolSize";
-
-    /**
-     * The constant MIN_BRANCH_RESULT_POOL_SIZE.
-     */
-    String MIN_BRANCH_RESULT_POOL_SIZE = TRANSPORT_PREFIX + "minBranchResultPoolSize";
-
-    /**
-     * The constant MAX_BRANCH_RESULT_POOL_SIZE.
-     */
-    String MAX_BRANCH_RESULT_POOL_SIZE = TRANSPORT_PREFIX + "maxBranchResultPoolSize";
-
-    /**
-     * The constant MAX_TASK_QUEUE_SIZE.
-     */
-    String MAX_TASK_QUEUE_SIZE = TRANSPORT_PREFIX + "maxTaskQueueSize";
-
-    /**
-     * The constant KEEP_ALIVE_TIME.
-     */
-    String KEEP_ALIVE_TIME = TRANSPORT_PREFIX + "keepAliveTime";
-
-    /**
-     * The constant TRANSPORT_TYPE
-     */
-    String TRANSPORT_TYPE = TRANSPORT_PREFIX + "type";
-
-    /**
-     * The constant TRANSPORT_SERVER
-     */
-    String TRANSPORT_SERVER = TRANSPORT_PREFIX + "server";
-
-    /**
-     * The constant TRANSPORT_HEARTBEAT
-     */
-    String TRANSPORT_HEARTBEAT = TRANSPORT_PREFIX + "heartbeat";
-
-    /**
-     * The constant THREAD_FACTORY_PREFIX
-     */
-    String THREAD_FACTORY_PREFIX = TRANSPORT_PREFIX + "threadFactory.";
-
-    /**
-     * The constant BOSS_THREAD_PREFIX
-     */
-    String BOSS_THREAD_PREFIX = THREAD_FACTORY_PREFIX + "bossThreadPrefix";
-
-    /**
-     * The constant WORKER_THREAD_PREFIX
-     */
-    String WORKER_THREAD_PREFIX = THREAD_FACTORY_PREFIX + "workerThreadPrefix";
-
-    /**
-     * The constant SERVER_EXECUTOR_THREAD_PREFIX
-     */
-    String SERVER_EXECUTOR_THREAD_PREFIX = THREAD_FACTORY_PREFIX + "serverExecutorThreadPrefix";
-
-    /**
-     * The constant SHARE_BOSS_WORKER
-     */
-    String SHARE_BOSS_WORKER = THREAD_FACTORY_PREFIX + "shareBossWorker";
-
-    /**
-     * The constant CLIENT_SELECTOR_THREAD_PREFIX
-     */
-    String CLIENT_SELECTOR_THREAD_PREFIX = THREAD_FACTORY_PREFIX + "clientSelectorThreadPrefix";
-
-    /**
-     * The constant CLIENT_SELECTOR_THREAD_SIZE
-     */
-    String CLIENT_SELECTOR_THREAD_SIZE = THREAD_FACTORY_PREFIX + "clientSelectorThreadSize";
-
-    /**
-     * The constant CLIENT_WORKER_THREAD_PREFIX
-     */
-    String CLIENT_WORKER_THREAD_PREFIX = THREAD_FACTORY_PREFIX + "clientWorkerThreadPrefix";
-
-    /**
-     * The constant BOSS_THREAD_SIZE
-     */
-    String BOSS_THREAD_SIZE = THREAD_FACTORY_PREFIX + "bossThreadSize";
-
-    /**
-     * The constant WORKER_THREAD_SIZE
-     */
-    String WORKER_THREAD_SIZE = THREAD_FACTORY_PREFIX + "workerThreadSize";
-
-    /**
-     * The constant SHUTDOWN_PREFIX
-     */
-    String SHUTDOWN_PREFIX = TRANSPORT_PREFIX + "shutdown.";
-
-    /**
-     * The constant SHUTDOWN_WAIT
-     */
-    String SHUTDOWN_WAIT = SHUTDOWN_PREFIX + "wait";
-
-    /**
-     * The constant ENABLE_CLIENT_BATCH_SEND_REQUEST
-     */
-    @Deprecated
-    String ENABLE_CLIENT_BATCH_SEND_REQUEST = TRANSPORT_PREFIX + "enableClientBatchSendRequest";
-
-    /**
-     * The constant ENABLE_TM_CLIENT_BATCH_SEND_REQUEST
-     */
-    String ENABLE_TM_CLIENT_BATCH_SEND_REQUEST = TRANSPORT_PREFIX + "enableTmClientBatchSendRequest";
-
-    /**
-     * The constant ENABLE_RM_CLIENT_CHANNEL_CHECK_FAIL_FAST
-     */
-    String ENABLE_TM_CLIENT_CHANNEL_CHECK_FAIL_FAST = TRANSPORT_PREFIX + "enableTmClientChannelCheckFailFast";
-
-    /**
-     * The constant ENABLE_RM_CLIENT_CHANNEL_CHECK_FAIL_FAST
-     */
-    String ENABLE_RM_CLIENT_CHANNEL_CHECK_FAIL_FAST = TRANSPORT_PREFIX + "enableRmClientChannelCheckFailFast";
-
-    /**
-     * The constant ENABLE_RM_CLIENT_BATCH_SEND_REQUEST
-     */
-    String ENABLE_RM_CLIENT_BATCH_SEND_REQUEST = TRANSPORT_PREFIX + "enableRmClientBatchSendRequest";
-
-    /**
-     * The constant ENABLE_TC_SERVER_BATCH_SEND_RESPONSE
-     */
-    String ENABLE_TC_SERVER_BATCH_SEND_RESPONSE = TRANSPORT_PREFIX + "enableTcServerBatchSendResponse";
-
-    /**
-     * The constant DISABLE_GLOBAL_TRANSACTION.
-     */
-    String DISABLE_GLOBAL_TRANSACTION = SERVICE_PREFIX + "disableGlobalTransaction";
-
-    /**
-     * The constant SQL_PARSER_TYPE.
-     */
-    String SQL_PARSER_TYPE = CLIENT_RM_PREFIX + "sqlParserType";
-
-    /**
-     * The constant STORE_REDIS_MODE.
-     */
-    String STORE_REDIS_MODE = STORE_REDIS_PREFIX + "mode";
-
-    /**
-     * The constant STORE_REDIS_TYPE. lua pipeline
-     */
-    String STORE_REDIS_TYPE = STORE_REDIS_PREFIX + "type";
-
-    /**
-     * The constant STORE_REDIS_HOST.
-     */
-    String STORE_REDIS_HOST = STORE_REDIS_PREFIX + "host";
-
-    /**
-     * The constant STORE_REDIS_PORT.
-     */
-    String STORE_REDIS_PORT = STORE_REDIS_PREFIX + "port";
-
-    /**
-     * The constant STORE_REDIS_SINGLE_PREFIX.
-     */
-    String STORE_REDIS_SINGLE_PREFIX = STORE_REDIS_PREFIX + "single.";
-
-    /**
-     * The constant STORE_REDIS_SINGLE_HOST.
-     */
-    String STORE_REDIS_SINGLE_HOST = STORE_REDIS_SINGLE_PREFIX + "host";
-
-    /**
-     * The constant STORE_MIN_Conn.
-     */
-    String STORE_REDIS_MIN_CONN = STORE_REDIS_PREFIX + "minConn";
-
-    /**
-     * The constant STORE_REDIS_SINGLE_PORT.
-     */
-    String STORE_REDIS_SINGLE_PORT = STORE_REDIS_SINGLE_PREFIX + "port";
-
-    /**
-     * The constant STORE_REDIS_MAX_CONN.
-     */
-    String STORE_REDIS_MAX_CONN = STORE_REDIS_PREFIX + "maxConn";
-
-    /**
-     * the constant STORE_REDIS_MAX_TOTAL
-     */
-    String STORE_REDIS_MAX_TOTAL = STORE_REDIS_PREFIX + "maxTotal";
-
-    /**
-     * The constant STORE_REDIS_DATABASE.
-     */
-    String STORE_REDIS_DATABASE = STORE_REDIS_PREFIX + "database";
-
-    /**
-     * The constant STORE_REDIS_PASSWORD.
-     */
-    String STORE_REDIS_PASSWORD = STORE_REDIS_PREFIX + "password";
-
-    /**
-     * The constant STORE_REDIS_QUERY_LIMIT.
-     */
-    String STORE_REDIS_QUERY_LIMIT = STORE_REDIS_PREFIX + "queryLimit";
-
-    /**
-     * The constant REDIS_SENTINEL_MODE.
-     */
-    String REDIS_SENTINEL_MODE = "sentinel";
-
-    /**
-     * The constant REDIS_SINGLE_MODE.
-     */
-    String REDIS_SINGLE_MODE = "single";
-
-    /**
-     * The constant STORE_REDIS_SENTINEL_PREFIX.
-     */
-    String STORE_REDIS_SENTINEL_PREFIX = STORE_REDIS_PREFIX + "sentinel.";
-
-    /**
-     * STORE_REDIS_SENTINEL_MASTERNAME.
-     */
-    String STORE_REDIS_SENTINEL_MASTERNAME = STORE_REDIS_SENTINEL_PREFIX + "masterName";
-
-    /**
-     * STORE_REDIS_SENTINEL_HOST.
-     */
-    String STORE_REDIS_SENTINEL_HOST = STORE_REDIS_SENTINEL_PREFIX + "sentinelHosts";
-
-    /**
-     * STORE_REDIS_SENTINEL_PASSWORD.
-     */
-    String STORE_REDIS_SENTINEL_PASSWORD = STORE_REDIS_SENTINEL_PREFIX + "sentinelPassword";
-
-    /**
-     * The constant CLIENT_DEGRADE_CHECK_PERIOD.
-     */
-    String CLIENT_DEGRADE_CHECK_PERIOD = CLIENT_TM_PREFIX + "degradeCheckPeriod";
-
-    /**
-     * The constant CLIENT_DEGRADE_CHECK.
-     */
-    String CLIENT_DEGRADE_CHECK = CLIENT_TM_PREFIX + "degradeCheck";
-    /**
-     * The constant CLIENT_DEGRADE_CHECK_ALLOW_TIMES.
-     */
-    String CLIENT_DEGRADE_CHECK_ALLOW_TIMES = CLIENT_TM_PREFIX + "degradeCheckAllowTimes";
-
-    /**
-     * The constant GLOBAL_TRANSACTION_INTERCEPTOR_ORDER.
-     */
-    String TM_INTERCEPTOR_ORDER = CLIENT_TM_PREFIX + "interceptorOrder";
-
-    /**
-     * The constant ACCESS_KEY.
-     */
-    String ACCESS_KEY = "accesskey";
-
-    /**
-     * The constant SECRET_KEY.
-     */
-    String SECRET_KEY = "secretkey";
-
-    /**
-     * The constant SEATA_ACCESS_KEY.
-     */
-    String SEATA_ACCESS_KEY = SEATA_PREFIX + ACCESS_KEY;
-
-    /**
-     * The constant SEATA_SECRET_KEY.
-     */
-    String SEATA_SECRET_KEY = SEATA_PREFIX + SECRET_KEY;
-
-    /**
-     * The constant EXTRA_DATA_SPLIT_CHAR.
-     */
-    String EXTRA_DATA_SPLIT_CHAR = "\n";
-    /**
-     * The constant EXTRA_DATA_KV_CHAR.
-     */
-    String EXTRA_DATA_KV_CHAR = "=";
-
-    /**
-     * The constant SERVER_ENABLE_CHECK_AUTH.
-     */
-    String SERVER_ENABLE_CHECK_AUTH = SERVER_PREFIX + "enableCheckAuth";
-
-    /**
-     * The constant APPLICATION_ID.
-     */
-    String APPLICATION_ID = "applicationId";
-
-    /**
-     * The constant TX_SERVICE_GROUP.
-     */
-    String TX_SERVICE_GROUP = "txServiceGroup";
-
-    /**
-     * The constant DATA_SOURCE_PROXY_MODE.
-     */
-    String DATA_SOURCE_PROXY_MODE = "dataSourceProxyMode";
-
-    /**
-     * The constant TCC_PREFIX
-     */
-    String TCC_PREFIX = "tcc.";
-
-    /**
-     * The constant TCC_FENCE_PREFIX
-     */
-    String TCC_FENCE_PREFIX = TCC_PREFIX + "fence.";
-
-    /**
-     * The constant TCC_FENCE_CLEAN_PERIOD
-     */
-    String TCC_FENCE_CLEAN_PERIOD = TCC_FENCE_PREFIX + "cleanPeriod";
-
-    /**
-     * The constant TCC_FENCE_LOG_TABLE_NAME
-     */
-    String TCC_FENCE_LOG_TABLE_NAME = TCC_FENCE_PREFIX + "logTableName";
-
-    /**
-     * The constant TCC_BUSINESS_ACTION_CONTEXT_JSON_PARSER_NAME
-     */
-    String TCC_BUSINESS_ACTION_CONTEXT_JSON_PARSER_NAME = TCC_PREFIX + "contextJsonParserType";
-
-    /**
-     * The constant rpcRmRequestTimeout
-     */
-    String RPC_RM_REQUEST_TIMEOUT = TRANSPORT_PREFIX + "rpcRmRequestTimeout";
-
-    /**
-     * The constant RPC_TM_REQUEST_TIMEOUT
-     */
-    String RPC_TM_REQUEST_TIMEOUT = TRANSPORT_PREFIX + "rpcTmRequestTimeout";
-
-    /**
-     * The constant RPC_TM_REQUEST_TIMEOUT
-     */
-    String RPC_TC_REQUEST_TIMEOUT = TRANSPORT_PREFIX + "rpcTcRequestTimeout";
-
-    /**
-     * The constant SESSION_BRANCH_ASYNC_QUEUE_SIZE
-     */
-    String SESSION_BRANCH_ASYNC_QUEUE_SIZE = SERVER_PREFIX + SESSION_PREFIX + "branchAsyncQueueSize";
-
-    /**
-     * The constant ENABLE_BRANCH_ASYNC_REMOVE
-     */
-    String ENABLE_BRANCH_ASYNC_REMOVE = SERVER_PREFIX + SESSION_PREFIX + "enableBranchAsyncRemove";
-
-    /**
-     * The constant SERVER_RAFT.
-     */
-    String SERVER_RAFT = SERVER_PREFIX + "raft.";
-
-    /**
-     * The constant SERVER_RAFT_SERVER_ADDR.
-     */
-    String SERVER_RAFT_SERVER_ADDR = SERVER_RAFT + "serverAddr";
-
-    /**
-     * The constant SERVER_RAFT_GROUP.
-     */
-    String SERVER_RAFT_GROUP = SERVER_RAFT + "group";
-
-    /**
-     * The constant SERVER_RAFT_SNAPSHOT_INTERVAL.
-     */
-    String SERVER_RAFT_SNAPSHOT_INTERVAL = SERVER_RAFT + "snapshotInterval";
-
-    /**
-     * The constant SERVER_RAFT_DISRUPTOR_BUFFER_SIZE.
-     */
-    String SERVER_RAFT_DISRUPTOR_BUFFER_SIZE = SERVER_RAFT + "disruptorBufferSize";
-
-    /**
-     * The constant SERVER_RAFT_MAX_REPLICATOR_INFLIGHT_MSGS.
-     */
-    String SERVER_RAFT_MAX_REPLICATOR_INFLIGHT_MSGS = SERVER_RAFT + "maxReplicatorInflightMsgs";
-
-    /**
-     * The constant SERVER_RAFT_SYNC.
-     */
-    String SERVER_RAFT_SYNC = SERVER_RAFT + "sync";
-
-    /**
-     * The constant SERVER_RAFT_MAX_APPEND_BUFFER_SIZE.
-     */
-    String SERVER_RAFT_MAX_APPEND_BUFFER_SIZE = SERVER_RAFT + "maxAppendBufferSize";
-
-    /**
-     * The constant SERVER_RAFT_APPLY_BATCH.
-     */
-    String SERVER_RAFT_APPLY_BATCH = SERVER_RAFT + "applyBatch";
-
-    /**
-     * The constant SERVER_RAFT_APPLY_BATCH.
-     */
-    String SERVER_RAFT_ELECTION_TIMEOUT_MS = SERVER_RAFT + "electionTimeoutMs";
-
-    /**
-     * The constant SERVER_RAFT_REPORTER_ENABLED.
-     */
-    String SERVER_RAFT_REPORTER_ENABLED = SERVER_RAFT + "reporterEnabled";
-
-    /**
-     * The constant SERVER_RAFT_REPORTER_INITIAL_DELAY.
-     */
-    String SERVER_RAFT_REPORTER_INITIAL_DELAY = SERVER_RAFT + "reporterInitialDelay";
-
-    /**
-     * The constant SERVER_RAFT_SERIALIZATION.
-     */
-    String SERVER_RAFT_SERIALIZATION = SERVER_RAFT + "serialization";
-
-    /**
-     * The constant SERVER_RAFT_COMPRESSOR.
-     */
-    String SERVER_RAFT_COMPRESSOR = SERVER_RAFT + "compressor";
-
-    /**
-     * The constant CLIENT_METADATA_MAX_AGE_MS.
-     */
-    String CLIENT_METADATA_MAX_AGE_MS = CLIENT_PREFIX + "metadataMaxAgeMs";
-
-    /**
-     * The constant IS_USE_CLOUD_NAMESPACE_PARSING.
-     */
-    String IS_USE_CLOUD_NAMESPACE_PARSING = "isUseCloudNamespaceParsing";
-
-    /**
-     * The constant IS_USE_ENDPOINT_PARSING_RULE.
-     */
-    String IS_USE_ENDPOINT_PARSING_RULE = "isUseEndpointParsingRule";
-
-    /**
-     * The constant XAER_NOTA_RETRY_TIMEOUT
-     */
-    String XAER_NOTA_RETRY_TIMEOUT = SERVER_PREFIX + "xaerNotaRetryTimeout";
-
-    /**
-     * The constant XA_BRANCH_EXECUTION_TIMEOUT
-     */
-    String XA_BRANCH_EXECUTION_TIMEOUT = CLIENT_RM_PREFIX + "branchExecutionTimeoutXA";
-
-    /**
-     * The constant XA_CONNECTION_TWO_PHASE_HOLD_TIMEOUT
-     */
-    String XA_CONNECTION_TWO_PHASE_HOLD_TIMEOUT = CLIENT_RM_PREFIX + "connectionTwoPhaseHoldTimeoutXA";
-
-
-    /**
-     * The constant ENABLE_PARALLEL_REQUEST_HANDLE_KEY
-     */
-    String ENABLE_PARALLEL_REQUEST_HANDLE_KEY = SERVER_PREFIX + "enableParallelRequestHandle";
-
-    /**
-     * The constant ENABLE_PARALLEL_HANDLE_BRANCH_KEY
-     */
-    String ENABLE_PARALLEL_HANDLE_BRANCH_KEY = SERVER_PREFIX + "enableParallelHandleBranch";
-
-    /**
-     * The constant RM_APPLICATION_DATA_SIZE_ERROR
-     */
-    String RM_APPLICATION_DATA_SIZE_LIMIT = CLIENT_RM_PREFIX + "applicationDataLimit";
-
-    /**
-     * The constant RM_APPLICATION_DATA_SIZE_CHECK
-     */
-    String RM_APPLICATION_DATA_SIZE_CHECK = CLIENT_RM_PREFIX + "applicationDataLimitCheck";
-
-    /**
-     * The constant SERVER_APPLICATION_DATA_SIZE_ERROR
-     */
-    String SERVER_APPLICATION_DATA_SIZE_LIMIT = SERVER_PREFIX + "applicationDataLimit";
-
-    /**
-     * The constant SERVER_APPLICATION_DATA_SIZE_CHECK
-     */
-    String SERVER_APPLICATION_DATA_SIZE_CHECK = SERVER_PREFIX + "applicationDataLimitCheck";
-}
diff --git a/common/src/main/java/io/seata/common/Constants.java b/common/src/main/java/io/seata/common/Constants.java
deleted file mode 100644
index 2445785c96..0000000000
--- a/common/src/main/java/io/seata/common/Constants.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common;
-
-import java.nio.charset.Charset;
-
-/**
- * The type Constants.
- *
- */
-public interface Constants {
-
-    /**
-     * The constant IP_PORT_SPLIT_CHAR.
-     */
-    String IP_PORT_SPLIT_CHAR = ":";
-    /**
-     * The constant CLIENT_ID_SPLIT_CHAR.
-     */
-    String CLIENT_ID_SPLIT_CHAR = ":";
-    /**
-     * The constant ENDPOINT_BEGIN_CHAR.
-     */
-    String ENDPOINT_BEGIN_CHAR = "/";
-    /**
-     * The constant DBKEYS_SPLIT_CHAR.
-     */
-    String DBKEYS_SPLIT_CHAR = ",";
-
-    /**
-     * The constant ROW_LOCK_KEY_SPLIT_CHAR.
-     */
-    String ROW_LOCK_KEY_SPLIT_CHAR = ";";
-
-    /**
-     * The constant HIDE_KEY_PREFIX_CHAR.
-     */
-    String HIDE_KEY_PREFIX_CHAR = ".";
-
-    /**
-     * the start time of transaction
-     */
-    String START_TIME = "start-time";
-
-    /**
-     * app name
-     */
-    String APP_NAME = "appName";
-
-    /**
-     * TCC start time
-     */
-    String ACTION_START_TIME = "action-start-time";
-
-    /**
-     * TCC name
-     */
-    String ACTION_NAME = "actionName";
-
-    /**
-     * Use TCC fence
-     */
-    String USE_COMMON_FENCE = "useTCCFence";
-
-    /**
-     * phase one method name
-     */
-    String PREPARE_METHOD = "sys::prepare";
-
-    /**
-     * phase two commit method name
-     */
-    String COMMIT_METHOD = "sys::commit";
-
-    /**
-     * phase two rollback method name
-     */
-    String ROLLBACK_METHOD = "sys::rollback";
-
-    /**
-     * host ip
-     */
-    String HOST_NAME = "host-name";
-
-    /**
-     * branch context
-     */
-    String TX_ACTION_CONTEXT = "actionContext";
-
-    /**
-     * default charset name
-     */
-    String DEFAULT_CHARSET_NAME = "UTF-8";
-
-    /**
-     * default charset is utf-8
-     */
-    Charset DEFAULT_CHARSET = Charset.forName(DEFAULT_CHARSET_NAME);
-    /**
-     * The constant OBJECT_KEY_SPRING_APPLICATION_CONTEXT
-     */
-    String OBJECT_KEY_SPRING_APPLICATION_CONTEXT = "springApplicationContext";
-    /**
-     * The constant OBJECT_KEY_SPRING_CONFIGURABLE_ENVIRONMENT
-     */
-    String OBJECT_KEY_SPRING_CONFIGURABLE_ENVIRONMENT = "springConfigurableEnvironment";
-    /**
-     * The constant BEAN_NAME_SPRING_APPLICATION_CONTEXT_PROVIDER
-     */
-    String BEAN_NAME_SPRING_APPLICATION_CONTEXT_PROVIDER = "springApplicationContextProvider";
-    /**
-     * The constant BEAN_NAME_SPRING_FENCE_CONFIG
-     */
-    String BEAN_NAME_SPRING_FENCE_CONFIG = "SpringFenceConfig";
-    /**
-     * The constant BEAN_NAME_FAILURE_HANDLER
-     */
-    String BEAN_NAME_FAILURE_HANDLER = "failureHandler";
-    /**
-     * The constant SAGA_TRANS_NAME_PREFIX
-     */
-    String SAGA_TRANS_NAME_PREFIX = "$Saga_";
-
-    /**
-     * The constant RETRY_ROLLBACKING
-     */
-    String RETRY_ROLLBACKING = "RetryRollbacking";
-
-    /**
-     * The constant RETRY_COMMITTING
-     */
-    String RETRY_COMMITTING = "RetryCommitting";
-
-    /**
-     * The constant ASYNC_COMMITTING
-     */
-    String ASYNC_COMMITTING = "AsyncCommitting";
-
-    /**
-     * The constant TX_TIMEOUT_CHECK
-     */
-    String TX_TIMEOUT_CHECK = "TxTimeoutCheck";
-
-    /**
-     * The constant UNDOLOG_DELETE
-     */
-    String UNDOLOG_DELETE = "UndologDelete";
-
-    /**
-     * The constant AUTO_COMMIT
-     */
-    String AUTO_COMMIT = "autoCommit";
-
-    /**
-     * The constant SKIP_CHECK_LOCK
-     */
-    String SKIP_CHECK_LOCK = "skipCheckLock";
-
-    /**
-     * The constant REGISTRY_TYPE_SPLIT_CHAR.
-     */
-    String REGISTRY_TYPE_SPLIT_CHAR = ",";
-    
-    /**
-     * phase two compensation method name
-     */
-    String COMPENSATION_METHOD = "sys::compensation";
-
-    /**
-     * phase STORE_REDIS_TYPE_PIPELINE
-     */
-    String STORE_REDIS_TYPE_PIPELINE = "pipeline";
-
-    /**
-     * The constant FASTJSON_JSON_PARSER_NAME
-     */
-    String FASTJSON_JSON_PARSER_NAME = "fastjson";
-
-    /**
-     * The constant JACKSON_JSON_PARSER_NAME
-     */
-    String JACKSON_JSON_PARSER_NAME = "jackson";
-
-    /**
-     * The constant GSON_JSON_PARSER_NAME
-     */
-    String GSON_JSON_PARSER_NAME = "gson";
-
-    /**
-     * The constant JACKSON_JSON_TEXT_PREFIX
-     */
-    String JACKSON_JSON_TEXT_PREFIX = "{\"@class\":";
-}
diff --git a/common/src/main/java/io/seata/common/DefaultValues.java b/common/src/main/java/io/seata/common/DefaultValues.java
deleted file mode 100644
index 1aa5352ab4..0000000000
--- a/common/src/main/java/io/seata/common/DefaultValues.java
+++ /dev/null
@@ -1,317 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common;
-
-import java.time.Duration;
-
-/**
- */
-public interface DefaultValues {
-    int DEFAULT_CLIENT_LOCK_RETRY_INTERVAL = 10;
-    int DEFAULT_TM_DEGRADE_CHECK_ALLOW_TIMES = 10;
-    int DEFAULT_CLIENT_LOCK_RETRY_TIMES = 30;
-    boolean DEFAULT_CLIENT_LOCK_RETRY_POLICY_BRANCH_ROLLBACK_ON_CONFLICT = true;
-    int DEFAULT_LOG_EXCEPTION_RATE = 100;
-    int DEFAULT_CLIENT_ASYNC_COMMIT_BUFFER_LIMIT = 10000;
-    int DEFAULT_TM_DEGRADE_CHECK_PERIOD = 2000;
-    int DEFAULT_CLIENT_REPORT_RETRY_COUNT = 5;
-    boolean DEFAULT_CLIENT_REPORT_SUCCESS_ENABLE = false;
-    boolean DEFAULT_CLIENT_TABLE_META_CHECK_ENABLE = true;
-    long DEFAULT_TABLE_META_CHECKER_INTERVAL = 60000L;
-    boolean DEFAULT_TM_DEGRADE_CHECK = false;
-    boolean DEFAULT_CLIENT_SAGA_BRANCH_REGISTER_ENABLE = false;
-
-    /**
-     * The default session store dir
-     */
-    String DEFAULT_SESSION_STORE_FILE_DIR = "sessionStore";
-    boolean DEFAULT_CLIENT_SAGA_RETRY_PERSIST_MODE_UPDATE = false;
-    boolean DEFAULT_CLIENT_SAGA_COMPENSATE_PERSIST_MODE_UPDATE = false;
-    String DEFAULT_RAFT_SERIALIZATION = "jackson";
-    String DEFAULT_RAFT_COMPRESSOR = "none";
-
-    /**
-     * Shutdown timeout default 3s
-     */
-    int DEFAULT_SHUTDOWN_TIMEOUT_SEC = 13;
-    int DEFAULT_SELECTOR_THREAD_SIZE = 1;
-    int DEFAULT_BOSS_THREAD_SIZE = 1;
-
-
-    String DEFAULT_SELECTOR_THREAD_PREFIX = "NettyClientSelector";
-    String DEFAULT_WORKER_THREAD_PREFIX = "NettyClientWorkerThread";
-    @Deprecated
-    boolean DEFAULT_ENABLE_CLIENT_BATCH_SEND_REQUEST = true;
-    boolean DEFAULT_ENABLE_TM_CLIENT_BATCH_SEND_REQUEST = false;
-    boolean DEFAULT_ENABLE_RM_CLIENT_BATCH_SEND_REQUEST = true;
-    boolean DEFAULT_ENABLE_TC_SERVER_BATCH_SEND_RESPONSE = false;
-
-    boolean DEFAULT_CLIENT_CHANNEL_CHECK_FAIL_FAST = true;
-
-    String DEFAULT_BOSS_THREAD_PREFIX = "NettyBoss";
-    String DEFAULT_NIO_WORKER_THREAD_PREFIX = "NettyServerNIOWorker";
-    String DEFAULT_EXECUTOR_THREAD_PREFIX = "NettyServerBizHandler";
-
-    boolean DEFAULT_TRANSPORT_HEARTBEAT = true;
-    boolean DEFAULT_TRANSACTION_UNDO_DATA_VALIDATION = true;
-    String DEFAULT_TRANSACTION_UNDO_LOG_SERIALIZATION = "jackson";
-    boolean DEFAULT_ONLY_CARE_UPDATE_COLUMNS = true;
-    /**
-     * The constant  DEFAULT_TRANSACTION_UNDO_LOG_TABLE.
-     */
-    String DEFAULT_TRANSACTION_UNDO_LOG_TABLE = "undo_log";
-    /**
-     * The constant DEFAULT_STORE_DB_GLOBAL_TABLE.
-     */
-    String DEFAULT_STORE_DB_GLOBAL_TABLE = "global_table";
-
-    /**
-     * The constant DEFAULT_STORE_DB_BRANCH_TABLE.
-     */
-    String DEFAULT_STORE_DB_BRANCH_TABLE = "branch_table";
-
-    /**
-     * The constant DEFAULT_LOCK_DB_TABLE.
-     */
-    String DEFAULT_LOCK_DB_TABLE = "lock_table";
-
-    /**
-     * the constant DEFAULT_DISTRIBUTED_LOCK_DB_TABLE
-     */
-    String DEFAULT_DISTRIBUTED_LOCK_DB_TABLE = "distributed_lock";
-
-    int DEFAULT_TM_COMMIT_RETRY_COUNT = 5;
-    int DEFAULT_TM_ROLLBACK_RETRY_COUNT = 5;
-    int DEFAULT_GLOBAL_TRANSACTION_TIMEOUT = 60000;
-
-    String DEFAULT_TX_GROUP = "default_tx_group";
-    @Deprecated
-    String DEFAULT_TX_GROUP_OLD = "my_test_tx_group";
-    String DEFAULT_TC_CLUSTER = "default";
-    String DEFAULT_GROUPLIST = "127.0.0.1:8091";
-
-    String DEFAULT_DATA_SOURCE_PROXY_MODE = "AT";
-
-    boolean DEFAULT_DISABLE_GLOBAL_TRANSACTION = false;
-
-    //currently not use and will be delete in the next version
-    @Deprecated
-    int SERVICE_DEFAULT_PORT = 8091;
-
-    int SERVICE_OFFSET_SPRING_BOOT = 1000;
-
-    String SERVER_PORT = "seata.server.port";
-
-    String SERVER_DEFAULT_STORE_MODE = "file";
-
-    String DEFAULT_SAGA_JSON_PARSER = "fastjson";
-
-    // default tcc business action context json parser
-    String DEFAULT_TCC_BUSINESS_ACTION_CONTEXT_JSON_PARSER = "fastjson";
-
-    boolean DEFAULT_SERVER_ENABLE_CHECK_AUTH = true;
-
-    String DEFAULT_LOAD_BALANCE = "XID";
-    int VIRTUAL_NODES_DEFAULT = 10;
-
-    String DEFAULT_SEATA_GROUP = "default";
-
-    /**
-     * the constant DEFAULT_CLIENT_UNDO_COMPRESS_ENABLE
-     */
-    boolean DEFAULT_CLIENT_UNDO_COMPRESS_ENABLE = true;
-
-    /**
-     * the constant DEFAULT_CLIENT_UNDO_COMPRESS_TYPE
-     */
-    String DEFAULT_CLIENT_UNDO_COMPRESS_TYPE = "zip";
-
-    /**
-     * the constant DEFAULT_CLIENT_UNDO_COMPRESS_THRESHOLD
-     */
-    String DEFAULT_CLIENT_UNDO_COMPRESS_THRESHOLD = "64k";
-
-
-    /**
-     * the constant DEFAULT_RETRY_DEAD_THRESHOLD
-     */
-    int DEFAULT_RETRY_DEAD_THRESHOLD = 2 * 60 * 1000 + 10 * 1000;
-
-    /**
-     * the constant TM_INTERCEPTOR_ORDER
-     */
-    int TM_INTERCEPTOR_ORDER = Integer.MIN_VALUE + 1000;
-
-    /**
-     * the constant TCC_ACTION_INTERCEPTOR_ORDER
-     */
-    int TCC_ACTION_INTERCEPTOR_ORDER = Integer.MIN_VALUE + 1000;
-
-    /**
-     * the constant SAGA_ACTION_INTERCEPTOR_ORDER
-     */
-    int SAGA_ACTION_INTERCEPTOR_ORDER = Integer.MIN_VALUE + 1000;
-
-    /**
-     * the constant DEFAULT_DISTRIBUTED_LOCK_EXPIRE
-     */
-    int DEFAULT_DISTRIBUTED_LOCK_EXPIRE = 10000;
-
-    /**
-     * the constant DEFAULT_COMMON_FENCE_CLEAN_PERIOD
-     */
-    int DEFAULT_COMMON_FENCE_CLEAN_PERIOD = 1;
-    /**
-     * the constant DEFAULT_COMMON_FENCE_LOG_TABLE_NAME
-     */
-    String DEFAULT_COMMON_FENCE_LOG_TABLE_NAME = "tcc_fence_log";
-    /**
-     * the constant COMMON_FENCE_BEAN_NAME
-     */
-    String COMMON_FENCE_BEAN_NAME = "tccFenceConfig";
-
-    /**
-     * the constant DEFAULT_RPC_RM_REQUEST_TIMEOUT
-     */
-    long DEFAULT_RPC_RM_REQUEST_TIMEOUT = Duration.ofSeconds(15).toMillis();
-
-    /**
-     * the constant DEFAULT_RPC_TM_REQUEST_TIMEOUT
-     */
-    long DEFAULT_RPC_TM_REQUEST_TIMEOUT = Duration.ofSeconds(30).toMillis();
-
-    /**
-     * the constant DEFAULT_RPC_TC_REQUEST_TIMEOUT
-     */
-    long DEFAULT_RPC_TC_REQUEST_TIMEOUT = Duration.ofSeconds(15).toMillis();
-
-    /**
-     * the constant DEFAULT_APPLICATION_DATA_SIZE_LIMIT
-     */
-    int DEFAULT_APPLICATION_DATA_SIZE_LIMIT = 64000;
-
-    /**
-     * the constant DEFAULT_XAER_NOTA_RETRY_TIMEOUT
-     */
-    int DEFAULT_XAER_NOTA_RETRY_TIMEOUT = 60000;
-
-    /**
-     * the constant DEFAULT_XA_BRANCH_EXECUTION_TIMEOUT
-     */
-    int DEFAULT_XA_BRANCH_EXECUTION_TIMEOUT = 60000;
-
-    /**
-     * the constant DEFAULT_XA_TWO_PHASE_WAIT_TIMEOUT
-     */
-    int DEFAULT_XA_CONNECTION_TWO_PHASE_HOLD_TIMEOUT = 10000;
-
-    /**
-     * the constant DEFAULT_SERVER_RAFT_ELECTION_TIMEOUT_MS
-     */
-    int DEFAULT_SERVER_RAFT_ELECTION_TIMEOUT_MS = 1000;
-    /**
-     * the constant DEFAULT_COMMITING_RETRY_PERIOD
-     */
-    int DEFAULT_COMMITING_RETRY_PERIOD = 1000;
-
-    /**
-     * the constant DEFAULT_ASYNC_COMMITTING_RETRY_PERIOD
-     */
-    int DEFAULT_ASYNC_COMMITTING_RETRY_PERIOD = 1000;
-
-    /**
-     * the constant DEFAULT_ROLLBACKING_RETRY_PERIOD
-     */
-    int DEFAULT_ROLLBACKING_RETRY_PERIOD = 1000;
-
-    /**
-     * the constant DEFAULT_TIMEOUT_RETRY_PERIOD
-     */
-    int DEFAULT_TIMEOUT_RETRY_PERIOD = 1000;
-
-    /**
-     * the constant DEFAULT_UNDO_LOG_DELETE_PERIOD
-     */
-    long DEFAULT_UNDO_LOG_DELETE_PERIOD = 24 * 60 * 60 * 1000;
-
-    /**
-     * the constant DEFAULT_SERVICE_SESSION_RELOAD_READ_SIZE
-     */
-    int DEFAULT_SERVICE_SESSION_RELOAD_READ_SIZE = 100;
-
-    /**
-     * the constant DEFAULT_PROMETHEUS_PORT
-     */
-    int DEFAULT_PROMETHEUS_PORT = 9898;
-
-    /**
-     * the const DEFAULT_METRICS_ENABLED
-     */
-    boolean DEFAULT_METRICS_ENABLED = false;
-
-    /**
-     * the const DEFAULT_METRICS_REGISTRY_TYPE
-     */
-    String DEFAULT_METRICS_REGISTRY_TYPE = "compact";
-
-    /**
-     * the const DEFAULT_METRICS_EXPORTER_LIST
-     */
-    String DEFAULT_METRICS_EXPORTER_LIST = "prometheus";
-
-    /**
-     * the const DEFAULT_MAX_COMMIT_RETRY_TIMEOUT
-     */
-    long DEFAULT_MAX_COMMIT_RETRY_TIMEOUT = -1L;
-
-    /**
-     * the const DEFAULT_MAX_ROLLBACK_RETRY_TIMEOUT
-     */
-    long DEFAULT_MAX_ROLLBACK_RETRY_TIMEOUT = -1L;
-
-    /**
-     * the const DEFAULT_ROLLBACK_RETRY_TIMEOUT_UNLOCK_ENABLE
-     */
-    boolean DEFAULT_ROLLBACK_RETRY_TIMEOUT_UNLOCK_ENABLE = false;
-
-    /**
-     * DEFAULT_DISTRIBUTED_LOCK_EXPIRE_TIME
-     */
-    long DEFAULT_DISTRIBUTED_LOCK_EXPIRE_TIME = 10000;
-
-    /**
-     * DEFAULT_ENABLE_BRANCH_ASYNC_REMOVE
-     */
-    boolean DEFAULT_ENABLE_BRANCH_ASYNC_REMOVE = false;
-
-    int DEFAULT_DB_MAX_CONN = 100;
-
-    int DEFAULT_DB_MIN_CONN = 10;
-
-    int DEFAULT_REDIS_MAX_IDLE = 100;
-
-    int DEFAULT_REDIS_MAX_TOTAL = 100;
-
-    int DEFAULT_REDIS_MIN_IDLE = 10;
-
-    int DEFAULT_QUERY_LIMIT = 1000;
-
-    /**
-     * Default druid location in classpath
-     */
-    String DRUID_LOCATION = "lib/sqlparser/druid.jar";
-}
diff --git a/common/src/main/java/io/seata/common/LockStrategyMode.java b/common/src/main/java/io/seata/common/LockStrategyMode.java
deleted file mode 100644
index 538c18fd17..0000000000
--- a/common/src/main/java/io/seata/common/LockStrategyMode.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common;
-
-/**
- * @funkye
- */
-public enum LockStrategyMode {
-    /**
-     * Optimistic lock mode is recommended when resources are not reused in the current global transaction.
-     */
-    OPTIMISTIC,
-    /**
-     * Pessimistic lock mode is recommended when there may be repeated use of the same resource in a global transaction.
-     */
-    PESSIMISTIC
-}
diff --git a/common/src/main/java/io/seata/common/XID.java b/common/src/main/java/io/seata/common/XID.java
deleted file mode 100644
index 124ba4ad96..0000000000
--- a/common/src/main/java/io/seata/common/XID.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common;
-
-import static io.seata.common.Constants.IP_PORT_SPLIT_CHAR;
-
-/**
- * The type Xid.
- *
- */
-public class XID {
-
-    private static int port;
-
-    private static String ipAddress;
-
-    /**
-     * Sets port.
-     *
-     * @param port the port
-     */
-    public static void setPort(int port) {
-        XID.port = port;
-    }
-
-    /**
-     * Sets ip address.
-     *
-     * @param ipAddress the ip address
-     */
-    public static void setIpAddress(String ipAddress) {
-        XID.ipAddress = ipAddress;
-    }
-
-    /**
-     * Generate xid string.
-     *
-     * @param tranId the tran id
-     * @return the string
-     */
-    public static String generateXID(long tranId) {
-        return new StringBuilder().append(ipAddress).append(IP_PORT_SPLIT_CHAR).append(port).append(IP_PORT_SPLIT_CHAR).append(tranId).toString();
-    }
-
-    /**
-     * Gets transaction id.
-     *
-     * @param xid the xid
-     * @return the transaction id
-     */
-    public static long getTransactionId(String xid) {
-        if (xid == null) {
-            return -1;
-        }
-
-        int idx = xid.lastIndexOf(":");
-        return Long.parseLong(xid.substring(idx + 1));
-    }
-
-    /**
-     * Gets port.
-     *
-     * @return the port
-     */
-    public static int getPort() {
-        return port;
-    }
-
-    /**
-     * Gets ip address.
-     *
-     * @return the ip address
-     */
-    public static String getIpAddress() {
-        return ipAddress;
-    }
-
-    /**
-     * Gets ipAddress:port
-     *
-     * @return eg: 127.0.0.1:8091
-     */
-    public static String getIpAddressAndPort() {
-        return new StringBuilder().append(ipAddress).append(IP_PORT_SPLIT_CHAR).append(port).toString();
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/AuthenticationFailedException.java b/common/src/main/java/io/seata/common/exception/AuthenticationFailedException.java
deleted file mode 100644
index 34826c71d9..0000000000
--- a/common/src/main/java/io/seata/common/exception/AuthenticationFailedException.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-
-/**
- * Exception indicating authentication failure. This exception is typically thrown
- * when the authentication process fails, and it extends SecurityException to
- * signal that it is a security-related issue.
- */
-public class AuthenticationFailedException extends SecurityException {
-
-    /**
-     * Constructs a new AuthenticationFailedException with no detailed message.
-     */
-    public AuthenticationFailedException() {
-        super();
-    }
-
-    /**
-     * Constructs a new AuthenticationFailedException with the specified detail message.
-     *
-     * @param message the detail message (which is saved for later retrieval
-     *                by the getMessage() method).
-     */
-    public AuthenticationFailedException(String message) {
-        super(message);
-    }
-
-    /**
-     * Constructs a new AuthenticationFailedException with the specified cause.
-     *
-     * @param cause the cause (which is saved for later retrieval by the
-     *              getCause() method).
-     */
-    public AuthenticationFailedException(Throwable cause) {
-        super(cause);
-    }
-
-    /**
-     * Constructs a new AuthenticationFailedException with the specified detail
-     * message and cause.
-     *
-     * @param message the detail message (which is saved for later retrieval
-     *                by the getMessage() method).
-     * @param cause   the cause (which is saved for later retrieval by the
-     *                getCause() method).
-     */
-    public AuthenticationFailedException(String message, Throwable cause) {
-        super(message, cause);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/DataAccessException.java b/common/src/main/java/io/seata/common/exception/DataAccessException.java
deleted file mode 100644
index fcfc0851d6..0000000000
--- a/common/src/main/java/io/seata/common/exception/DataAccessException.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-/**
- * the data access exception
- */
-public class DataAccessException extends StoreException {
-
-    /**
-     * constructor with framework error code
-     * @param err the framework error code
-     */
-    public DataAccessException(FrameworkErrorCode err) {
-        super(err);
-    }
-
-    /**
-     * constructor with msg
-     * @param msg the msg
-     */
-    public DataAccessException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * constructor with cause
-     * @param cause the cause
-     */
-    public DataAccessException(Throwable cause) {
-        super(cause);
-    }
-
-    /**
-     * constructor with msg and framework error code
-     * @param msg the msg
-     * @param errCode the framework error code
-     */
-    public DataAccessException(String msg, FrameworkErrorCode errCode) {
-        super(msg, errCode);
-    }
-
-    /**
-     * constructor with cause and msg and framework error code
-     * @param cause the throwable
-     * @param msg the msg
-     * @param errCode the framework error code
-     */
-    public DataAccessException(Throwable cause, String msg, FrameworkErrorCode errCode) {
-        super(cause, msg, errCode);
-    }
-
-
-}
diff --git a/common/src/main/java/io/seata/common/exception/EurekaRegistryException.java b/common/src/main/java/io/seata/common/exception/EurekaRegistryException.java
deleted file mode 100644
index 244ca0ab4b..0000000000
--- a/common/src/main/java/io/seata/common/exception/EurekaRegistryException.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-/**
- * eureka registry exception
- *
- */
-public class EurekaRegistryException extends RuntimeException {
-
-    /**
-     * eureka registry exception.
-     *
-     * @param message the message
-     */
-    public EurekaRegistryException(String message) {
-        super(message);
-    }
-
-    /**
-     * eureka registry exception.
-     *
-     * @param message the message
-     * @param cause   the cause
-     */
-    public EurekaRegistryException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    /**
-     * eureka registry exception.
-     *
-     * @param cause the cause
-     */
-    public EurekaRegistryException(Throwable cause) {
-        super(cause);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/FrameworkErrorCode.java b/common/src/main/java/io/seata/common/exception/FrameworkErrorCode.java
deleted file mode 100644
index ed7e7aea88..0000000000
--- a/common/src/main/java/io/seata/common/exception/FrameworkErrorCode.java
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-/**
- * The enum Framework error code.
- *
- */
-public enum FrameworkErrorCode {
-    /**
-     * 0001 ~ 0099  Configuration related errors
-     */
-    ThreadPoolFull("0004", "Thread pool is full", "Please check the thread pool configuration"),
-
-    /**
-     * The Init services client error.
-     */
-    InitSeataClientError("0008", "Seata app name or seata server group is null", "Please check your configuration"),
-
-    /**
-     * The Null rule error.
-     */
-    NullRuleError("0010", "Services rules is null", "Please check your configuration"),
-
-    /**
-     * 0101 ~ 0199 Network related error. (Not connected, disconnected, dispatched, etc.)
-     */
-    NetConnect("0101", "Can not connect to the server", "Please check if the seata service is started. Is the network connection to the seata server normal?"),
-
-    /**
-     * The Net reg appname.
-     */
-    NetRegAppname("0102", "Register client app name failed", "Please check if the seata service is started. Is the network connection to the seata server normal?"),
-
-    /**
-     * The Net disconnect.
-     */
-    NetDisconnect("0103", "Seata connection closed", "The network is disconnected. Please check the network connection to the client or seata server."),
-
-    /**
-     * The Net dispatch.
-     */
-    NetDispatch("0104", "Dispatch error", "Network processing error. Please check the network connection to the client or seata server."),
-
-    /**
-     * The Net on message.
-     */
-    NetOnMessage("0105", "On message error", "Network processing error. Please check the network connection to the client or seata server."),
-    /**
-     * Get channel error framework error code.
-     */
-    getChannelError("0106", "Get channel error", "Get channel error"),
-
-    /**
-     * Channel not writable framework error code.
-     */
-    ChannelNotWritable("0107", "Channel not writable", "Channel not writable"),
-
-    /**
-     * Send half message failed framework error code.
-     */
-    SendHalfMessageFailed("0108", "Send half message failed", "Send half message failed"),
-
-    /**
-     * Channel is not writable framework error code.
-     */
-    ChannelIsNotWritable("0109", "Channel is not writable", "Channel is not writable"),
-    /**
-     * No available service framework error code.
-     */
-    NoAvailableService("0110", "No available service", "No available service"),
-
-    /**
-     * Invalid configuration framework error code.
-     */
-    InvalidConfiguration("0201", "Invalid configuration", "Invalid configuration"),
-
-    /**
-     * Exception caught framework error code.
-     */
-    ExceptionCaught("0318", "Exception caught", "Exception caught"),
-
-    /**
-     * Register rm framework error code.
-     */
-    RegisterRM("0304", "Register RM failed", "Register RM failed"),
-
-    /** 0400~0499 Saga related error **/
-
-    /**
-     * Process type not found
-     */
-    ProcessTypeNotFound("0401", "Process type not found", "Process type not found"),
-
-    /**
-     * Process handler not found
-     */
-    ProcessHandlerNotFound("0402", "Process handler not found", "Process handler not found"),
-
-    /**
-     * Process router not found
-     */
-    ProcessRouterNotFound("0403", "Process router not found", "Process router not found"),
-
-    /**
-     * method not public
-     */
-    MethodNotPublic("0404", "method not public", "method not public"),
-
-    /**
-     * method invoke error
-     */
-    MethodInvokeError("0405", "method invoke error", "method invoke error"),
-
-    /**
-     * CompensationState not found
-     */
-    CompensationStateNotFound("0406", "CompensationState not found", "CompensationState not found"),
-
-    /**
-     * Evaluation returns null
-     */
-    EvaluationReturnsNull("0407", "Evaluation returns null", "Evaluation returns null"),
-
-    /**
-     * Evaluation returns non-Boolean
-     */
-    EvaluationReturnsNonBoolean("0408", "Evaluation returns non-Boolean", "Evaluation returns non-Boolean"),
-
-    /**
-     * Not a exception class
-     */
-    NotExceptionClass("0409", "Not a exception class", "Not a exception class"),
-
-    /**
-     * No such method
-     */
-    NoSuchMethod("0410", "No such method", "No such method"),
-
-    /**
-     * Object not exists
-     */
-    ObjectNotExists("0411", "Object not exists", "Object not exists"),
-
-    /**
-     * Parameter required
-     */
-    ParameterRequired("0412", "Parameter required", "Parameter required"),
-
-    /**
-     * Variables assign error
-     */
-    VariablesAssignError("0413", "Variables assign error", "Variables assign error"),
-
-    /**
-     * No matched status
-     */
-    NoMatchedStatus("0414", "No matched status", "No matched status"),
-
-    /**
-     * Asynchronous start disabled
-     */
-    AsynchronousStartDisabled("0415", "Asynchronous start disabled", "Asynchronous start disabled"),
-
-    /**
-     * Operation denied
-     */
-    OperationDenied("0416", "Operation denied", "Operation denied"),
-
-    /**
-     * Context variable replay failed
-     */
-    ContextVariableReplayFailed("0417", "Context variable replay failed", "Context variable replay failed"),
-
-    /**
-     * Context variable replay failed
-     */
-    InvalidParameter("0418", "Invalid parameter", "Invalid parameter"),
-
-    /**
-     * Invoke transaction manager error
-     */
-    TransactionManagerError("0419", "Invoke transaction manager error", "Invoke transaction manager error"),
-
-    /**
-     * State machine instance not exists
-     */
-    StateMachineInstanceNotExists("0420", "State machine instance not exists", "State machine instance not exists"),
-
-    /**
-     * State machine execution timeout
-     */
-    StateMachineExecutionTimeout("0421", "State machine execution timeout", "State machine execution timeout"),
-
-    /**
-     * State machine execution no choice matched
-     */
-    StateMachineNoChoiceMatched("0422", "State machine no choice matched", "State machine no choice matched"),
-
-    /** 0500~0599 TCC fence related error **/
-
-    /**
-     * TCC fence datasource need injected
-     */
-    DateSourceNeedInjected("0501","TCC fence datasource need injected","TCC fence datasource need injected"),
-
-    /**
-     * TCC fence record not exists
-     */
-    RecordNotExists("0502","TCC fence record not exists","TCC fence record not exists"),
-
-    /**
-     * Insert tcc fence record error
-     */
-    InsertRecordError("0503","Insert tcc fence record error","Insert tcc fence record error"),
-
-    /**
-     * Insert tcc fence record duplicate key exception
-     */
-    DuplicateKeyException("0504", "Insert tcc fence record duplicate key exception", "Insert tcc fence record duplicate key exception"),
-
-    /**
-     * TCC fence transactionManager need injected
-     */
-    TransactionManagerNeedInjected("0505","TCC fence transactionManager need injected","TCC fence transactionManager need injected"),
-
-    /**
-     * Undefined error
-     */
-    UnknownAppError("10000", "Unknown error", "Internal error"),
-    ;
-
-    /**
-     * The Err code.
-     */
-    private String errCode;
-
-    /**
-     * The Err message.
-     */
-    private String errMessage;
-
-    /**
-     * The Err dispose.
-     */
-    private String errDispose;
-
-    FrameworkErrorCode(String errCode, String errMessage, String errDispose) {
-        this.errCode = errCode;
-        this.errMessage = errMessage;
-        this.errDispose = errDispose;
-    }
-
-    public String getErrCode() {
-        return errCode;
-    }
-
-    public String getErrMessage() {
-        return errMessage;
-    }
-
-    public String getErrDispose() {
-        return errDispose;
-    }
-
-    @Override
-    public String toString() {
-        return String.format("[%s] [%s] [%s]", errCode, errMessage, errDispose);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/FrameworkException.java b/common/src/main/java/io/seata/common/exception/FrameworkException.java
deleted file mode 100644
index ebb29e1f21..0000000000
--- a/common/src/main/java/io/seata/common/exception/FrameworkException.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-import java.sql.SQLException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The type Framework exception.
- *
- */
-public class FrameworkException extends RuntimeException {
-    private static final Logger LOGGER = LoggerFactory.getLogger(FrameworkException.class);
-
-    private static final long serialVersionUID = 5531074229174745826L;
-
-    private final FrameworkErrorCode errcode;
-
-    /**
-     * Instantiates a new Framework exception.
-     */
-    public FrameworkException() {
-        this(FrameworkErrorCode.UnknownAppError);
-    }
-
-    /**
-     * Instantiates a new Framework exception.
-     *
-     * @param err the err
-     */
-    public FrameworkException(FrameworkErrorCode err) {
-        this(err.getErrMessage(), err);
-    }
-
-    /**
-     * Instantiates a new Framework exception.
-     *
-     * @param msg the msg
-     */
-    public FrameworkException(String msg) {
-        this(msg, FrameworkErrorCode.UnknownAppError);
-    }
-
-    /**
-     * Instantiates a new Framework exception.
-     *
-     * @param msg     the msg
-     * @param errCode the err code
-     */
-    public FrameworkException(String msg, FrameworkErrorCode errCode) {
-        this(null, msg, errCode);
-    }
-
-    /**
-     * Instantiates a new Framework exception.
-     *
-     * @param cause   the cause
-     * @param msg     the msg
-     * @param errCode the err code
-     */
-    public FrameworkException(Throwable cause, String msg, FrameworkErrorCode errCode) {
-        super(msg, cause);
-        this.errcode = errCode;
-    }
-
-    /**
-     * Instantiates a new Framework exception.
-     *
-     * @param th the th
-     */
-    public FrameworkException(Throwable th) {
-        this(th, th.getMessage());
-    }
-
-    /**
-     * Instantiates a new Framework exception.
-     *
-     * @param th  the th
-     * @param msg the msg
-     */
-    public FrameworkException(Throwable th, String msg) {
-        this(th, msg, FrameworkErrorCode.UnknownAppError);
-    }
-
-    /**
-     * Gets errcode.
-     *
-     * @return the errcode
-     */
-    public FrameworkErrorCode getErrcode() {
-        return errcode;
-    }
-
-    /**
-     * Nested exception framework exception.
-     *
-     * @param e the e
-     * @return the framework exception
-     */
-    public static FrameworkException nestedException(Throwable e) {
-        return nestedException("", e);
-    }
-
-    /**
-     * Nested exception framework exception.
-     *
-     * @param msg the msg
-     * @param e   the e
-     * @return the framework exception
-     */
-    public static FrameworkException nestedException(String msg, Throwable e) {
-        LOGGER.error(msg, e.getMessage(), e);
-        if (e instanceof FrameworkException) {
-            return (FrameworkException)e;
-        }
-
-        return new FrameworkException(e, msg);
-    }
-
-    /**
-     * Nested sql exception sql exception.
-     *
-     * @param e the e
-     * @return the sql exception
-     */
-    public static SQLException nestedSQLException(Throwable e) {
-        return nestedSQLException("", e);
-    }
-
-    /**
-     * Nested sql exception sql exception.
-     *
-     * @param msg the msg
-     * @param e   the e
-     * @return the sql exception
-     */
-    public static SQLException nestedSQLException(String msg, Throwable e) {
-        LOGGER.error(msg, e.getMessage(), e);
-        if (e instanceof SQLException) {
-            return (SQLException)e;
-        }
-
-        return new SQLException(e);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/JsonParseException.java b/common/src/main/java/io/seata/common/exception/JsonParseException.java
deleted file mode 100644
index aa8962b546..0000000000
--- a/common/src/main/java/io/seata/common/exception/JsonParseException.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-/**
- */
-public class JsonParseException extends RuntimeException {
-
-    public JsonParseException(String message) {
-        super(message);
-    }
-
-    public JsonParseException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    public JsonParseException(Throwable cause) {
-        super(cause);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/NotSupportYetException.java b/common/src/main/java/io/seata/common/exception/NotSupportYetException.java
deleted file mode 100644
index 9da8ab4ec3..0000000000
--- a/common/src/main/java/io/seata/common/exception/NotSupportYetException.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-/**
- * The type Not support yet exception.
- *
- */
-public class NotSupportYetException extends RuntimeException {
-
-    /**
-     * Instantiates a new Not support yet exception.
-     */
-    public NotSupportYetException() {
-        this("currently not supported, may be supported in future");
-    }
-
-    /**
-     * Instantiates a new Not support yet exception.
-     *
-     * @param message the message
-     */
-    public NotSupportYetException(String message) {
-        super(message);
-    }
-
-    /**
-     * Instantiates a new Not support yet exception.
-     *
-     * @param message the message
-     * @param cause   the cause
-     */
-    public NotSupportYetException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    /**
-     * Instantiates a new Not support yet exception.
-     *
-     * @param cause the cause
-     */
-    public NotSupportYetException(Throwable cause) {
-        super(cause);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/RedisException.java b/common/src/main/java/io/seata/common/exception/RedisException.java
deleted file mode 100644
index a2b33e8c0a..0000000000
--- a/common/src/main/java/io/seata/common/exception/RedisException.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-/**
- * The redis operate exception
- *
- */
-public class RedisException extends FrameworkException {
-
-    /**
-     * Instantiates a new Redis exception.
-     *
-     * @param err the err
-     */
-    public RedisException(FrameworkErrorCode err) {
-        super(err);
-    }
-
-    /**
-     * Instantiates a new Redis exception.
-     *
-     * @param msg the msg
-     */
-    public RedisException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Instantiates a new Redis exception.
-     *
-     * @param msg     the msg
-     * @param errCode the err code
-     */
-    public RedisException(String msg, FrameworkErrorCode errCode) {
-        super(msg, errCode);
-    }
-
-    /**
-     * Instantiates a new Redis exception.
-     *
-     * @param cause   the cause
-     * @param msg     the msg
-     * @param errCode the err code
-     */
-    public RedisException(Throwable cause, String msg, FrameworkErrorCode errCode) {
-        super(cause, msg, errCode);
-    }
-
-    /**
-     * Instantiates a new Redis exception.
-     *
-     * @param th the th
-     */
-    public RedisException(Throwable th) {
-        super(th);
-    }
-
-    /**
-     * Instantiates a new Redis exception.
-     *
-     * @param th  the th
-     * @param msg the msg
-     */
-    public RedisException(Throwable th, String msg) {
-        super(th, msg);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/RetryableException.java b/common/src/main/java/io/seata/common/exception/RetryableException.java
deleted file mode 100644
index acc4b76aac..0000000000
--- a/common/src/main/java/io/seata/common/exception/RetryableException.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-
-
-/**
- * Exception indicating a retryable failure. This exception is typically thrown
- * when a retryable process fails, and it extends RuntimeException to
- * signal that it is an unchecked exception.
- */
-public class RetryableException extends Exception {
-
-    /**
-     * Constructs a new RetryableException with no detailed message.
-     */
-    public RetryableException() {
-        super();
-    }
-
-    /**
-     * Constructs a new RetryableException with the specified detail message.
-     *
-     * @param message the detail message (which is saved for later retrieval
-     *                by the getMessage() method).
-     */
-    public RetryableException(String message) {
-        super(message);
-    }
-
-    /**
-     * Constructs a new RetryableException with the specified cause.
-     *
-     * @param cause the cause (which is saved for later retrieval by the
-     *              getCause() method).
-     */
-    public RetryableException(Throwable cause) {
-        super(cause);
-    }
-
-    /**
-     * Constructs a new RetryableException with the specified detail
-     * message and cause.
-     *
-     * @param message the detail message (which is saved for later retrieval
-     *                by the getMessage() method).
-     * @param cause   the cause (which is saved for later retrieval by the
-     *                getCause() method).
-     */
-    public RetryableException(String message, Throwable cause) {
-        super(message, cause);
-    }
-}
-
diff --git a/common/src/main/java/io/seata/common/exception/ShouldNeverHappenException.java b/common/src/main/java/io/seata/common/exception/ShouldNeverHappenException.java
deleted file mode 100644
index a170bdf5bc..0000000000
--- a/common/src/main/java/io/seata/common/exception/ShouldNeverHappenException.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-/**
- * The type Should never happen exception.
- *
- */
-public class ShouldNeverHappenException extends RuntimeException {
-
-    /**
-     * Instantiates a new Should never happen exception.
-     *
-     * @param message the message
-     */
-    public ShouldNeverHappenException(String message) {
-        super(message);
-    }
-
-    /**
-     * Instantiates a new Should never happen exception.
-     *
-     * @param message the message
-     * @param cause   the cause
-     */
-    public ShouldNeverHappenException(String message, Throwable cause) {
-        super(message, cause);
-    }
-
-    /**
-     * Instantiates a new Should never happen exception.
-     *
-     * @param cause the cause
-     */
-    public ShouldNeverHappenException(Throwable cause) {
-        super(cause);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/SkipCallbackWrapperException.java b/common/src/main/java/io/seata/common/exception/SkipCallbackWrapperException.java
deleted file mode 100644
index c2919dffd7..0000000000
--- a/common/src/main/java/io/seata/common/exception/SkipCallbackWrapperException.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-/**
- * Skip Callback Wrapper Exception.
- * This exception class will make the semantics clearer.
- *
- * @since above 1.4.2
- */
-public class SkipCallbackWrapperException extends RuntimeException {
-
-    public SkipCallbackWrapperException(Throwable cause) {
-        super(cause);
-    }
-
-    @Override
-    public synchronized Throwable fillInStackTrace() {
-        // do nothing
-        return null;
-    }
-}
diff --git a/common/src/main/java/io/seata/common/exception/StoreException.java b/common/src/main/java/io/seata/common/exception/StoreException.java
deleted file mode 100644
index b9cdc6a52a..0000000000
--- a/common/src/main/java/io/seata/common/exception/StoreException.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.exception;
-
-/**
- * the store exception
- *
- */
-public class StoreException extends FrameworkException {
-
-    /**
-     * Instantiates a new Store exception.
-     *
-     * @param err the err
-     */
-    public StoreException(FrameworkErrorCode err) {
-        super(err);
-    }
-
-    /**
-     * Instantiates a new Store exception.
-     *
-     * @param msg the msg
-     */
-    public StoreException(String msg) {
-        super(msg);
-    }
-
-    /**
-     * Instantiates a new Store exception.
-     *
-     * @param msg     the msg
-     * @param errCode the err code
-     */
-    public StoreException(String msg, FrameworkErrorCode errCode) {
-        super(msg, errCode);
-    }
-
-    /**
-     * Instantiates a new Store exception.
-     *
-     * @param cause   the cause
-     * @param msg     the msg
-     * @param errCode the err code
-     */
-    public StoreException(Throwable cause, String msg, FrameworkErrorCode errCode) {
-        super(cause, msg, errCode);
-    }
-
-    /**
-     * Instantiates a new Store exception.
-     *
-     * @param th the th
-     */
-    public StoreException(Throwable th) {
-        super(th);
-    }
-
-    /**
-     * Instantiates a new Store exception.
-     *
-     * @param th  the th
-     * @param msg the msg
-     */
-    public StoreException(Throwable th, String msg) {
-        super(th, msg);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/executor/Callback.java b/common/src/main/java/io/seata/common/executor/Callback.java
deleted file mode 100644
index 6ab3bfae48..0000000000
--- a/common/src/main/java/io/seata/common/executor/Callback.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.executor;
-
-/**
- * The interface Callback.
- *
- * @param <T> the type parameter
- *
- */
-public interface Callback<T> {
-
-    /**
-     * Execute t.
-     *
-     * @return the t
-     * @throws Throwable the throwable
-     */
-    T execute() throws Throwable;
-}
-
diff --git a/common/src/main/java/io/seata/common/executor/Initialize.java b/common/src/main/java/io/seata/common/executor/Initialize.java
deleted file mode 100644
index a6d6090997..0000000000
--- a/common/src/main/java/io/seata/common/executor/Initialize.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.executor;
-
-/**
- * The interface Initialize.
- *
- */
-public interface Initialize {
-
-    /**
-     * init method
-     */
-    void init();
-
-}
diff --git a/common/src/main/java/io/seata/common/holder/ObjectHolder.java b/common/src/main/java/io/seata/common/holder/ObjectHolder.java
deleted file mode 100644
index be3294a112..0000000000
--- a/common/src/main/java/io/seata/common/holder/ObjectHolder.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.holder;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-
-import io.seata.common.exception.ShouldNeverHappenException;
-
-/**
- * The enum object holder
- */
-public enum ObjectHolder {
-    /**
-     * singleton instance
-     */
-    INSTANCE;
-    private static final int MAP_SIZE = 8;
-    private static final Map<String, Object> OBJECT_MAP = new ConcurrentHashMap<>(MAP_SIZE);
-
-    public Object getObject(String objectKey) {
-        return OBJECT_MAP.get(objectKey);
-    }
-
-    public <T> T getObject(Class<T> clasz) {
-        return clasz.cast(OBJECT_MAP.values().stream().filter(clasz::isInstance).findAny().orElseThrow(() -> new ShouldNeverHappenException("Can't find any object of class " + clasz.getName())));
-    }
-
-    /**
-     * Sets object.
-     *
-     * @param objectKey the key
-     * @param object    the object
-     * @return the previous object with the key, or null
-     */
-    public Object setObject(String objectKey, Object object) {
-        return OBJECT_MAP.put(objectKey, object);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/io/FileLoader.java b/common/src/main/java/io/seata/common/io/FileLoader.java
deleted file mode 100644
index ed452d0e25..0000000000
--- a/common/src/main/java/io/seata/common/io/FileLoader.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.io;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.io.File;
-import java.io.UnsupportedEncodingException;
-import java.net.URL;
-import java.net.URLDecoder;
-import java.nio.charset.StandardCharsets;
-
-/**
- * file loader
- *
- */
-public class FileLoader {
-
-    private static final Logger LOGGER = LoggerFactory.getLogger(FileLoader.class);
-
-    public static File load(String name) {
-        try {
-            if (name == null) {
-                throw new IllegalArgumentException("name can't be null");
-            }
-            String decodedPath = URLDecoder.decode(name, StandardCharsets.UTF_8.name());
-
-            return getFileFromFileSystem(decodedPath);
-
-        } catch (UnsupportedEncodingException e) {
-            LOGGER.error("decode name error: {}", e.getMessage(), e);
-        }
-
-        return null;
-    }
-
-    private static File getFileFromFileSystem(String decodedPath) {
-
-        // run with jar file and not package third lib into jar file, this.getClass().getClassLoader() will be null
-        URL resourceUrl = FileLoader.class.getClassLoader().getResource("");
-        String[] tryPaths;
-        if (resourceUrl != null) {
-            tryPaths = new String[]{
-                // first: project dir
-                resourceUrl.getPath() + decodedPath,
-                // second: system path
-                decodedPath
-            };
-        } else {
-            tryPaths = new String[]{
-                decodedPath
-            };
-        }
-
-        for (String tryPath : tryPaths) {
-            File targetFile = new File(tryPath);
-            if (targetFile.exists()) {
-                return targetFile;
-            }
-        }
-
-        return null;
-    }
-
-}
diff --git a/common/src/main/java/io/seata/common/loader/EnhancedServiceLoader.java b/common/src/main/java/io/seata/common/loader/EnhancedServiceLoader.java
deleted file mode 100644
index 992f129da7..0000000000
--- a/common/src/main/java/io/seata/common/loader/EnhancedServiceLoader.java
+++ /dev/null
@@ -1,670 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.loader;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStreamReader;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.stream.Collectors;
-
-import io.seata.common.Constants;
-import io.seata.common.executor.Initialize;
-import io.seata.common.util.CollectionUtils;
-import io.seata.common.util.StringUtils;
-import org.apache.commons.lang.exception.ExceptionUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The type Enhanced service loader.
- *
- */
-public class EnhancedServiceLoader {
-
-    /**
-     * Class->InnerEnhancedServiceLoader map
-     */
-    private static final ConcurrentMap<Class<?>, InnerEnhancedServiceLoader<?>> SERVICE_LOADERS =
-            new ConcurrentHashMap<>();
-
-    /**
-     * Specify classLoader to load the service provider
-     *
-     * @param <S>     the type parameter
-     * @param service the service
-     * @param loader  the loader
-     * @return s s
-     * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-     */
-    public static <S> S load(Class<S> service, ClassLoader loader) throws EnhancedServiceNotFoundException {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).load(loader);
-    }
-
-    /**
-     * load service provider
-     *
-     * @param <S>     the type parameter
-     * @param service the service
-     * @return s s
-     * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-     */
-    public static <S> S load(Class<S> service) throws EnhancedServiceNotFoundException {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).load(findClassLoader());
-    }
-
-    /**
-     * load service provider
-     *
-     * @param <S>          the type parameter
-     * @param service      the service
-     * @param activateName the activate name
-     * @return s s
-     * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-     */
-    public static <S> S load(Class<S> service, String activateName) throws EnhancedServiceNotFoundException {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).load(activateName, findClassLoader());
-    }
-
-    /**
-     * Specify classLoader to load the service provider
-     *
-     * @param <S>          the type parameter
-     * @param service      the service
-     * @param activateName the activate name
-     * @param loader       the loader
-     * @return s s
-     * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-     */
-    public static <S> S load(Class<S> service, String activateName, ClassLoader loader)
-            throws EnhancedServiceNotFoundException {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).load(activateName, loader);
-    }
-
-    /**
-     * Load s.
-     *
-     * @param <S>          the type parameter
-     * @param service      the service
-     * @param activateName the activate name
-     * @param args         the args
-     * @return the s
-     * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-     */
-    public static <S> S load(Class<S> service, String activateName, Object[] args)
-            throws EnhancedServiceNotFoundException {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).load(activateName, args, findClassLoader());
-    }
-
-    /**
-     * Load s.
-     *
-     * @param <S>          the type parameter
-     * @param service      the service
-     * @param activateName the activate name
-     * @param argsType     the args type
-     * @param args         the args
-     * @return the s
-     * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-     */
-    public static <S> S load(Class<S> service, String activateName, Class<?>[] argsType, Object[] args)
-            throws EnhancedServiceNotFoundException {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).load(activateName, argsType, args, findClassLoader());
-    }
-
-    /**
-     * get all implements
-     *
-     * @param <S>     the type parameter
-     * @param service the service
-     * @return list list
-     */
-    public static <S> List<S> loadAll(Class<S> service) {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).loadAll(findClassLoader());
-    }
-
-    /**
-     * get all implements
-     *
-     * @param <S>      the type parameter
-     * @param service  the service
-     * @param argsType the args type
-     * @param args     the args
-     * @return list list
-     */
-    public static <S> List<S> loadAll(Class<S> service, Class<?>[] argsType, Object[] args) {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).loadAll(argsType, args, findClassLoader());
-    }
-
-    /**
-     * Unload all.
-     */
-    public static void unloadAll() {
-        InnerEnhancedServiceLoader.removeAllServiceLoader();
-    }
-
-    /**
-     * Unload.
-     *
-     * @param <S>     the type parameter
-     * @param service the service
-     */
-    public static <S> void unload(Class<S> service) {
-        InnerEnhancedServiceLoader.removeServiceLoader(service);
-    }
-
-    /**
-     * Unload.
-     *
-     * @param <S>          the type parameter
-     * @param service      the service
-     * @param activateName the activate name
-     */
-    public static <S> void unload(Class<S> service, String activateName) {
-
-        if (activateName == null) {
-            throw new IllegalArgumentException("activateName is null");
-        }
-        InnerEnhancedServiceLoader<S> serviceLoader = InnerEnhancedServiceLoader.getServiceLoader(service);
-        ConcurrentMap<Class<?>, ExtensionDefinition<S>> classToDefinitionMap = serviceLoader.classToDefinitionMap;
-        List<ExtensionDefinition<S>> extensionDefinitions = new ArrayList<>();
-        for (Map.Entry<Class<?>, ExtensionDefinition<S>> entry : classToDefinitionMap.entrySet()) {
-            String name = entry.getValue().getName();
-            if (null == name) {
-                continue;
-            }
-            if (name.equals(activateName)) {
-                extensionDefinitions.add(entry.getValue());
-                classToDefinitionMap.remove(entry.getKey());
-            }
-        }
-        serviceLoader.nameToDefinitionsMap.remove(activateName);
-        if (CollectionUtils.isNotEmpty(extensionDefinitions)) {
-            for (ExtensionDefinition<S> definition : extensionDefinitions) {
-                serviceLoader.definitionToInstanceMap.remove(definition);
-
-            }
-        }
-
-    }
-
-
-    /**
-     * Get all the extension classes, follow {@linkplain LoadLevel} defined and sort order
-     *
-     * @param <S>     the type parameter
-     * @param service the service
-     * @return all extension class
-     */
-    static <S> List<Class<S>> getAllExtensionClass(Class<S> service) {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).getAllExtensionClass(findClassLoader());
-    }
-
-    /**
-     * Get all the extension classes, follow {@linkplain LoadLevel} defined and sort order
-     *
-     * @param <S>     the type parameter
-     * @param service the service
-     * @param loader  the loader
-     * @return all extension class
-     */
-    static <S> List<Class<S>> getAllExtensionClass(Class<S> service, ClassLoader loader) {
-        return InnerEnhancedServiceLoader.getServiceLoader(service).getAllExtensionClass(loader);
-    }
-    /**
-     * Cannot use TCCL, in the pandora container will cause the class in the plugin not to be loaded
-     *
-     * @return
-     */
-    private static ClassLoader findClassLoader() {
-        return EnhancedServiceLoader.class.getClassLoader();
-    }
-
-
-    private static class InnerEnhancedServiceLoader<S> {
-        private static final Logger LOGGER = LoggerFactory.getLogger(InnerEnhancedServiceLoader.class);
-        private static final String SERVICES_DIRECTORY = "META-INF/services/";
-        private static final String SEATA_DIRECTORY = "META-INF/seata/";
-
-        private final Class<S> type;
-        private final Holder<List<ExtensionDefinition<S>>> definitionsHolder = new Holder<>();
-        private final ConcurrentMap<ExtensionDefinition<S>, Holder<Object>> definitionToInstanceMap =
-                new ConcurrentHashMap<>();
-        private final ConcurrentMap<String, List<ExtensionDefinition<S>>> nameToDefinitionsMap = new ConcurrentHashMap<>();
-        private final ConcurrentMap<Class<?>, ExtensionDefinition<S>> classToDefinitionMap = new ConcurrentHashMap<>();
-
-        private InnerEnhancedServiceLoader(Class<S> type) {
-            this.type = type;
-        }
-
-        /**
-         * Get the ServiceLoader for the specified Class
-         *
-         * @param type the type of the extension point
-         * @param <S>  the type
-         * @return the service loader
-         */
-        @SuppressWarnings("unchecked")
-        private static <S> InnerEnhancedServiceLoader<S> getServiceLoader(Class<S> type) {
-            if (type == null) {
-                throw new IllegalArgumentException("Enhanced Service type is null");
-            }
-            return (InnerEnhancedServiceLoader<S>)CollectionUtils.computeIfAbsent(SERVICE_LOADERS, type,
-                key -> new InnerEnhancedServiceLoader<>(type));
-        }
-
-        @SuppressWarnings("unchecked")
-        private static <S> InnerEnhancedServiceLoader<S> removeServiceLoader(Class<S> type) {
-            if (type == null) {
-                throw new IllegalArgumentException("Enhanced Service type is null");
-            }
-            return (InnerEnhancedServiceLoader<S>)SERVICE_LOADERS.remove(type);
-        }
-
-        private static void removeAllServiceLoader() {
-            SERVICE_LOADERS.clear();
-        }
-
-        /**
-         * Specify classLoader to load the service provider
-         *
-         * @param loader the loader
-         * @return s s
-         * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-         */
-        private S load(ClassLoader loader) throws EnhancedServiceNotFoundException {
-            return loadExtension(loader, null, null);
-        }
-
-        /**
-         * Specify classLoader to load the service provider
-         *
-         * @param activateName the activate name
-         * @param loader       the loader
-         * @return s s
-         * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-         */
-        private S load(String activateName, ClassLoader loader)
-                throws EnhancedServiceNotFoundException {
-            return loadExtension(activateName, loader, null, null);
-        }
-
-        /**
-         * Load s.
-         *
-         * @param activateName the activate name
-         * @param args         the args
-         * @param loader       the loader
-         * @return the s
-         * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-         */
-        private S load(String activateName, Object[] args, ClassLoader loader)
-                throws EnhancedServiceNotFoundException {
-            Class<?>[] argsType = null;
-            if (args != null && args.length > 0) {
-                argsType = new Class[args.length];
-                for (int i = 0; i < args.length; i++) {
-                    argsType[i] = args[i].getClass();
-                }
-            }
-            return loadExtension(activateName, loader, argsType, args);
-        }
-
-        /**
-         * Load s.
-         *
-         * @param activateName the activate name
-         * @param argsType     the args type
-         * @param args         the args
-         * @param loader  the class loader
-         * @return the s
-         * @throws EnhancedServiceNotFoundException the enhanced service not found exception
-         */
-        private S load(String activateName, Class<?>[] argsType, Object[] args, ClassLoader loader)
-                throws EnhancedServiceNotFoundException {
-            return loadExtension(activateName, loader, argsType, args);
-        }
-
-        /**
-         * get all implements
-         * @param loader  the class loader
-         *
-         * @return list list
-         */
-        private List<S> loadAll(ClassLoader loader) {
-            return loadAll(null, null, loader);
-        }
-
-        /**
-         * get all implements
-         *
-         * @param argsType the args type
-         * @param args     the args
-         * @return list list
-         */
-        private List<S> loadAll(Class<?>[] argsType, Object[] args, ClassLoader loader) {
-            List<S> allInstances = new ArrayList<>();
-            List<Class<S>> allClazzs = getAllExtensionClass(loader);
-            if (CollectionUtils.isEmpty(allClazzs)) {
-                return allInstances;
-            }
-            try {
-                for (Class<S> clazz : allClazzs) {
-                    ExtensionDefinition<S> definition = classToDefinitionMap.get(clazz);
-                    allInstances.add(getExtensionInstance(definition, loader, argsType, args));
-                }
-            } catch (Throwable t) {
-                throw new EnhancedServiceNotFoundException(t);
-            }
-            return allInstances;
-        }
-
-        /**
-         * Get all the extension classes, follow {@linkplain LoadLevel} defined and sort order
-         *
-         * @param loader the loader
-         * @return all extension class
-         */
-        private List<Class<S>> getAllExtensionClass(ClassLoader loader) {
-            return loadAllExtensionClass(loader);
-        }
-
-        private S loadExtension(ClassLoader loader, Class<?>[] argTypes, Object[] args) {
-            try {
-                loadAllExtensionClass(loader);
-                ExtensionDefinition<S> defaultExtensionDefinition = getDefaultExtensionDefinition();
-                return getExtensionInstance(defaultExtensionDefinition, loader, argTypes, args);
-            } catch (EnhancedServiceNotFoundException e) {
-                throw e;
-            } catch (Throwable e) {
-                throw new EnhancedServiceNotFoundException(
-                    "not found service provider for : " + type.getName()
-                        + " caused by " + ExceptionUtils.getFullStackTrace(e));
-            }
-        }
-
-        @SuppressWarnings("rawtypes")
-        private S loadExtension(String activateName, ClassLoader loader, Class[] argTypes,
-                                Object[] args) {
-            if (StringUtils.isEmpty(activateName)) {
-                throw new IllegalArgumentException("the name of service provider for [" + type.getName() + "] name is null");
-            }
-            try {
-                loadAllExtensionClass(loader);
-                ExtensionDefinition<S> cachedExtensionDefinition = getCachedExtensionDefinition(activateName);
-                return getExtensionInstance(cachedExtensionDefinition, loader, argTypes, args);
-            } catch (Throwable e) {
-                if (e instanceof EnhancedServiceNotFoundException) {
-                    throw (EnhancedServiceNotFoundException)e;
-                } else {
-                    throw new EnhancedServiceNotFoundException(
-                            "not found service provider for : " + type.getName() + " caused by " + ExceptionUtils
-                                    .getFullStackTrace(e));
-                }
-            }
-        }
-
-        private S getExtensionInstance(ExtensionDefinition<S> definition, ClassLoader loader, Class<?>[] argTypes,
-                                       Object[] args) {
-            if (definition == null) {
-                throw new EnhancedServiceNotFoundException("not found service provider for : " + type.getName());
-            }
-            if (Scope.SINGLETON.equals(definition.getScope())) {
-                Holder<Object> holder = CollectionUtils.computeIfAbsent(definitionToInstanceMap, definition,
-                    key -> new Holder<>());
-                Object instance = holder.get();
-                if (instance == null) {
-                    synchronized (holder) {
-                        instance = holder.get();
-                        if (instance == null) {
-                            instance = createNewExtension(definition, loader, argTypes, args);
-                            holder.set(instance);
-                        }
-                    }
-                }
-                return (S)instance;
-            } else {
-                return createNewExtension(definition, loader, argTypes, args);
-            }
-        }
-
-        private S createNewExtension(ExtensionDefinition<S> definition, ClassLoader loader, Class<?>[] argTypes, Object[] args) {
-            Class<S> clazz = definition.getServiceClass();
-            try {
-                return initInstance(clazz, argTypes, args);
-            } catch (Throwable t) {
-                throw new IllegalStateException("Extension instance(definition: " + definition + ", class: " +
-                        type + ")  could not be instantiated: " + t.getMessage(), t);
-            }
-        }
-
-        private List<Class<S>> loadAllExtensionClass(ClassLoader loader) {
-            List<ExtensionDefinition<S>> definitions = definitionsHolder.get();
-            if (definitions == null) {
-                synchronized (definitionsHolder) {
-                    definitions = definitionsHolder.get();
-                    if (definitions == null) {
-                        definitions = findAllExtensionDefinition(loader);
-                        definitionsHolder.set(definitions);
-                    }
-                }
-            }
-            return definitions.stream().map(ExtensionDefinition::getServiceClass).collect(Collectors.toList());
-        }
-
-        private List<ExtensionDefinition<S>> findAllExtensionDefinition(ClassLoader loader) {
-            List<ExtensionDefinition<S>> extensionDefinitions = new ArrayList<>();
-            try {
-                loadFile(SERVICES_DIRECTORY, loader, extensionDefinitions);
-                loadFile(SEATA_DIRECTORY, loader, extensionDefinitions);
-            } catch (IOException e) {
-                throw new EnhancedServiceNotFoundException(e);
-            }
-
-            //After loaded all the extensions,sort the caches by order
-            if (!nameToDefinitionsMap.isEmpty()) {
-                for (List<ExtensionDefinition<S>> definitions : nameToDefinitionsMap.values()) {
-                    definitions.sort((def1, def2) -> {
-                        int o1 = def1.getOrder();
-                        int o2 = def2.getOrder();
-                        return Integer.compare(o1, o2);
-                    });
-                }
-            }
-
-            if (!extensionDefinitions.isEmpty()) {
-                extensionDefinitions.sort((def1, def2) -> {
-                    int o1 = def1.getOrder();
-                    int o2 = def2.getOrder();
-                    return Integer.compare(o1, o2);
-                });
-            }
-
-            return extensionDefinitions;
-        }
-
-
-        private void loadFile(String dir, ClassLoader loader, List<ExtensionDefinition<S>> extensions)
-                throws IOException {
-            String fileName = dir + type.getName();
-            Enumeration<java.net.URL> urls;
-            if (loader != null) {
-                urls = loader.getResources(fileName);
-            } else {
-                urls = ClassLoader.getSystemResources(fileName);
-            }
-            if (urls != null) {
-                boolean hasServiceFile = false;
-                boolean hasClasses = false;
-                while (urls.hasMoreElements()) {
-                    hasServiceFile = true;
-                    java.net.URL url = urls.nextElement();
-                    try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), Constants.DEFAULT_CHARSET))) {
-                        String line;
-                        while ((line = reader.readLine()) != null) {
-                            final int ci = line.indexOf('#');
-                            if (ci >= 0) {
-                                line = line.substring(0, ci);
-                            }
-                            line = line.trim();
-                            if (line.length() > 0) {
-                                hasClasses = true;
-                                try {
-                                    ExtensionDefinition<S> extensionDefinition = getUnloadedExtensionDefinition(line, loader);
-                                    if (extensionDefinition == null) {
-                                        if (LOGGER.isDebugEnabled()) {
-                                            LOGGER.debug("The same extension {} has already been loaded, skipped", line);
-                                        }
-                                        continue;
-                                    }
-                                    extensions.add(extensionDefinition);
-                                } catch (LinkageError | ClassNotFoundException e) {
-                                    LOGGER.warn("Load [{}] class fail: {}", line, e.getMessage());
-                                } catch (ClassCastException e) {
-                                    LOGGER.error("Load [{}] class fail, please make sure the extension" +
-                                            " config in {} implements {}.", line, fileName, type.getName());
-                                }
-                            }
-                        }
-                    } catch (Throwable e) {
-                        LOGGER.warn("load class instance error:", e);
-                    }
-                }
-
-                if (LOGGER.isDebugEnabled()) {
-                    if (!hasServiceFile) {
-                        LOGGER.warn("Load [{}] class fail: no service files found in '{}'.", type.getName(), dir);
-                    } else if (!hasClasses) {
-                        LOGGER.warn("Load [{}] class fail: the service files in '{}' is all empty.", type.getName(), dir);
-                    }
-                }
-            } else {
-                if (LOGGER.isDebugEnabled()) {
-                    LOGGER.warn("Load [{}] class fail: no urls found in '{}'.", type.getName(), dir);
-                }
-            }
-        }
-
-        @SuppressWarnings("unchecked")
-        private ExtensionDefinition<S> getUnloadedExtensionDefinition(String className, ClassLoader loader)
-                throws ClassNotFoundException, ClassCastException {
-            //Check whether the definition has been loaded
-            if (!isDefinitionContainsClazz(className, loader)) {
-                Class<?> clazz = Class.forName(className, true, loader);
-                if (!type.isAssignableFrom(clazz)) {
-                    LOGGER.error("can't cast {} to {}", clazz.getName(), type.getName());
-                    throw new ClassCastException();
-                }
-                Class<S> enhancedServiceClass = (Class<S>) clazz;
-                String serviceName = null;
-                int priority = 0;
-                Scope scope = Scope.SINGLETON;
-                LoadLevel loadLevel = clazz.getAnnotation(LoadLevel.class);
-                if (loadLevel != null) {
-                    serviceName = loadLevel.name();
-                    priority = loadLevel.order();
-                    scope = loadLevel.scope();
-                }
-                ExtensionDefinition<S> result = new ExtensionDefinition<>(serviceName, priority, scope, enhancedServiceClass);
-                classToDefinitionMap.put(clazz, result);
-                if (serviceName != null) {
-                    CollectionUtils.computeIfAbsent(nameToDefinitionsMap, serviceName, e -> new ArrayList<>())
-                            .add(result);
-                }
-                return result;
-            }
-            return null;
-        }
-
-        private boolean isDefinitionContainsClazz(String className, ClassLoader loader) {
-            for (Map.Entry<Class<?>, ExtensionDefinition<S>> entry : classToDefinitionMap.entrySet()) {
-                if (!entry.getKey().getName().equals(className)) {
-                    continue;
-                }
-                if (Objects.equals(entry.getValue().getServiceClass().getClassLoader(), loader)) {
-                    return true;
-                }
-            }
-            return false;
-        }
-
-        private ExtensionDefinition<S> getDefaultExtensionDefinition() {
-            List<ExtensionDefinition<S>> currentDefinitions = definitionsHolder.get();
-            return CollectionUtils.getLast(currentDefinitions);
-        }
-
-        private ExtensionDefinition<S> getCachedExtensionDefinition(String activateName) {
-            List<ExtensionDefinition<S>> definitions = nameToDefinitionsMap.get(activateName);
-            return CollectionUtils.getLast(definitions);
-        }
-
-        /**
-         * init instance
-         *
-         * @param implClazz the impl clazz
-         * @param argTypes  the arg types
-         * @param args      the args
-         * @return s s
-         * @throws IllegalAccessException    the illegal access exception
-         * @throws InstantiationException    the instantiation exception
-         * @throws NoSuchMethodException     the no such method exception
-         * @throws InvocationTargetException the invocation target exception
-         */
-        private S initInstance(Class<S> implClazz, Class<?>[] argTypes, Object[] args)
-                throws IllegalAccessException, InstantiationException, NoSuchMethodException, InvocationTargetException {
-            S s = null;
-            if (argTypes != null && args != null) {
-                // Constructor with arguments
-                Constructor<S> constructor = implClazz.getDeclaredConstructor(argTypes);
-                s = type.cast(constructor.newInstance(args));
-            } else {
-                // default Constructor
-                s = type.cast(implClazz.newInstance());
-            }
-            if (s instanceof Initialize) {
-                ((Initialize)s).init();
-            }
-            return s;
-        }
-
-        /**
-         * Helper Class for hold a value.
-         * @param <T>
-         */
-        private static class Holder<T> {
-            private volatile T value;
-
-            private void set(T value) {
-                this.value = value;
-            }
-
-            private T get() {
-                return value;
-            }
-        }
-    }
-
-
-}
diff --git a/common/src/main/java/io/seata/common/loader/EnhancedServiceNotFoundException.java b/common/src/main/java/io/seata/common/loader/EnhancedServiceNotFoundException.java
deleted file mode 100644
index 83e7a6e835..0000000000
--- a/common/src/main/java/io/seata/common/loader/EnhancedServiceNotFoundException.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.loader;
-
-import org.apache.commons.lang.exception.NestableRuntimeException;
-
-/**
- * The type Enhanced service not found exception.
- *
- */
-public class EnhancedServiceNotFoundException extends NestableRuntimeException {
-    private static final long serialVersionUID = 7748438218914409019L;
-
-    /**
-     * Instantiates a new Enhanced service not found exception.
-     *
-     * @param errorCode the error code
-     */
-    public EnhancedServiceNotFoundException(String errorCode) {
-        super(errorCode);
-    }
-
-    /**
-     * Instantiates a new Enhanced service not found exception.
-     *
-     * @param errorCode the error code
-     * @param cause     the cause
-     */
-    public EnhancedServiceNotFoundException(String errorCode, Throwable cause) {
-        super(errorCode, cause);
-    }
-
-    /**
-     * Instantiates a new Enhanced service not found exception.
-     *
-     * @param errorCode the error code
-     * @param errorDesc the error desc
-     */
-    public EnhancedServiceNotFoundException(String errorCode, String errorDesc) {
-        super(errorCode + ":" + errorDesc);
-    }
-
-    /**
-     * Instantiates a new Enhanced service not found exception.
-     *
-     * @param errorCode the error code
-     * @param errorDesc the error desc
-     * @param cause     the cause
-     */
-    public EnhancedServiceNotFoundException(String errorCode, String errorDesc, Throwable cause) {
-        super(errorCode + ":" + errorDesc, cause);
-    }
-
-    /**
-     * Instantiates a new Enhanced service not found exception.
-     *
-     * @param cause the cause
-     */
-    public EnhancedServiceNotFoundException(Throwable cause) {
-        super(cause);
-    }
-
-    @Override
-    public synchronized Throwable fillInStackTrace() {
-        return this;
-    }
-}
diff --git a/common/src/main/java/io/seata/common/loader/ExtensionDefinition.java b/common/src/main/java/io/seata/common/loader/ExtensionDefinition.java
deleted file mode 100644
index 65a96548e2..0000000000
--- a/common/src/main/java/io/seata/common/loader/ExtensionDefinition.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.loader;
-
-import io.seata.common.util.StringUtils;
-
-/**
- * The type ExtensionDefinition
- *
- * @param <S> type of serviceClass
- */
-final class ExtensionDefinition<S> {
-
-    private final String name;
-    private final Class<S> serviceClass;
-    private final Integer order;
-    private final Scope scope;
-
-    public Integer getOrder() {
-        return this.order;
-    }
-
-    public Class<S> getServiceClass() {
-        return this.serviceClass;
-    }
-
-    public Scope getScope() {
-        return this.scope;
-    }
-
-    public ExtensionDefinition(String name, Integer order, Scope scope, Class<S> clazz) {
-        this.name = name;
-        this.order = order;
-        this.scope = scope;
-        this.serviceClass = clazz;
-    }
-
-    @Override
-    public int hashCode() {
-        final int prime = 31;
-        int result = 1;
-        result = prime * result + ((name == null) ? 0 : name.hashCode());
-        result = prime * result + ((serviceClass == null) ? 0 : serviceClass.hashCode());
-        result = prime * result + ((order == null) ? 0 : order.hashCode());
-        result = prime * result + ((scope == null) ? 0 : scope.hashCode());
-        return result;
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (obj == null) {
-            return false;
-        }
-        if (getClass() != obj.getClass()) {
-            return false;
-        }
-
-        ExtensionDefinition<?> other = (ExtensionDefinition<?>) obj;
-        if (!StringUtils.equals(name, other.name)) {
-            return false;
-        }
-        if (!serviceClass.equals(other.serviceClass)) {
-            return false;
-        }
-        if (!order.equals(other.order)) {
-            return false;
-        }
-        return scope.equals(other.scope);
-    }
-
-    public String getName() {
-        return name;
-    }
-}
diff --git a/common/src/main/java/io/seata/common/loader/LoadLevel.java b/common/src/main/java/io/seata/common/loader/LoadLevel.java
deleted file mode 100644
index 1e500ba901..0000000000
--- a/common/src/main/java/io/seata/common/loader/LoadLevel.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.loader;
-
-import java.lang.annotation.Documented;
-import java.lang.annotation.ElementType;
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.lang.annotation.Target;
-
-/**
- * The interface Load level.
- *
- */
-@Documented
-@Retention(RetentionPolicy.RUNTIME)
-@Target({ElementType.TYPE, ElementType.METHOD})
-public @interface LoadLevel {
-    /**
-     * Name string.
-     *
-     * @return the string
-     */
-    String name();
-
-    /**
-     * Order int.
-     *
-     * @return the int
-     */
-    int order() default 0;
-
-    /**
-     * Scope enum.
-     */
-    Scope scope() default Scope.SINGLETON;
-}
diff --git a/common/src/main/java/io/seata/common/loader/Scope.java b/common/src/main/java/io/seata/common/loader/Scope.java
deleted file mode 100644
index ae1e310915..0000000000
--- a/common/src/main/java/io/seata/common/loader/Scope.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.loader;
-
-/**
- * the scope of the extension
- *
- */
-public enum Scope {
-    /**
-     * The extension will be loaded in singleton mode
-     */
-    SINGLETON,
-
-    /**
-     * The extension will be loaded in multi instance mode
-     */
-    PROTOTYPE
-
-}
diff --git a/common/src/main/java/io/seata/common/metadata/ClusterRole.java b/common/src/main/java/io/seata/common/metadata/ClusterRole.java
deleted file mode 100644
index c7266353e7..0000000000
--- a/common/src/main/java/io/seata/common/metadata/ClusterRole.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.metadata;
-
-/**
- */
-public enum ClusterRole {
-
-    /**
-     * raft mode leader
-     */
-    LEADER(0),
-    /**
-     * raft mode follower
-     */
-    FOLLOWER(1),
-    /**
-     * raft mode learner
-     */
-    LEARNER(2),
-    /**
-     * cluster mode member
-     */
-    MEMBER(3);
-    
-    private int roleCode;
-
-    ClusterRole(int roleCode) {
-        this.roleCode = roleCode;
-    }
-
-    public int getRoleCode() {
-        return roleCode;
-    }
-
-    public void setRoleCode(int roleCode) {
-        this.roleCode = roleCode;
-    }
-
-}
diff --git a/common/src/main/java/io/seata/common/metadata/Metadata.java b/common/src/main/java/io/seata/common/metadata/Metadata.java
deleted file mode 100644
index f4c0c83f8c..0000000000
--- a/common/src/main/java/io/seata/common/metadata/Metadata.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.metadata;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ThreadLocalRandom;
-
-import io.seata.common.store.StoreMode;
-import io.seata.common.util.StringUtils;
-
-/**
- */
-public class Metadata {
-
-    private final Map<String/*vgroup*/, Map<String/*raft-group*/, Node>> leaders = new ConcurrentHashMap<>();
-
-    private final Map<String/*vgroup*/, Map<String/*raft-group*/, Long/*term*/>> clusterTerm = new ConcurrentHashMap<>();
-
-    private final Map<String/*vgroup*/, Map<String/*raft-group*/, List<Node>>> clusterNodes =
-        new ConcurrentHashMap<>();
-
-    private StoreMode storeMode = StoreMode.FILE;
-
-    public Node getLeader(String clusterName) {
-        Map<String/*raft-group*/, Node> map = leaders.computeIfAbsent(clusterName, k -> new ConcurrentHashMap<>());
-        List<Node> nodes = new ArrayList<>(map.values());
-        return nodes.size() > 0 ? nodes.get(ThreadLocalRandom.current().nextInt(nodes.size())) : null;
-    }
-
-    public void setLeaderNode(String clusterName, Node node) {
-        String group = node.getGroup();
-        Map<String/*raft-group*/, Node> map = leaders.computeIfAbsent(clusterName, k -> new ConcurrentHashMap<>());
-        map.put(group, node);
-        this.leaders.put(clusterName, map);
-    }
-
-    public List<Node> getNodes(String clusterName, String group) {
-        return clusterNodes.computeIfAbsent(clusterName, k -> new ConcurrentHashMap<>()).get(group);
-    }
-
-    public List<Node> getNodes(String clusterName) {
-        return clusterNodes.computeIfAbsent(clusterName, k -> new ConcurrentHashMap<>()).values().stream()
-            .flatMap(List::stream).collect(ArrayList::new, ArrayList::add, ArrayList::addAll);
-    }
-
-    public void setNodes(String clusterName, String group, List<Node> nodes) {
-        this.clusterNodes.computeIfAbsent(clusterName, k -> new ConcurrentHashMap<>()).put(group, nodes);
-    }
-
-    public boolean containsGroup(String group) {
-        return clusterNodes.containsKey(group);
-    }
-
-    public Set<String> groups(String clusterName) {
-        return clusterNodes.computeIfAbsent(clusterName, k -> new ConcurrentHashMap<>()).keySet();
-    }
-
-    public StoreMode getStoreMode() {
-        return storeMode;
-    }
-
-    public boolean isRaftMode() {
-        return Objects.equals(storeMode, StoreMode.RAFT);
-    }
-
-    public void setStoreMode(StoreMode storeMode) {
-        this.storeMode = storeMode;
-    }
-
-    public Map<String, Long> getClusterTerm(String clusterName) {
-        return clusterTerm.computeIfAbsent(clusterName, k -> new ConcurrentHashMap<>());
-    }
-
-    public void refreshMetadata(String clusterName, MetadataResponse metadataResponse) {
-        List<Node> list = new ArrayList<>();
-        for (Node node : metadataResponse.getNodes()) {
-            if (node.getRole() == ClusterRole.LEADER) {
-                this.setLeaderNode(clusterName, node);
-            }
-            list.add(node);
-        }
-        this.storeMode = StoreMode.get(metadataResponse.getStoreMode());
-        if (!list.isEmpty()) {
-            String group = list.get(0).getGroup();
-            this.setNodes(clusterName, group, list);
-            this.clusterTerm.computeIfAbsent(clusterName, k -> new ConcurrentHashMap<>()).put(group,
-                metadataResponse.getTerm());
-        }
-    }
-
-    @Override
-    public String toString() {
-        return StringUtils.toString(this);
-    }
-
-}
diff --git a/common/src/main/java/io/seata/common/metadata/MetadataResponse.java b/common/src/main/java/io/seata/common/metadata/MetadataResponse.java
deleted file mode 100644
index 157db0660a..0000000000
--- a/common/src/main/java/io/seata/common/metadata/MetadataResponse.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.metadata;
-
-import java.util.List;
-
-/**
- */
-public class MetadataResponse {
-
-    List<Node> nodes;
-
-    String storeMode;
-
-    long term;
-
-    public List<Node> getNodes() {
-        return nodes;
-    }
-
-    public void setNodes(List<Node> nodes) {
-        this.nodes = nodes;
-    }
-
-    public String getStoreMode() {
-        return storeMode;
-    }
-
-    public void setStoreMode(String storeMode) {
-        this.storeMode = storeMode;
-    }
-
-    public long getTerm() {
-        return term;
-    }
-
-    public void setTerm(long term) {
-        this.term = term;
-    }
-    
-}
diff --git a/common/src/main/java/io/seata/common/metadata/Node.java b/common/src/main/java/io/seata/common/metadata/Node.java
deleted file mode 100644
index e7126bd861..0000000000
--- a/common/src/main/java/io/seata/common/metadata/Node.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.metadata;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- */
-public class Node {
-
-    Map<String, Object> metadata = new HashMap<>();
-    private Endpoint control;
-    private Endpoint transaction;
-
-    private String group;
-    private ClusterRole role = ClusterRole.MEMBER;
-
-    public Node() {}
-
-    public Endpoint createEndpoint(String host, int port, String protocol) {
-        return new Endpoint(host, port);
-    }
-
-    public String getGroup() {
-        return group;
-    }
-
-    public void setGroup(String group) {
-        this.group = group;
-    }
-
-    public ClusterRole getRole() {
-        return role;
-    }
-
-    public void setRole(ClusterRole role) {
-        this.role = role;
-    }
-
-    public Map<String, Object> getMetadata() {
-        return metadata;
-    }
-
-    public void setMetadata(Map<String, Object> metadata) {
-        this.metadata = metadata;
-    }
-
-    public Endpoint getControl() {
-        return control;
-    }
-
-    public void setControl(Endpoint control) {
-        this.control = control;
-    }
-
-    public Endpoint getTransaction() {
-        return transaction;
-    }
-
-    public void setTransaction(Endpoint transaction) {
-        this.transaction = transaction;
-    }
-
-    public static class Endpoint {
-
-        private String host;
-        private String protocol;
-        private int port;
-
-        public Endpoint() {}
-
-        public Endpoint(String host, int port) {
-            this.host = host;
-            this.port = port;
-        }
-
-        public String getHost() {
-            return host;
-        }
-
-        public void setHost(String host) {
-            this.host = host;
-        }
-
-        public int getPort() {
-            return port;
-        }
-
-        public void setPort(int port) {
-            this.port = port;
-        }
-
-        public String createAddress() {
-            return host + ":" + port;
-        }
-
-        @Override
-        public String toString() {
-            return "Endpoint{" + "host='" + host + '\'' + ", port=" + port + '}';
-        }
-    }
-
-}
diff --git a/common/src/main/java/io/seata/common/rpc/RpcStatus.java b/common/src/main/java/io/seata/common/rpc/RpcStatus.java
deleted file mode 100644
index fc311ff31c..0000000000
--- a/common/src/main/java/io/seata/common/rpc/RpcStatus.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.rpc;
-
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ConcurrentMap;
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.concurrent.atomic.LongAdder;
-
-/**
- * The state statistics.
- *
- */
-public class RpcStatus {
-
-    private static final ConcurrentMap<String, RpcStatus> SERVICE_STATUS_MAP = new ConcurrentHashMap<>();
-    private final AtomicLong active = new AtomicLong();
-    private final LongAdder total = new LongAdder();
-
-    private RpcStatus() {
-    }
-
-    /**
-     * get the RpcStatus of this service
-     *
-     * @param service the service
-     * @return RpcStatus
-     */
-    public static RpcStatus getStatus(String service) {
-        return SERVICE_STATUS_MAP.computeIfAbsent(service, key -> new RpcStatus());
-    }
-
-    /**
-     * remove the RpcStatus of this service
-     *
-     * @param service the service
-     */
-    public static void removeStatus(String service) {
-        SERVICE_STATUS_MAP.remove(service);
-    }
-
-    /**
-     * begin count
-     *
-     * @param service the service
-     */
-    public static void beginCount(String service) {
-        getStatus(service).active.incrementAndGet();
-    }
-
-    /**
-     * end count
-     *
-     * @param service the service
-     */
-    public static void endCount(String service) {
-        RpcStatus rpcStatus = getStatus(service);
-        rpcStatus.active.decrementAndGet();
-        rpcStatus.total.increment();
-    }
-
-    /**
-     * get active.
-     *
-     * @return active
-     */
-    public long getActive() {
-        return active.get();
-    }
-
-    /**
-     * get total.
-     *
-     * @return total
-     */
-    public long getTotal() {
-        return total.longValue();
-    }
-}
diff --git a/common/src/main/java/io/seata/common/store/StoreMode.java b/common/src/main/java/io/seata/common/store/StoreMode.java
deleted file mode 100644
index f6d7166398..0000000000
--- a/common/src/main/java/io/seata/common/store/StoreMode.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.store;
-
-/**
- * transaction log store mode
- *
- */
-public enum StoreMode {
-
-    /**
-     * file store
-     */
-    FILE("file"),
-
-    /**
-     * database store
-     */
-    DB("db"),
-
-    /**
-     * redis store
-     */
-    REDIS("redis"),
-
-    /**
-     * raft store
-     */
-    RAFT("raft");
-
-    private String name;
-
-    StoreMode(String name) {
-        this.name = name;
-    }
-
-    /**
-     * get value of store mode
-     * 
-     * @param name the mode name
-     * @return the store mode
-     */
-    public static StoreMode get(String name) {
-        for (StoreMode sm : StoreMode.class.getEnumConstants()) {
-            if (sm.name.equalsIgnoreCase(name)) {
-                return sm;
-            }
-        }
-        throw new IllegalArgumentException("unknown store mode:" + name);
-    }
-
-    /**
-     * whether contains value of store mode
-     * 
-     * @param name the mode name
-     * @return the boolean
-     */
-    public static boolean contains(String name) {
-        try {
-            return get(name) != null ? true : false;
-        } catch (IllegalArgumentException e) {
-            return false;
-        }
-    }
-
-    public String getName() {
-        return name;
-    }
-
-}
diff --git a/common/src/main/java/io/seata/common/thread/NamedThreadFactory.java b/common/src/main/java/io/seata/common/thread/NamedThreadFactory.java
deleted file mode 100644
index 3698a29733..0000000000
--- a/common/src/main/java/io/seata/common/thread/NamedThreadFactory.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.thread;
-
-import java.util.Map;
-import java.util.concurrent.ConcurrentHashMap;
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.atomic.AtomicInteger;
-
-import io.netty.util.concurrent.FastThreadLocalThread;
-import io.seata.common.util.CollectionUtils;
-
-/**
- * The type Named thread factory.
- *
- */
-public class NamedThreadFactory implements ThreadFactory {
-    private final static Map<String, AtomicInteger> PREFIX_COUNTER = new ConcurrentHashMap<>();
-    private final ThreadGroup group;
-    private final AtomicInteger counter = new AtomicInteger(0);
-    private final String prefix;
-    private final int totalSize;
-    private final boolean makeDaemons;
-
-    /**
-     * Instantiates a new Named thread factory.
-     *
-     * @param prefix      the prefix
-     * @param totalSize   the total size
-     * @param makeDaemons the make daemons
-     */
-    public NamedThreadFactory(String prefix, int totalSize, boolean makeDaemons) {
-        int prefixCounter = CollectionUtils.computeIfAbsent(PREFIX_COUNTER, prefix, key -> new AtomicInteger(0))
-                .incrementAndGet();
-        SecurityManager securityManager = System.getSecurityManager();
-        group = (securityManager != null) ? securityManager.getThreadGroup() : Thread.currentThread().getThreadGroup();
-        this.prefix = prefix + "_" + prefixCounter;
-        this.makeDaemons = makeDaemons;
-        this.totalSize = totalSize;
-    }
-
-    /**
-     * Instantiates a new Named thread factory.
-     *
-     * @param prefix      the prefix
-     * @param makeDaemons the make daemons
-     */
-    public NamedThreadFactory(String prefix, boolean makeDaemons) {
-        this(prefix, 0, makeDaemons);
-    }
-
-    /**
-     * Instantiates a new Named thread factory.
-     *
-     * @param prefix    the prefix
-     * @param totalSize the total size
-     */
-    public NamedThreadFactory(String prefix, int totalSize) {
-        this(prefix, totalSize, true);
-    }
-
-    @Override
-    public Thread newThread(Runnable r) {
-        String name = prefix + "_" + counter.incrementAndGet();
-        if (totalSize > 1) {
-            name += "_" + totalSize;
-        }
-        Thread thread = new FastThreadLocalThread(group, r, name);
-
-        thread.setDaemon(makeDaemons);
-        if (thread.getPriority() != Thread.NORM_PRIORITY) {
-            thread.setPriority(Thread.NORM_PRIORITY);
-        }
-        return thread;
-    }
-}
diff --git a/common/src/main/java/io/seata/common/thread/PositiveAtomicCounter.java b/common/src/main/java/io/seata/common/thread/PositiveAtomicCounter.java
deleted file mode 100644
index 27bf52f43d..0000000000
--- a/common/src/main/java/io/seata/common/thread/PositiveAtomicCounter.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.thread;
-
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * positive atomic counter, begin with 0, ensure the number is positive.
- *
- */
-public class PositiveAtomicCounter {
-    private static final int MASK = 0x7FFFFFFF;
-    private final AtomicInteger atom;
-
-    public PositiveAtomicCounter() {
-        atom = new AtomicInteger(0);
-    }
-
-    public final int incrementAndGet() {
-        return atom.incrementAndGet() & MASK;
-    }
-
-    public final int getAndIncrement() {
-        return atom.getAndIncrement() & MASK;
-    }
-
-    public int get() {
-        return atom.get() & MASK;
-    }
-
-}
diff --git a/common/src/main/java/io/seata/common/thread/RejectedPolicies.java b/common/src/main/java/io/seata/common/thread/RejectedPolicies.java
deleted file mode 100644
index 17d290aa39..0000000000
--- a/common/src/main/java/io/seata/common/thread/RejectedPolicies.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.thread;
-
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.RejectedExecutionHandler;
-
-/**
- * Policies for RejectedExecutionHandler
- *
- */
-public final class RejectedPolicies {
-
-    /**
-     * when rejected happened ,add the new task and run the oldest task
-     *
-     * @return rejected execution handler
-     */
-    public static RejectedExecutionHandler runsOldestTaskPolicy() {
-        return (r, executor) -> {
-            if (executor.isShutdown()) {
-                return;
-            }
-            BlockingQueue<Runnable> workQueue = executor.getQueue();
-            Runnable firstWork = workQueue.poll();
-            boolean newTaskAdd = workQueue.offer(r);
-            if (firstWork != null) {
-                firstWork.run();
-            }
-            if (!newTaskAdd) {
-                executor.execute(r);
-            }
-        };
-    }
-}
diff --git a/common/src/main/java/io/seata/common/util/ArrayUtils.java b/common/src/main/java/io/seata/common/util/ArrayUtils.java
deleted file mode 100644
index 5759099ff3..0000000000
--- a/common/src/main/java/io/seata/common/util/ArrayUtils.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.lang.reflect.Array;
-
-/**
- * The type Array utils.
- *
- */
-public class ArrayUtils {
-
-    private ArrayUtils() {
-    }
-
-    /**
-     * arrayObj cast to Object[]
-     *
-     * @param arrayObj the array obj
-     * @return array
-     */
-    public static Object[] toArray(Object arrayObj) {
-        if (arrayObj == null) {
-            return null;
-        }
-
-        if (!arrayObj.getClass().isArray()) {
-            throw new ClassCastException("'arrayObj' is not an array, can't cast to Object[]");
-        }
-
-        int length = Array.getLength(arrayObj);
-        Object[] array = new Object[length];
-        if (length > 0) {
-            for (int i = 0; i < length; ++i) {
-                array[i] = Array.get(arrayObj, i);
-            }
-        }
-        return array;
-    }
-
-    /**
-     * Array To String.
-     *
-     * @param array the array
-     * @return str the string
-     */
-    public static String toString(final Object[] array) {
-        if (array == null) {
-            return "null";
-        }
-        if (array.length == 0) {
-            return "[]";
-        }
-
-        return CycleDependencyHandler.wrap(array, o -> {
-            StringBuilder sb = new StringBuilder(32);
-            sb.append("[");
-            for (Object obj : array) {
-                if (sb.length() > 1) {
-                    sb.append(", ");
-                }
-                if (obj == array) {
-                    sb.append("(this ").append(obj.getClass().getSimpleName()).append(")");
-                } else {
-                    sb.append(StringUtils.toString(obj));
-                }
-            }
-            sb.append("]");
-            return sb.toString();
-        });
-    }
-
-    /**
-     * Array To String.
-     *
-     * @param arrayObj the array obj
-     * @return str the string
-     */
-    public static String toString(final Object arrayObj) {
-        if (arrayObj == null) {
-            return "null";
-        }
-        if (!arrayObj.getClass().isArray()) {
-            return StringUtils.toString(arrayObj);
-        }
-
-        if (Array.getLength(arrayObj) == 0) {
-            return "[]";
-        }
-
-        if (arrayObj.getClass().getComponentType().isPrimitive()) {
-            return toString(toArray(arrayObj));
-        } else {
-            return toString((Object[])arrayObj);
-        }
-    }
-}
diff --git a/common/src/main/java/io/seata/common/util/BeanUtils.java b/common/src/main/java/io/seata/common/util/BeanUtils.java
deleted file mode 100644
index 1bacac9389..0000000000
--- a/common/src/main/java/io/seata/common/util/BeanUtils.java
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-
-import io.seata.common.exception.NotSupportYetException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * The bean utils
- *
- */
-public class BeanUtils {
-
-    protected static final Logger LOGGER = LoggerFactory.getLogger(BeanUtils.class);
-
-    public static String beanToString(Object o) {
-        if (o == null) {
-            return null;
-        }
-
-        Field[] fields = o.getClass().getDeclaredFields();
-        StringBuilder buffer = new StringBuilder();
-        buffer.append("[");
-        for (Field field : fields) {
-            Object val = null;
-            try {
-                val = ReflectionUtil.getFieldValue(o, field);
-            } catch (RuntimeException e) {
-                LOGGER.warn("get field value failed", e);
-            }
-            if (val != null) {
-                buffer.append(field.getName()).append("=").append(val).append(", ");
-            }
-        }
-        if (buffer.length() > 2) {
-            buffer.delete(buffer.length() - 2, buffer.length());
-        }
-        buffer.append("]");
-        return buffer.toString();
-    }
-
-    /**
-     * map to object
-     *
-     * @param map the map
-     * @param clazz the Object class
-     * @return the object
-     */
-    public static Object mapToObject(Map<String, String> map, Class<?> clazz) {
-        if (CollectionUtils.isEmpty(map)) {
-            return null;
-        }
-        try {
-            Object instance = clazz.newInstance();
-            Field[] fields = instance.getClass().getDeclaredFields();
-            for (Field field : fields) {
-                int modifiers = field.getModifiers();
-                if (Modifier.isStatic(modifiers) || Modifier.isFinal(modifiers)) {
-                    continue;
-                }
-                boolean accessible = field.isAccessible();
-                field.setAccessible(true);
-                Class<?> type = field.getType();
-                if (type == Date.class) {
-                    if (!StringUtils.isEmpty(map.get(field.getName()))) {
-                        field.set(instance, new Date(Long.valueOf(map.get(field.getName()))));
-                    }
-                } else if (type == Long.class) {
-                    if (!StringUtils.isEmpty(map.get(field.getName()))) {
-                        field.set(instance, Long.valueOf(map.get(field.getName())));
-                    }
-                } else if (type == Integer.class) {
-                    if (!StringUtils.isEmpty(map.get(field.getName()))) {
-                        field.set(instance, Integer.valueOf(map.get(field.getName())));
-                    }
-                } else if (type == Double.class) {
-                    if (!StringUtils.isEmpty(map.get(field.getName()))) {
-                        field.set(instance, Double.valueOf(map.get(field.getName())));
-                    }
-                } else if (type == String.class) {
-                    if (!StringUtils.isEmpty(map.get(field.getName()))) {
-                        field.set(instance, map.get(field.getName()));
-                    }
-                }
-                field.setAccessible(accessible);
-            }
-            return instance;
-        } catch (IllegalAccessException e) {
-            throw new NotSupportYetException(
-                    "map to " + clazz.toString() + " failed:" + e.getMessage(), e);
-        } catch (InstantiationException e) {
-            throw new NotSupportYetException(
-                    "map to " + clazz.toString() + " failed:" + e.getMessage(), e);
-        }
-    }
-
-
-    /**
-     * object to map
-     *
-     * @param object the object
-     * @return the map
-     */
-    public static Map<String, String> objectToMap(Object object) {
-        if (object == null) {
-            return null;
-        }
-        Map<String, String> map = new HashMap<>(16);
-        Field[] fields = object.getClass().getDeclaredFields();
-        try {
-            for (Field field : fields) {
-                boolean accessible = field.isAccessible();
-                field.setAccessible(true);
-                if (field.getType() == Date.class) {
-                    Date date = (Date) field.get(object);
-                    if (date != null) {
-                        map.put(field.getName(), String.valueOf(date.getTime()));
-                    }
-                } else {
-                    map.put(field.getName(),
-                            field.get(object) == null ? "" : field.get(object).toString());
-                }
-                field.setAccessible(accessible);
-            }
-        } catch (IllegalAccessException e) {
-            throw new NotSupportYetException(
-                    "object " + object.getClass().toString() + " to map failed:" + e.getMessage());
-        }
-        return map;
-    }
-
-}
diff --git a/common/src/main/java/io/seata/common/util/BlobUtils.java b/common/src/main/java/io/seata/common/util/BlobUtils.java
deleted file mode 100644
index 2a8c23d72e..0000000000
--- a/common/src/main/java/io/seata/common/util/BlobUtils.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.sql.Blob;
-
-import javax.sql.rowset.serial.SerialBlob;
-
-import io.seata.common.Constants;
-import io.seata.common.exception.ShouldNeverHappenException;
-
-/**
- * The type Blob utils.
- *
- */
-public class BlobUtils {
-
-    private BlobUtils() {
-
-    }
-
-    /**
-     * String 2 blob blob.
-     *
-     * @param str the str
-     * @return the blob
-     */
-    public static Blob string2blob(String str) {
-        if (str == null) {
-            return null;
-        }
-
-        try {
-            return new SerialBlob(str.getBytes(Constants.DEFAULT_CHARSET));
-        } catch (Exception e) {
-            throw new ShouldNeverHappenException(e);
-        }
-    }
-
-    /**
-     * Blob 2 string string.
-     *
-     * @param blob the blob
-     * @return the string
-     */
-    public static String blob2string(Blob blob) {
-        if (blob == null) {
-            return null;
-        }
-
-        try {
-            return new String(blob.getBytes(1, (int) blob.length()), Constants.DEFAULT_CHARSET);
-        } catch (Exception e) {
-            throw new ShouldNeverHappenException(e);
-        }
-    }
-
-    /**
-     * Byte array to blob
-     *
-     * @param bytes the byte array
-     * @return the blob
-     */
-    public static Blob bytes2Blob(byte[] bytes) {
-        if (bytes == null) {
-            return null;
-        }
-
-        try {
-            return new SerialBlob(bytes);
-        } catch (Exception e) {
-            throw new ShouldNeverHappenException(e);
-        }
-    }
-
-    /**
-     * Blob to byte array.
-     *
-     * @param blob the blob
-     * @return the byte array
-     */
-    public static byte[] blob2Bytes(Blob blob) {
-        if (blob == null) {
-            return null;
-        }
-
-        try {
-            return blob.getBytes(1, (int) blob.length());
-        } catch (Exception e) {
-            throw new ShouldNeverHappenException(e);
-        }
-    }
-}
diff --git a/common/src/main/java/io/seata/common/util/BufferUtils.java b/common/src/main/java/io/seata/common/util/BufferUtils.java
deleted file mode 100644
index 8bec100991..0000000000
--- a/common/src/main/java/io/seata/common/util/BufferUtils.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.nio.Buffer;
-
-/**
- * Explicit cast to {@link Buffer} parent buffer type. It resolves issues with covariant return types in Java 9+ for
- * {@link java.nio.ByteBuffer} and {@link java.nio.CharBuffer}. Explicit casting resolves the NoSuchMethodErrors (e.g
- * java.lang.NoSuchMethodError: java.nio.ByteBuffer.flip(I)Ljava/nio/ByteBuffer) when the project is compiled with
- * newer Java version and run on Java 8.
- * <p/>
- * <a href="https://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html">Java 8</a> doesn't provide override the
- * following Buffer methods in subclasses:
- *
- * <pre>
- * Buffer clear()
- * Buffer flip()
- * Buffer limit(int newLimit)
- * Buffer mark()
- * Buffer position(int newPosition)
- * Buffer reset()
- * Buffer rewind()
- * </pre>
- *
- * <a href="https://docs.oracle.com/javase/9/docs/api/java/nio/ByteBuffer.html">Java 9</a> introduces the overrides in
- * child classes (e.g the ByteBuffer), but the return type is the specialized one and not the abstract {@link Buffer}.
- * So the code compiled with newer Java is not working on Java 8 unless a workaround with explicit casting is used.
- *
- */
-public class BufferUtils {
-
-    /**
-     * @param buffer byteBuffer
-     */
-    public static void flip(Buffer buffer) {
-        buffer.flip();
-    }
-
-    /**
-     * @param buffer byteBuffer
-     */
-    public static void clear(Buffer buffer) {
-        buffer.clear();
-    }
-
-    /**
-     * @param buffer byteBuffer
-     */
-    public static void limit(Buffer buffer, int newLimit) {
-        buffer.limit(newLimit);
-    }
-
-    /**
-     * @param buffer byteBuffer
-     */
-    public static void mark(Buffer buffer) {
-        buffer.mark();
-    }
-
-    /**
-     * @param buffer byteBuffer
-     */
-    public static void position(Buffer buffer, int newPosition) {
-        buffer.position(newPosition);
-    }
-
-    /**
-     * @param buffer byteBuffer
-     */
-    public static void rewind(Buffer buffer) {
-        buffer.rewind();
-    }
-
-    /**
-     * @param buffer byteBuffer
-     */
-    public static void reset(Buffer buffer) {
-        buffer.reset();
-    }
-
-}
diff --git a/common/src/main/java/io/seata/common/util/CollectionUtils.java b/common/src/main/java/io/seata/common/util/CollectionUtils.java
deleted file mode 100644
index 1cbe3a23a2..0000000000
--- a/common/src/main/java/io/seata/common/util/CollectionUtils.java
+++ /dev/null
@@ -1,332 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.function.Function;
-
-/**
- * The type Collection utils.
- *
- */
-public class CollectionUtils {
-
-    private CollectionUtils() {
-    }
-
-    /**
-     * Is empty boolean.
-     *
-     * @param col the col
-     * @return the boolean
-     */
-    public static boolean isEmpty(Collection<?> col) {
-        return !isNotEmpty(col);
-    }
-
-    /**
-     * Is not empty boolean.
-     *
-     * @param col the col
-     * @return the boolean
-     */
-    public static boolean isNotEmpty(Collection<?> col) {
-        return col != null && !col.isEmpty();
-    }
-
-    /**
-     * Is empty boolean.
-     *
-     * @param array the array
-     * @return the boolean
-     */
-    public static boolean isEmpty(Object[] array) {
-        return !isNotEmpty(array);
-    }
-
-    /**
-     * Is not empty boolean.
-     *
-     * @param array the array
-     * @return the boolean
-     */
-    public static boolean isNotEmpty(Object[] array) {
-        return array != null && array.length > 0;
-    }
-
-    /**
-     * Is empty boolean.
-     *
-     * @param map the map
-     * @return the boolean
-     */
-    public static boolean isEmpty(Map<?, ?> map) {
-        return !isNotEmpty(map);
-    }
-
-    /**
-     * Is not empty boolean.
-     *
-     * @param map the map
-     * @return the boolean
-     */
-    public static boolean isNotEmpty(Map<?, ?> map) {
-        return map != null && !map.isEmpty();
-    }
-
-    /**
-     * Collection To string.
-     *
-     * @param col the col
-     * @return the string
-     */
-    public static String toString(final Collection<?> col) {
-        if (col == null) {
-            return "null";
-        }
-        if (col.isEmpty()) {
-            return "[]";
-        }
-
-        return CycleDependencyHandler.wrap(col, o -> {
-            StringBuilder sb = new StringBuilder(32);
-            sb.append("[");
-            for (Object obj : col) {
-                if (sb.length() > 1) {
-                    sb.append(", ");
-                }
-                if (obj == col) {
-                    sb.append("(this ").append(obj.getClass().getSimpleName()).append(")");
-                } else {
-                    sb.append(StringUtils.toString(obj));
-                }
-            }
-            sb.append("]");
-            return sb.toString();
-        });
-    }
-
-    /**
-     * Map to string.
-     *
-     * @param map the map
-     * @return the string
-     */
-    public static String toString(final Map<?, ?> map) {
-        if (map == null) {
-            return "null";
-        }
-        if (map.isEmpty()) {
-            return "{}";
-        }
-
-        return CycleDependencyHandler.wrap(map, o -> {
-            StringBuilder sb = new StringBuilder(32);
-            sb.append("{");
-            map.forEach((key, value) -> {
-                if (sb.length() > 1) {
-                    sb.append(", ");
-                }
-                if (key == map) {
-                    sb.append("(this ").append(map.getClass().getSimpleName()).append(")");
-                } else {
-                    sb.append(StringUtils.toString(key));
-                }
-                sb.append("->");
-                if (value == map) {
-                    sb.append("(this ").append(map.getClass().getSimpleName()).append(")");
-                } else {
-                    sb.append(StringUtils.toString(value));
-                }
-            });
-            sb.append("}");
-            return sb.toString();
-        });
-    }
-
-    /**
-     * To string map
-     *
-     * @param param map
-     * @return the string map
-     */
-    public static Map<String, String> toStringMap(Map<String, Object> param) {
-        Map<String, String> covertMap = new HashMap<>();
-        if (CollectionUtils.isNotEmpty(param)) {
-            param.forEach((key, value) -> {
-                if (value != null) {
-                    if (value instanceof CharSequence || value instanceof Character) {
-                        covertMap.put(key, value.toString());
-                    } else {
-                        covertMap.put(key, StringUtils.toString(value));
-                    }
-                }
-            });
-        }
-        return covertMap;
-    }
-
-    /**
-     * Is size equals boolean.
-     *
-     * @param col0 the col 0
-     * @param col1 the col 1
-     * @return the boolean
-     */
-    public static boolean isSizeEquals(Collection<?> col0, Collection<?> col1) {
-        if (col0 == null) {
-            return col1 == null;
-        } else {
-            if (col1 == null) {
-                return false;
-            } else {
-                return col0.size() == col1.size();
-            }
-        }
-    }
-
-    private static final String KV_SPLIT = "=";
-
-    private static final String PAIR_SPLIT = "&";
-
-    /**
-     * Encode map to string
-     *
-     * @param map origin map
-     * @return String string
-     */
-    public static String encodeMap(Map<String, String> map) {
-        if (map == null) {
-            return null;
-        }
-        if (map.isEmpty()) {
-            return StringUtils.EMPTY;
-        }
-        StringBuilder sb = new StringBuilder();
-        for (Map.Entry<String, String> entry : map.entrySet()) {
-            sb.append(entry.getKey()).append(KV_SPLIT).append(entry.getValue()).append(PAIR_SPLIT);
-        }
-        return sb.substring(0, sb.length() - 1);
-    }
-
-    /**
-     * Decode string to map
-     *
-     * @param data data
-     * @return map map
-     */
-    public static Map<String, String> decodeMap(String data) {
-        if (data == null) {
-            return null;
-        }
-        Map<String, String> map = new HashMap<>();
-        if (StringUtils.isBlank(data)) {
-            return map;
-        }
-        String[] kvPairs = data.split(PAIR_SPLIT);
-        if (kvPairs.length == 0) {
-            return map;
-        }
-        for (String kvPair : kvPairs) {
-            if (StringUtils.isNullOrEmpty(kvPair)) {
-                continue;
-            }
-            String[] kvs = kvPair.split(KV_SPLIT);
-            if (kvs.length != 2) {
-                continue;
-            }
-            map.put(kvs[0], kvs[1]);
-        }
-        return map;
-    }
-
-    /**
-     * Compute if absent.
-     * Use this method if you are frequently using the same key,
-     * because the get method has no lock.
-     *
-     * @param map             the map
-     * @param key             the key
-     * @param mappingFunction the mapping function
-     * @param <K>             the type of key
-     * @param <V>             the type of value
-     * @return the value
-     */
-    public static <K, V> V computeIfAbsent(Map<K, V> map, K key, Function<? super K, ? extends V> mappingFunction) {
-        V value = map.get(key);
-        if (value != null) {
-            return value;
-        }
-        return map.computeIfAbsent(key, mappingFunction);
-    }
-
-    /**
-     * To upper list.
-     *
-     * @param sourceList the source list
-     * @return the list
-     */
-    public static List<String> toUpperList(List<String> sourceList) {
-        if (isEmpty(sourceList)) {
-            return sourceList;
-        }
-        List<String> destList = new ArrayList<>(sourceList.size());
-        for (String element : sourceList) {
-            if (element != null) {
-                destList.add(element.toUpperCase());
-            } else {
-                destList.add(null);
-            }
-        }
-        return destList;
-    }
-
-    /**
-     * Get the last item.
-     * <p>
-     * 'IndexOutOfBoundsException' may be thrown, because the `list.size()` and `list.get(size - 1)` are not atomic.
-     * This method can avoid the 'IndexOutOfBoundsException' cause by concurrency.
-     * </p>
-     *
-     * @param list the list
-     * @param <T>  the type of item
-     * @return the last item
-     */
-    public static <T> T getLast(List<T> list) {
-        if (isEmpty(list)) {
-            return null;
-        }
-
-        int size;
-        while (true) {
-            size = list.size();
-            if (size == 0) {
-                return null;
-            }
-
-            try {
-                return list.get(size - 1);
-            } catch (IndexOutOfBoundsException ex) {
-                // catch the exception and continue to retry
-            }
-        }
-    }
-}
diff --git a/common/src/main/java/io/seata/common/util/CompressUtil.java b/common/src/main/java/io/seata/common/util/CompressUtil.java
deleted file mode 100644
index 63b1e68c93..0000000000
--- a/common/src/main/java/io/seata/common/util/CompressUtil.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.util.zip.GZIPInputStream;
-import java.util.zip.GZIPOutputStream;
-
-/**
- * The type Compress util.
- */
-public class CompressUtil {
-
-    /**
-     * Compress byte [ ].
-     *
-     * @param src the src
-     * @return the byte [ ]
-     * @throws IOException the io exception
-     */
-    public static byte[] compress(final byte[] src) throws IOException {
-        byte[] result;
-        ByteArrayOutputStream bos = new ByteArrayOutputStream(src.length);
-        GZIPOutputStream gos = new GZIPOutputStream(bos);
-        try {
-            gos.write(src);
-            gos.finish();
-            result = bos.toByteArray();
-        } finally {
-            IOUtil.close(bos, gos);
-        }
-        return result;
-    }
-
-    /**
-     * Uncompress byte [ ].
-     *
-     * @param src the src
-     * @return the byte [ ]
-     * @throws IOException the io exception
-     */
-    public static byte[] uncompress(final byte[] src) throws IOException {
-        byte[] result;
-        byte[] uncompressData = new byte[src.length];
-        ByteArrayInputStream bis = new ByteArrayInputStream(src);
-        GZIPInputStream iis = new GZIPInputStream(bis);
-        ByteArrayOutputStream bos = new ByteArrayOutputStream(src.length);
-
-        try {
-            while (true) {
-                int len = iis.read(uncompressData, 0, uncompressData.length);
-                if (len <= 0) {
-                    break;
-                }
-                bos.write(uncompressData, 0, len);
-            }
-            bos.flush();
-            result = bos.toByteArray();
-        } finally {
-            IOUtil.close(bis, iis, bos);
-        }
-        return result;
-    }
-
-    /**
-     * Is compress data boolean.
-     *
-     * @param bytes the bytes
-     * @return the boolean
-     */
-    public static boolean isCompressData(byte[] bytes) {
-        if (bytes != null && bytes.length > 2) {
-            int header = ((bytes[0] & 0xff)) | (bytes[1] & 0xff) << 8;
-            return GZIPInputStream.GZIP_MAGIC == header;
-        }
-        return false;
-    }
-}
diff --git a/common/src/main/java/io/seata/common/util/ConfigTools.java b/common/src/main/java/io/seata/common/util/ConfigTools.java
deleted file mode 100644
index 48e15a406c..0000000000
--- a/common/src/main/java/io/seata/common/util/ConfigTools.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.nio.charset.StandardCharsets;
-import java.security.KeyFactory;
-import java.security.KeyPair;
-import java.security.KeyPairGenerator;
-import java.security.PrivateKey;
-import java.security.PublicKey;
-import java.security.spec.PKCS8EncodedKeySpec;
-import java.security.spec.X509EncodedKeySpec;
-import java.util.Base64;
-import javax.crypto.Cipher;
-
-/**
- */
-public class ConfigTools {
-
-    // generate key pair
-    public static KeyPair getKeyPair() throws Exception {
-        KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("RSA");
-        keyPairGenerator.initialize(2048);
-        KeyPair keyPair = keyPairGenerator.generateKeyPair();
-        return keyPair;
-    }
-
-    // obtain the public key (Base64 encoding)
-    public static String getPublicKey(KeyPair keyPair) {
-        PublicKey publicKey = keyPair.getPublic();
-        byte[] bytes = publicKey.getEncoded();
-        return byte2Base64(bytes);
-    }
-
-    // obtain the private key (Base64 encoding)
-    public static String getPrivateKey(KeyPair keyPair) {
-        PrivateKey privateKey = keyPair.getPrivate();
-        byte[] bytes = privateKey.getEncoded();
-        return byte2Base64(bytes);
-    }
-
-    // convert Base64 encoded public key to PublicKey object
-    public static PublicKey string2PublicKey(String pubStr) throws Exception {
-        byte[] keyBytes = base642Byte(pubStr);
-        X509EncodedKeySpec keySpec = new X509EncodedKeySpec(keyBytes);
-        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
-        PublicKey publicKey = keyFactory.generatePublic(keySpec);
-        return publicKey;
-    }
-
-    // convert Base64 encoded private key to PrivateKey object
-    public static PrivateKey string2PrivateKey(String priStr) throws Exception {
-        byte[] keyBytes = base642Byte(priStr);
-        PKCS8EncodedKeySpec keySpec = new PKCS8EncodedKeySpec(keyBytes);
-        KeyFactory keyFactory = KeyFactory.getInstance("RSA");
-        PrivateKey privateKey = keyFactory.generatePrivate(keySpec);
-        return privateKey;
-    }
-
-    // public key encryption
-    public static String publicEncrypt(String content, String pubStr) throws Exception {
-        PublicKey publicKey = string2PublicKey(pubStr);
-        Cipher cipher = Cipher.getInstance("RSA");
-        cipher.init(Cipher.ENCRYPT_MODE, publicKey);
-        byte[] bytes = cipher.doFinal(content.getBytes());
-        return byte2Base64(bytes);
-    }
-
-    // public key decryption
-    public static String publicDecrypt(String content, String pubStr) throws Exception {
-        PublicKey publicKey = string2PublicKey(pubStr);
-        Cipher cipher = Cipher.getInstance("RSA");
-        cipher.init(Cipher.DECRYPT_MODE, publicKey);
-        byte[] bytes = cipher.doFinal(base642Byte(content));
-        return new String(bytes, StandardCharsets.UTF_8);
-    }
-
-    // private key encryption
-    public static String privateEncrypt(String content, String priStr) throws Exception {
-        PrivateKey privateKey = string2PrivateKey(priStr);
-        Cipher cipher = Cipher.getInstance("RSA");
-        cipher.init(Cipher.ENCRYPT_MODE, privateKey);
-        byte[] bytes = cipher.doFinal(content.getBytes());
-        return byte2Base64(bytes);
-    }
-
-    // private key decryption
-    public static String privateDecrypt(String content, String priStr) throws Exception {
-        PrivateKey privateKey = string2PrivateKey(priStr);
-        Cipher cipher = Cipher.getInstance("RSA");
-        cipher.init(Cipher.DECRYPT_MODE, privateKey);
-        byte[] bytes = cipher.doFinal(base642Byte(content));
-        return new String(bytes, StandardCharsets.UTF_8);
-    }
-
-    // byte array to Base64 encoding
-    public static String byte2Base64(byte[] bytes) {
-        return new String(Base64.getEncoder().encode(bytes), StandardCharsets.UTF_8);
-    }
-
-    // Base64 encoding to byte array
-    public static byte[] base642Byte(String base64Key) {
-        return Base64.getDecoder().decode(base64Key);
-    }
-
-}
diff --git a/common/src/main/java/io/seata/common/util/CycleDependencyHandler.java b/common/src/main/java/io/seata/common/util/CycleDependencyHandler.java
deleted file mode 100644
index 44f4138472..0000000000
--- a/common/src/main/java/io/seata/common/util/CycleDependencyHandler.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.util.HashSet;
-import java.util.Set;
-import java.util.function.Function;
-
-/**
- * The type CycleDependency handler.
- *
- */
-public class CycleDependencyHandler {
-
-    private static final ThreadLocal<Set<Object>> OBJECT_SET_LOCAL = new ThreadLocal<>();
-
-    public static boolean isStarting() {
-        return OBJECT_SET_LOCAL.get() != null;
-    }
-
-    public static void start() {
-        OBJECT_SET_LOCAL.set(new HashSet<>(8));
-    }
-
-    public static void end() {
-        OBJECT_SET_LOCAL.remove();
-    }
-
-    public static void addObject(Object obj) {
-        if (obj == null) {
-            return;
-        }
-
-        // get object set
-        Set<Object> objectSet = OBJECT_SET_LOCAL.get();
-
-        // add to object set
-        objectSet.add(getUniqueSubstituteObject(obj));
-    }
-
-    public static boolean containsObject(Object obj) {
-        if (obj == null) {
-            return false;
-        }
-
-        // get object set
-        Set<Object> objectSet = OBJECT_SET_LOCAL.get();
-        if (objectSet.isEmpty()) {
-            return false;
-        }
-
-        return objectSet.contains(getUniqueSubstituteObject(obj));
-    }
-
-    public static <O> String wrap(O obj, Function<O, String> function) {
-        boolean isStarting = isStarting();
-        try {
-            if (!isStarting) {
-                start();
-            } else {
-                if (containsObject(obj)) {
-                    return toRefString(obj);
-                }
-            }
-
-            // add object
-            addObject(obj);
-
-            // do function
-            return function.apply(obj);
-        } finally {
-            if (!isStarting) {
-                end();
-            }
-        }
-    }
-
-    public static String toRefString(Object obj) {
-        return "(ref " + obj.getClass().getSimpleName() + ")";
-    }
-
-    /**
-     * get Unique Substitute Object.
-     * Avoid `obj.hashCode()` throwing `StackOverflowError` during cycle dependency.
-     *
-     * @param obj the object
-     * @return the substitute object
-     */
-    private static Object getUniqueSubstituteObject(Object obj) {
-        // TODO: HELP-WANTED: Optimize this method to ensure uniqueness
-        return System.identityHashCode(obj);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/util/DateUtil.java b/common/src/main/java/io/seata/common/util/DateUtil.java
deleted file mode 100644
index 32f7dd461b..0000000000
--- a/common/src/main/java/io/seata/common/util/DateUtil.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.text.ParseException;
-import java.text.SimpleDateFormat;
-import java.util.Calendar;
-import java.util.Date;
-
-/**
- * The type Date util.
- *
- */
-public class DateUtil {
-
-    /**
-     * Gets current date.
-     *
-     * @return the current date
-     */
-    public static Date getCurrentDate() {
-        return new Date();
-    }
-
-    /**
-     * Parse date date.
-     *
-     * @param dateStr the date str
-     * @param format  the format
-     * @return the date
-     * @throws ParseException the parse exception
-     */
-    public static Date parseDate(String dateStr, String format) throws ParseException {
-        if (StringUtils.isBlank(dateStr)) {
-            return null;
-        }
-        SimpleDateFormat sdf = new SimpleDateFormat(format);
-        return sdf.parse(dateStr);
-    }
-
-    public static Date parseDateWithoutTime(String dateStr) throws ParseException {
-        return parseDate(dateStr, "yyyy-MM-dd");
-    }
-
-    public static Date getDateNowPlusDays(int days) throws ParseException {
-        Calendar calendar = Calendar.getInstance();
-        calendar.add(Calendar.DATE, days);
-        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
-        String dateStr = dateFormat.format(calendar.getTime());
-        return dateFormat.parse(dateStr);
-    }
-
-    /**
-     * Format date string.
-     *
-     * @param date   the date
-     * @param format the format
-     * @return the string
-     */
-    public static String formatDate(Date date, String format) {
-        if (date == null) {
-            return null;
-        }
-        SimpleDateFormat sdf = new SimpleDateFormat(format);
-        return sdf.format(date);
-    }
-}
diff --git a/common/src/main/java/io/seata/common/util/DurationUtil.java b/common/src/main/java/io/seata/common/util/DurationUtil.java
deleted file mode 100644
index 62e18842c7..0000000000
--- a/common/src/main/java/io/seata/common/util/DurationUtil.java
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package io.seata.common.util;
-
-import java.time.Duration;
-import java.time.format.DateTimeParseException;
-import java.util.regex.Pattern;
-
-/**
- */
-public class DurationUtil {
-
-    public static final Duration DEFAULT_DURATION = Duration.ofMillis(-1);
-
-    public static final String DAY_UNIT = "d";
-    public static final String HOUR_UNIT = "h";
-    public static final String MINUTE_UNIT = "m";
-    public static final String SECOND_UNIT = "s";
-    public static final String MILLIS_SECOND_UNIT = "ms";
... 603578 lines suppressed ...


---------------------------------------------------------------------
To unsubscribe, e-mail: notifications-unsubscribe@seata.apache.org
For additional commands, e-mail: notifications-help@seata.apache.org