Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Config center optimization #3128

Merged
merged 17 commits into from
Jan 6, 2019

Conversation

chickenlj
Copy link
Contributor

What is the purpose of the change

Introduce ConfigManager, a centralized place where we can store global and shared Config instances. With ConfigManager, we can solve:

  1. Duplicate Config check which we have lost in the previous version (only work in Spring)
  2. Make it possible for a Builder pattern, see the comments I leave in ConfigManager.java

Brief changelog

  1. Add ConfigManager
  2. Related changes in several Config classes.

Verifying this change

Run samples.

Follow this checklist to help us incorporate your contribution quickly and easily:

  • Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
  • Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
  • Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
  • If this contribution is large, please follow the Software Donation Guide.

1. add ConfigManager
2. Reference/Service hold reference of ConfigCenterConfig
3. change from-spring to include-spring-env
# Conflicts:
#	dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/AbstractInterfaceConfig.java
#	dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ReferenceConfig.java
#	dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ServiceConfig.java
#	dubbo-demo/dubbo-demo-api/dubbo-demo-api-provider/src/main/java/org/apache/dubbo/demo/provider/DemoServiceImpl.java
@chickenlj
Copy link
Contributor Author

I don't know why some file changes are not correctly shown, I merged the master branch into my personal branch and this PR just showed these changes.

@carryxyh
Copy link
Member

carryxyh commented Jan 3, 2019

@chickenlj
My flow is:
master rebase upstream master
feature branch(like ConfigCenter-optimization) rebase master
push -f to force override feature branch (push -f is very important)

Is this helpful ?

@chickenlj
Copy link
Contributor Author

Thanks carryxyh, I tried but no help.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants