diff --git a/README.md b/README.md
index 207e7f1776f..0029349e859 100644
--- a/README.md
+++ b/README.md
@@ -82,7 +82,7 @@ For more details about principle and design, please go to [Seata wiki page](http
## Maven dependency
```xml
-1.5.0
+1.5.2
io.seata
diff --git a/all/pom.xml b/all/pom.xml
index 1fb17446fc8..433a06ba493 100644
--- a/all/pom.xml
+++ b/all/pom.xml
@@ -29,11 +29,6 @@
Seata All-in-one ${project.version}
Seata is an easy-to-use, high-performance, java based, open source distributed transaction solution.
-
-
- 1.5.0
-
-
@@ -672,6 +667,30 @@
+
+
+ icu.easyj.maven.plugins
+ easyj-maven-plugin
+
+
+
+ create-pom-file
+ package
+
+ create-pom-file
+
+
+
+
+
+ true
+ true
+
+
+ io.seata:*
+
+
+
org.apache.maven.plugins
diff --git a/bom/pom.xml b/bom/pom.xml
index b11dac57b62..0182b059be1 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -26,7 +26,6 @@
4.0.0
seata-bom
-
pom
Seata bom ${project.version}
diff --git a/build/pom.xml b/build/pom.xml
index c4067080dfa..0160682a42f 100644
--- a/build/pom.xml
+++ b/build/pom.xml
@@ -25,8 +25,7 @@
${revision}
Seata Build ${project.version}
- Seata Build Pom
-
+ plugin management for Seata built with Maven
Apache License, Version 2.0
@@ -64,7 +63,7 @@
- 1.5.0
+ 1.5.2
1.8
@@ -75,10 +74,11 @@
2.4.13
+ 5.3.18
- 1.1.0
+ 0.5.6
3.1.0
3.8.1
@@ -166,6 +166,23 @@
license-maven-plugin
${mojo-license-maven-plugin.version}
+
+ icu.easyj.maven.plugins
+ easyj-maven-plugin
+ ${easyj-maven-plugin.version}
+
+
+
+ simplify-pom
+
+ simplify-pom
+
+
+
+
+ .flattened-pom.xml
+
+
@@ -225,7 +242,7 @@
./
- *-pom*.xml
+ *-pom.xml
**/db_store/**
**/sessionStore/**
**/root.data
@@ -235,31 +252,10 @@
-
+
- org.codehaus.mojo
- flatten-maven-plugin
- ${flatten-maven-plugin.version}
-
- true
- resolveCiFriendliesOnly
-
-
-
- flatten
- process-resources
-
- flatten
-
-
-
- flatten.clean
- clean
-
- clean
-
-
-
+ icu.easyj.maven.plugins
+ easyj-maven-plugin
diff --git a/changes/2.0.0.md b/changes/2.0.0.md
deleted file mode 100644
index d8e3c27df93..00000000000
--- a/changes/2.0.0.md
+++ /dev/null
@@ -1,48 +0,0 @@
-### 2.0.0
-
- [source](https://github.com/seata/seata/archive/v2.0.0.zip) |
- [binary](https://github.com/seata/seata/releases/download/v2.0.0/seata-server-2.0.0.zip)
-
-
- Release notes
-
- ### Seata 2.0.0
-
-Seata 2.0.0 发布。
-
-Seata 是一款开源的分布式事务解决方案,提供高性能和简单易用的分布式事务服务。
-
-此版本更新如下:
-
- ### feature:
-
-* [[#1234](https://github.com/seata/seata/pull/1234)] 样例,后续请删除
-
-### bugfix:
-
-* [[#1234](https://github.com/seata/seata/pull/1234)] 样例,后续请删除
-
-### optimize:
-
-* [[#1234](https://github.com/seata/seata/pull/1234)] 样例,后续请删除
-
-### test:
-
-* [[#1234](https://github.com/seata/seata/pull/1234)] 样例,后续请删除
-
-
- 非常感谢以下 contributors 的代码贡献。若有无意遗漏,请报告。
-
- - [slievrly](https://github.com/slievrly)
-
-
-同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。
-
- #### Link
-
- - **Seata:** https://github.com/seata/seata
- - **Seata-Samples:** https://github.com/seata/seata-samples
- - **Release:** https://github.com/seata/seata/releases
- - **WebSite:** https://seata.io
-
-
\ No newline at end of file
diff --git a/changes/en-us/2.0.0.md b/changes/en-us/2.0.0.md
index 2635ba5f787..4689c27ed35 100644
--- a/changes/en-us/2.0.0.md
+++ b/changes/en-us/2.0.0.md
@@ -1,46 +1,51 @@
-### 2.0.0
+### 2.0.0
[source](https://github.com/seata/seata/archive/v2.0.0.zip) |
[binary](https://github.com/seata/seata/releases/download/v2.0.0/seata-server-2.0.0.zip)
-
+
Release notes
- ### Seata 2.0.0
- Seata 2.0.0 Released.
+### Seata 2.0.0
- Seata is an easy-to-use, high-performance, open source distributed transaction solution.
+Seata 2.0.0 Released.
- The version is updated as follows:
+Seata is an easy-to-use, high-performance, open source distributed transaction solution.
+The version is updated as follows:
- ### feature:
+### feature:
- [[#1234](https://github.com/seata/seata/pull/1234)] Please delete the sample later
- ### bugfix:
+### bugfix:
- [[#1234](https://github.com/seata/seata/pull/1234)] Please delete the sample later
+ - [[#4626](https://github.com/seata/seata/pull/4626)] Replace `flatten-maven-plugin` with `easyj-maven-plugin` to fix the conflict between `shade` and `flatten`
+### optimize:
+ - [[#4567](https://github.com/seata/seata/pull/4567)] Support where method condition(find_in_set)
+ - [[#4629](https://github.com/seata/seata/pull/4629)] check relation of before status and after status when updating global session
- ### optimize:
- - [[#1234](https://github.com/seata/seata/pull/1234)] Please delete the sample later
+### test:
+ - [[#1234](https://github.com/seata/seata/pull/1234)] Please delete the sample later
- ### test:
-* [[#1234](https://github.com/seata/seata/pull/1234)] Please delete the sample later
+### Contributors:
Thanks to these contributors for their code commits. Please report an unintended omission.
-- [slievrly](https://github.com/slievrly)
+ - [slievrly](https://github.com/slievrly)
+ - [doubleDimple](https://github.com/doubleDimple)
+ - [Bughue](https://github.com/Bughue)
Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
- #### Link
- - **Seata:** https://github.com/seata/seata
- - **Seata-Samples:** https://github.com/seata/seata-samples
- - **Release:** https://github.com/seata/seata/releases
- - **WebSite:** https://seata.io
+#### Link
+ - **Seata:** https://github.com/seata/seata
+ - **Seata-Samples:** https://github.com/seata/seata-samples
+ - **Release:** https://github.com/seata/seata/releases
+ - **WebSite:** https://seata.io
diff --git a/changes/en-us/develop.md b/changes/en-us/develop.md
new file mode 100644
index 00000000000..67ec07e3f7d
--- /dev/null
+++ b/changes/en-us/develop.md
@@ -0,0 +1,66 @@
+Add changes here for all PR submitted to the develop branch.
+
+
+
+
+### feature:
+ - [[#4661](https://github.com/seata/seata/pull/4713)] support xid load balance
+ - [[#4676](https://github.com/seata/seata/pull/4676)] support server to expose Nacos services by mounting SLB
+ - [[#4642](https://github.com/seata/seata/pull/4642)] support batch message parallel processing
+ - [[#4567](https://github.com/seata/seata/pull/4567)] support where method condition(find_in_set)
+
+
+### bugfix:
+ - [[#4515](https://github.com/seata/seata/pull/4515)] fix the error of SeataTCCFenceAutoConfiguration when database unused
+ - [[#4661](https://github.com/seata/seata/pull/4661)] fix sql exception with PostgreSQL in module console
+ - [[#4667](https://github.com/seata/seata/pull/4682)] fix the exception in RedisTransactionStoreManager for update map During iteration
+ - [[#4678](https://github.com/seata/seata/pull/4678)] fix the error of key transport.enableRmClientBatchSendRequest cache penetration if not configure
+ - [[#4701](https://github.com/seata/seata/pull/4701)] fix missing command line args
+ - [[#4607](https://github.com/seata/seata/pull/4607)] fix bug on skipping lock check
+ - [[#4696](https://github.com/seata/seata/pull/4696)] fix oracle database insert value
+ - [[#4726](https://github.com/seata/seata/pull/4726)] fix batch message send may return NullPointException
+ - [[#4729](https://github.com/seata/seata/pull/4729)] fix set AspectTransactional.rollbackForClassName with wrong value
+ - [[#4653](https://github.com/seata/seata/pull/4653)] fix the sql exception when pk is non-numeric in INSERT_ON_DUPLICATE SQL
+
+### optimize:
+ - [[#4650](https://github.com/seata/seata/pull/4650)] fix some security vulnerabilities
+ - [[#4670](https://github.com/seata/seata/pull/4670)] optimize the thread pool size of branchResultMessageExecutor
+ - [[#4662](https://github.com/seata/seata/pull/4662)] optimize rollback transaction metrics
+ - [[#4693](https://github.com/seata/seata/pull/4693)] optimize the console navigation bar
+ - [[#4700](https://github.com/seata/seata/pull/4700)] fix maven-compiler-plugin and maven-resources-plugin execute failed
+ - [[#4711](https://github.com/seata/seata/pull/4711)] separate lib dependencies for deployments
+ - [[#4720](https://github.com/seata/seata/pull/4720)] optimize pom description
+ - [[#4728](https://github.com/seata/seata/pull/4728)] upgrade logback dependency to 1.2.9
+ - [[#4745](https://github.com/seata/seata/pull/4745)] support mysql8 in release package
+ - [[#4626](https://github.com/seata/seata/pull/4626)] Replace `flatten-maven-plugin` with `easyj-maven-plugin` to fix the conflict between `shade` and `flatten`
+ - [[#4629](https://github.com/seata/seata/pull/4629)] check relation of before status and after status when updating global session
+ - [[#4662](https://github.com/seata/seata/pull/4662)] make EnhancedServiceLoader more readable
+
+### test:
+
+ - [[#4544](https://github.com/seata/seata/pull/4544)] optimize jackson dependencies in TransactionContextFilterTest
+ - [[#4731](https://github.com/seata/seata/pull/4731)] fix UT failed in AsyncWorkerTest and LockManagerTest
+
+Thanks to these contributors for their code commits. Please report an unintended omission.
+
+
+- [slievrly](https://github.com/slievrly)
+- [pengten](https://github.com/pengten)
+- [YSF-A](https://github.com/YSF-A)
+- [tuwenlin](https://github.com/tuwenlin)
+- [Ifdevil](https://github.com/Ifdevil)
+- [wingchi-leung](https://github.com/wingchi-leung)
+- [liurong](https://github.com/robynron)
+- [opelok-z](https://github.com/opelok-z)
+- [a364176773](https://github.com/a364176773)
+- [2129zxl](https://github.com/2129zxl)
+- [Smery-lxm](https://github.com/Smery-lxm)
+- [doubleDimple](https://github.com/doubleDimple)
+- [wangliang181230](https://github.com/wangliang181230)
+- [Bughue](https://github.com/Bughue)
+- [AYue-94](https://github.com/AYue-94)
+- [lingxiao-wu](https://github.com/lingxiao-wu)
+- [caohdgege](https://github.com/caohdgege)
+
+
+Also, we receive many valuable issues, questions and advices from our community. Thanks for you all.
diff --git a/changes/1.4.2.md b/changes/zh-cn/1.4.2.md
similarity index 100%
rename from changes/1.4.2.md
rename to changes/zh-cn/1.4.2.md
diff --git a/changes/1.5.0.md b/changes/zh-cn/1.5.0.md
similarity index 100%
rename from changes/1.5.0.md
rename to changes/zh-cn/1.5.0.md
diff --git a/changes/zh-cn/2.0.0.md b/changes/zh-cn/2.0.0.md
new file mode 100644
index 00000000000..1d12d9d3c14
--- /dev/null
+++ b/changes/zh-cn/2.0.0.md
@@ -0,0 +1,50 @@
+### 2.0.0
+
+ [source](https://github.com/seata/seata/archive/v2.0.0.zip) |
+ [binary](https://github.com/seata/seata/releases/download/v2.0.0/seata-server-2.0.0.zip)
+
+
+ Release notes
+
+### Seata 2.0.0
+
+Seata 2.0.0 发布。
+
+Seata 是一款开源的分布式事务解决方案,提供高性能和简单易用的分布式事务服务。
+
+此版本更新如下:
+
+### feature:
+ - [[#1234](https://github.com/seata/seata/pull/1234)] 样例,后续请删除
+
+### bugfix:
+ - [[#1234](https://github.com/seata/seata/pull/1234)] 样例,后续请删除
+ - [[#4626](https://github.com/seata/seata/pull/4626)] 使用 `easyj-maven-plugin` 插件代替 `flatten-maven-plugin` 插件,以修复 `shade` 插件与 `flatten` 插件不兼容的问题,导致`seata-all.pom` 中的 `${revision}` 并没有被替换,使应用端引用 `seata-all` 后无法打包。
+
+### optimize:
+ - [[#4567](https://github.com/seata/seata/pull/4567)] 支持where条件带函数find_in_set支持
+ - [[#4629](https://github.com/seata/seata/pull/4629)] 更新globalsession状态时检查更改前后的对应关系正确性
+
+### test:
+ - [[#1234](https://github.com/seata/seata/pull/1234)] 样例,后续请删除
+
+
+### Contributors:
+
+非常感谢以下 contributors 的代码贡献。若有无意遗漏,请报告。
+
+ - [slievrly](https://github.com/slievrly)
+ - [doubleDimple](https://github.com/doubleDimple)
+ - [Bughue](https://github.com/Bughue)
+
+同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。
+
+
+#### Link
+
+ - **Seata:** https://github.com/seata/seata
+ - **Seata-Samples:** https://github.com/seata/seata-samples
+ - **Release:** https://github.com/seata/seata/releases
+ - **WebSite:** https://seata.io
+
+
diff --git a/changes/zh-cn/develop.md b/changes/zh-cn/develop.md
new file mode 100644
index 00000000000..dd0a9d0eeb7
--- /dev/null
+++ b/changes/zh-cn/develop.md
@@ -0,0 +1,66 @@
+所有提交到 develop 分支的 PR 请在此处登记。
+
+
+
+### feature:
+ - [[#4661](https://github.com/seata/seata/pull/4713)] 支持根据xid负载均衡算法
+ - [[#4676](https://github.com/seata/seata/pull/4676)] 支持Nacos作为注册中心时,server通过挂载SLB暴露服务
+ - [[#4642](https://github.com/seata/seata/pull/4642)] 支持client批量请求并行处理
+ - [[#4567](https://github.com/seata/seata/pull/4567)] 支持where条件中find_in_set函数
+
+
+### bugfix:
+ - [[#4515](https://github.com/seata/seata/pull/4515)] 修复develop分支SeataTCCFenceAutoConfiguration在客户端未使用DB时,启动抛出ClassNotFoundException的问题。
+ - [[#4661](https://github.com/seata/seata/pull/4661)] 修复控制台中使用PostgreSQL出现的SQL异常
+ - [[#4667](https://github.com/seata/seata/pull/4682)] 修复develop分支RedisTransactionStoreManager迭代时更新map的异常
+ - [[#4678](https://github.com/seata/seata/pull/4678)] 修复属性transport.enableRmClientBatchSendRequest没有配置的情况下缓存穿透的问题
+ - [[#4701](https://github.com/seata/seata/pull/4701)] 修复命令行参数丢失问题
+ - [[#4607](https://github.com/seata/seata/pull/4607)] 修复跳过全局锁校验的缺陷
+ - [[#4696](https://github.com/seata/seata/pull/4696)] 修复 oracle 存储模式时的插入问题
+ - [[#4726](https://github.com/seata/seata/pull/4726)] 修复批量发送消息时可能的NPE问题
+ - [[#4729](https://github.com/seata/seata/pull/4729)] 修复AspectTransactional.rollbackForClassName设置错误
+ - [[#4653](https://github.com/seata/seata/pull/4653)] 修复 INSERT_ON_DUPLICATE 主键为非数值异常
+
+### optimize:
+ - [[#4650](https://github.com/seata/seata/pull/4650)] 修复安全漏洞
+ - [[#4670](https://github.com/seata/seata/pull/4670)] 优化branchResultMessageExecutor线程池的线程数
+ - [[#4662](https://github.com/seata/seata/pull/4662)] 优化回滚事务监控指标
+ - [[#4693](https://github.com/seata/seata/pull/4693)] 优化控制台导航栏
+ - [[#4700](https://github.com/seata/seata/pull/4700)] 修复 maven-compiler-plugin 和 maven-resources-plugin 执行失败
+ - [[#4711](https://github.com/seata/seata/pull/4711)] 分离部署时 lib 依赖
+ - [[#4720](https://github.com/seata/seata/pull/4720)] 优化pom描述
+ - [[#4728](https://github.com/seata/seata/pull/4728)] 将logback版本依赖升级至1.2.9
+ - [[#4745](https://github.com/seata/seata/pull/4745)] 发行包中支持 mysql8 driver
+ - [[#4626](https://github.com/seata/seata/pull/4626)] 使用 `easyj-maven-plugin` 插件代替 `flatten-maven-plugin`插件,以修复`shade` 插件与 `flatten` 插件不兼容的问题
+ - [[#4629](https://github.com/seata/seata/pull/4629)] 更新globalSession状态时检查更改前后的约束关系
+ - [[#4662](https://github.com/seata/seata/pull/4662)] 优化 EnhancedServiceLoader 可读性
+
+
+### test:
+ - [[#4544](https://github.com/seata/seata/pull/4544)] 优化TransactionContextFilterTest中jackson包依赖问题
+ - [[#4731](https://github.com/seata/seata/pull/4731)] 修复 AsyncWorkerTest 和 LockManagerTest 的单测问题。
+
+
+非常感谢以下 contributors 的代码贡献。若有无意遗漏,请报告。
+
+
+- [slievrly](https://github.com/slievrly)
+- [pengten](https://github.com/pengten)
+- [YSF-A](https://github.com/YSF-A)
+- [tuwenlin](https://github.com/tuwenlin)
+- [2129zxl](https://github.com/2129zxl)
+- [Ifdevil](https://github.com/Ifdevil)
+- [wingchi-leung](https://github.com/wingchi-leung)
+- [liurong](https://github.com/robynron)
+- [opelok-z](https://github.com/opelok-z)
+- [a364176773](https://github.com/a364176773)
+- [Smery-lxm](https://github.com/Smery-lxm)
+- [lvekee](https://github.com/lvekee)
+- [doubleDimple](https://github.com/doubleDimple)
+- [wangliang181230](https://github.com/wangliang181230)
+- [Bughue](https://github.com/Bughue)
+- [AYue-94](https://github.com/AYue-94)
+- [lingxiao-wu](https://github.com/lingxiao-wu)
+- [caohdgege](https://github.com/caohdgege)
+
+同时,我们收到了社区反馈的很多有价值的issue和建议,非常感谢大家。
\ No newline at end of file
diff --git a/common/pom.xml b/common/pom.xml
index 90171ed419c..85f38fc87bf 100644
--- a/common/pom.xml
+++ b/common/pom.xml
@@ -26,6 +26,7 @@
seata-common
jar
seata-common ${project.version}
+ common library for Seata built with Maven
io.netty
diff --git a/common/src/main/java/io/seata/common/ConfigurationKeys.java b/common/src/main/java/io/seata/common/ConfigurationKeys.java
index 3a07b50baea..4e928951089 100644
--- a/common/src/main/java/io/seata/common/ConfigurationKeys.java
+++ b/common/src/main/java/io/seata/common/ConfigurationKeys.java
@@ -848,4 +848,10 @@ public interface ConfigurationKeys {
* 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";
+
}
diff --git a/common/src/main/java/io/seata/common/DefaultValues.java b/common/src/main/java/io/seata/common/DefaultValues.java
index c982230262c..bebf182566a 100644
--- a/common/src/main/java/io/seata/common/DefaultValues.java
+++ b/common/src/main/java/io/seata/common/DefaultValues.java
@@ -114,7 +114,7 @@ public interface DefaultValues {
boolean DEFAULT_SERVER_ENABLE_CHECK_AUTH = true;
- String DEFAULT_LOAD_BALANCE = "RandomLoadBalance";
+ String DEFAULT_LOAD_BALANCE = "XID";
int VIRTUAL_NODES_DEFAULT = 10;
/**
diff --git a/common/src/main/java/io/seata/common/loader/EnhancedServiceLoader.java b/common/src/main/java/io/seata/common/loader/EnhancedServiceLoader.java
index f310393a290..d9be35d9212 100644
--- a/common/src/main/java/io/seata/common/loader/EnhancedServiceLoader.java
+++ b/common/src/main/java/io/seata/common/loader/EnhancedServiceLoader.java
@@ -21,7 +21,6 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Enumeration;
import java.util.List;
import java.util.Map;
@@ -44,6 +43,12 @@
*/
public class EnhancedServiceLoader {
+ /**
+ * Class->InnerEnhancedServiceLoader map
+ */
+ private static final ConcurrentMap, InnerEnhancedServiceLoader>> SERVICE_LOADERS =
+ new ConcurrentHashMap<>();
+
/**
* Specify classLoader to load the service provider
*
@@ -123,7 +128,7 @@ public static S load(Class service, String activateName, Object[] args)
* @return the s
* @throws EnhancedServiceNotFoundException the enhanced service not found exception
*/
- public static S load(Class service, String activateName, Class[] argsType, Object[] args)
+ public static S load(Class service, String activateName, Class>[] argsType, Object[] args)
throws EnhancedServiceNotFoundException {
return InnerEnhancedServiceLoader.getServiceLoader(service).load(activateName, argsType, args, findClassLoader());
}
@@ -148,7 +153,7 @@ public static List loadAll(Class service) {
* @param args the args
* @return list list
*/
- public static List loadAll(Class service, Class[] argsType, Object[] args) {
+ public static List loadAll(Class service, Class>[] argsType, Object[] args) {
return InnerEnhancedServiceLoader.getServiceLoader(service).loadAll(argsType, args, findClassLoader());
}
@@ -182,9 +187,9 @@ public static void unload(Class service, String activateName) {
throw new IllegalArgumentException("activateName is null");
}
InnerEnhancedServiceLoader serviceLoader = InnerEnhancedServiceLoader.getServiceLoader(service);
- ConcurrentMap, ExtensionDefinition> classToDefinitionMap = serviceLoader.classToDefinitionMap;
- List extensionDefinitions = new ArrayList<>();
- for (Map.Entry, ExtensionDefinition> entry : classToDefinitionMap.entrySet()) {
+ ConcurrentMap, ExtensionDefinition> classToDefinitionMap = serviceLoader.classToDefinitionMap;
+ List> extensionDefinitions = new ArrayList<>();
+ for (Map.Entry, ExtensionDefinition> entry : classToDefinitionMap.entrySet()) {
String name = entry.getValue().getName();
if (null == name) {
continue;
@@ -196,7 +201,7 @@ public static void unload(Class service, String activateName) {
}
serviceLoader.nameToDefinitionsMap.remove(activateName);
if (CollectionUtils.isNotEmpty(extensionDefinitions)) {
- for (ExtensionDefinition definition : extensionDefinitions) {
+ for (ExtensionDefinition definition : extensionDefinitions) {
serviceLoader.definitionToInstanceMap.remove(definition);
}
@@ -212,8 +217,7 @@ public static void unload(Class service, String activateName) {
* @param service the service
* @return all extension class
*/
- @SuppressWarnings("rawtypes")
- static List getAllExtensionClass(Class service) {
+ static List> getAllExtensionClass(Class service) {
return InnerEnhancedServiceLoader.getServiceLoader(service).getAllExtensionClass(findClassLoader());
}
@@ -225,8 +229,7 @@ static List getAllExtensionClass(Class service) {
* @param loader the loader
* @return all extension class
*/
- @SuppressWarnings("rawtypes")
- static List getAllExtensionClass(Class service, ClassLoader loader) {
+ static List> getAllExtensionClass(Class service, ClassLoader loader) {
return InnerEnhancedServiceLoader.getServiceLoader(service).getAllExtensionClass(loader);
}
/**
@@ -244,15 +247,12 @@ private static class InnerEnhancedServiceLoader {
private static final String SERVICES_DIRECTORY = "META-INF/services/";
private static final String SEATA_DIRECTORY = "META-INF/seata/";
- private static final ConcurrentMap, InnerEnhancedServiceLoader>> SERVICE_LOADERS =
- new ConcurrentHashMap<>();
-
private final Class type;
- private final Holder> definitionsHolder = new Holder<>();
- private final ConcurrentMap> definitionToInstanceMap =
+ private final Holder>> definitionsHolder = new Holder<>();
+ private final ConcurrentMap, Holder