Skip to content

Commit 51efea6

Browse files
ProviderManager初始化动作不再在构造方法中实现 (#50)
* 新增com.ctrip.framework.foundation.spi.ProviderManager.initialize方法,在使用自定义的ProviderManager实现时,不再因自动初始化com.ctrip.framework.foundation.internals.DefaultProviderManager和com.ctrip.framework.foundation.internals.NullProviderManager,而打印干扰日志 * 新增com.ctrip.framework.foundation.spi.ProviderManager.initialize方法,在使用自定义的ProviderManager实现时,不再因自动初始化com.ctrip.framework.foundation.internals.DefaultProviderManager和com.ctrip.framework.foundation.internals.NullProviderManager,而打印干扰日志 * update CHANGES.md * update CHANGES.md,使其更加简短明了 * Update apollo-core/src/main/java/com/ctrip/framework/foundation/spi/ProviderManager.java Co-authored-by: Jason Song <[email protected]> * update CHANGES.md * update CHANGES.md --------- Co-authored-by: Jason Song <[email protected]>
1 parent ce881f5 commit 51efea6

File tree

4 files changed

+9
-2
lines changed

4 files changed

+9
-2
lines changed

CHANGES.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Release Notes.
55
Apollo Java 2.3.0
66

77
------------------
8-
*
8+
* [add an initialize method to avoid DefaultProviderManager's logic being triggered when using custom ProviderManager.](https://github.com/apolloconfig/apollo-java/pull/50)
99

1010
------------------
1111
All issues and pull requests are [here](https://github.com/apolloconfig/apollo-java/milestone/3?closed=1)

apollo-core/src/main/java/com/ctrip/framework/foundation/Foundation.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ private static ProviderManager getManager() {
4444
synchronized (LOCK) {
4545
if (s_manager == null) {
4646
s_manager = ServiceBootstrap.loadPrimary(ProviderManager.class);
47+
s_manager.initialize();
4748
}
4849
}
4950
}

apollo-core/src/main/java/com/ctrip/framework/foundation/internals/DefaultProviderManager.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,8 @@ public class DefaultProviderManager implements ProviderManager {
3131
private static final Logger logger = LoggerFactory.getLogger(DefaultProviderManager.class);
3232
private Map<Class<? extends Provider>, Provider> m_providers = new LinkedHashMap<>();
3333

34-
public DefaultProviderManager() {
34+
@Override
35+
public void initialize() {
3536
// Load per-application configuration, like app id, from classpath://META-INF/app.properties
3637
Provider applicationProvider = new DefaultApplicationProvider();
3738
applicationProvider.initialize();

apollo-core/src/main/java/com/ctrip/framework/foundation/spi/ProviderManager.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,11 @@ public interface ProviderManager extends Ordered {
2525

2626
<T extends Provider> T provider(Class<T> clazz);
2727

28+
/**
29+
* @since 2.3.0
30+
*/
31+
default void initialize() {}
32+
2833
@Override
2934
default int getOrder() {
3035
return Ordered.LOWEST_PRECEDENCE;

0 commit comments

Comments
 (0)