Skip to content

Commit

Permalink
ProviderManager初始化动作不再在构造方法中实现 (#50)
Browse files Browse the repository at this point in the history
* 新增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]>
  • Loading branch information
s281542686 and nobodyiam authored Jan 21, 2024
1 parent ce881f5 commit 51efea6
Show file tree
Hide file tree
Showing 4 changed files with 9 additions and 2 deletions.
2 changes: 1 addition & 1 deletion CHANGES.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Release Notes.
Apollo Java 2.3.0

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

------------------
All issues and pull requests are [here](https://github.com/apolloconfig/apollo-java/milestone/3?closed=1)
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ private static ProviderManager getManager() {
synchronized (LOCK) {
if (s_manager == null) {
s_manager = ServiceBootstrap.loadPrimary(ProviderManager.class);
s_manager.initialize();
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ public class DefaultProviderManager implements ProviderManager {
private static final Logger logger = LoggerFactory.getLogger(DefaultProviderManager.class);
private Map<Class<? extends Provider>, Provider> m_providers = new LinkedHashMap<>();

public DefaultProviderManager() {
@Override
public void initialize() {
// Load per-application configuration, like app id, from classpath://META-INF/app.properties
Provider applicationProvider = new DefaultApplicationProvider();
applicationProvider.initialize();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,11 @@ public interface ProviderManager extends Ordered {

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

/**
* @since 2.3.0
*/
default void initialize() {}

@Override
default int getOrder() {
return Ordered.LOWEST_PRECEDENCE;
Expand Down

0 comments on commit 51efea6

Please sign in to comment.