Skip to content

Commit

Permalink
Merge master branch to 3.x dev branch (apache#3718)
Browse files Browse the repository at this point in the history
* Release resource after use in ConfigParserTest (apache#3127)

Release resource after use in ConfigParserTest

* add javadoc for registry and some code (apache#3140)

add javadoc for registry and optimize code

* Correct spelling error (apache#3146)

* Code optimization (apache#3118)

* code optimization
* useless import
* optimization

* Code rule (apache#3016)

* code optimization (apache#3167)

code optimization

* Add javadoc for dubbo-serialization module(apache#3002). (apache#3004)

Add javadoc for dubbo-serialization module(apache#3002).

* optimize ReconnectTimerTask's log output (apache#3162)

* optimize log output

* Separate logs for reconnect and close

* remove reconnect exception log

* add some small optimize (apache#3171)

* modify some log describe

* use java8 lambda expression

* fix telnet trace times is always 1 (apache#3038)

* fix telnet trace times is always 1

* use StringUtils determine if the string is empty

* Fix 3105 , make invoke command with Json string parameter without "class" key

* Fix 3105 ,Keep the class key to support overloaded methods

* optimize InvokerTelnetHandlerTest

* Upgrade junt to junit5 (apache#3149)

* upgrade junit to junit5

* modify test

* 批量修改upgrade_junt_to_junit5

* 删除多余的文件

* fi test case

* Disabled soem test case temporarily

* upgrade junit to junit5 and batch modify test case

* copy some code from jupiter5.4.0.M1 for some issues

* 修改rat福泽

* update rat path

* revert case

* add junit-platform-surefire-provider to maven-surefire-plugin

* update dependency

* fix coverage issue (#1)

* use jupiter 5.4.0-M1 and remove junit5 source code

* Format change.

* fix wrong word spelling (apache#3217)

*  Fix provicer --> provider (apache#3222)

* Optimize the code:  use logger instead of printStackTrace(). (apache#3202)

* Optimize code: remove unnecessary judgment code. (apache#3196)

* Optimize the code: fix CallbackServiceCodec.java exportOrunexportCallbackService method issue. (apache#3199)

* Optimize the code: fix url to null, NullPointerException, change private variable to camel mode.
* Optimize the code: exportOrUnexportCallbackService method camel mode.
* Optimize the code: fix method:encodeInvocationArgument private callbackStatus is camel writing.
* Optimize the code: fix name issue
* Exporter is a noun, we should use a verb here, like Export.
* The generics that can be inferred automatically are also deleted.

* Refactor telnet invoke command (apache#3210)

* refactor telnet invoke command

* add select command for telnet

* fix test case

* Remove deprecated AnnotationBean, please refer apache#1485 for the new method to replace. (apache#3232)

* [Dubbo-3231]keep TagRouter consistent with 2.6.x (apache#3233)

* keep TagRouter consistent with 2.6.x

* refactor filterUsingStaticTag using lambda in tagRouter

* Modified to lower camel case (apache#3003)

* wrong event setting (apache#3043)

* wrong event setting

* modify event seeting

* modify

* call the util method (apache#3230)

* Code optimization, call the util method

* mofidy

* modify *

* import package

* Qos heart (apache#3170)

* qos heart question fix apache#3165

* modify

* judge if it's a IdleStateEvent

* add UT

* modify

* Merge pull request apache#3246 from cvictory:2.7.0-release remove gson from dubbo.jar in shading mode , and change to dependency way.

* just for modify comments and imports

* remove gson from dubbo.jar in shading mode, add dependency

* Extract compareTo impl to Router interface and concrete Router only responsible for provide priority. (apache#3240)

something is waiting for us to disscuss:
1. Every Route implement should set a priority?
2.apache#3249

* Protocol compatibility (apache#3254)

add default method into Protocol .

* remove getContext() (apache#3235)

* modify some typos (apache#3257)

* modify some typos

* fix some other addionalParameterKeys and paramter typos

* Merge 2.6.6 source code into 2.7 (apache#3241)

* Merge 2.6.6 source code into 2.7

* Fixed logging level for apache#3241 (comment)

* Change the implementation for apache#3241

* Remove the implementation Ordered, because it does not work in Spring Framework : apache#3241

* Remove the implementation Ordered, because it does not work in Spring Framework : apache#3241

* Only Optimize Imports

* Add activation for the release profile

* Update the Java SE link to Java 8.

* Move the doclint configuration to correct position.

* Deactivate maven release profile.

* Fix final name.

* Optimize the Apollo extension of Config-Center SPI

* must shutdown thread pool when no in use (apache#3255)

* must shutdown thread pool when no in use

* Update 2.7.0 release notes

* Igonre .patch file.

* [maven-release-plugin] prepare release dubbo-2.7.0

* [maven-release-plugin] prepare for next development iteration

* [maven-release-plugin] prepare release dubbo-2.7.0

* [maven-release-plugin] prepare for next development iteration

* Bring back redis auth UT (apache#3278)

* Optimize code: Fix Constructor to determine illegal logic problems (apache#3197)

* fix return type (apache#3284)

* use standardcharset.utf-8 instead of literal (apache#3285)

* use standardcharset.utf-8 instead of literal

* remove unused import

* Move the iteration of methods of a service config to the if block of the class have method declared not by Object; remove some useless parameter type (apache#3282)

* Add shutdown command for telnet (apache#3280)

* telnet add shutdown command

* refactor rename shutDown to shutdown

* remove unregister  in doDestroy

* unregister the ShutdownHook when the shutdown command invoked

* Ignore mvn wrapper binary files.

* [maven-release-plugin] prepare release dubbo-2.7.0

* [maven-release-plugin] prepare for next development iteration

* Fix typo (apache#3293)

* Improve/heartbeat (apache#3276)

* add the notice of code style

* modify the pic

* del teh faq.md, move to dubbo admin

* improve:remove the heartbeat on server side

* improve:change the scope of timer to static

* code optimization (apache#3297)

* further enhancement for pull request apache#3297, also fix an issue introduced in this pull request (apache#3303)

* further enhancement for pull request apache#3297, also fix an issue introduced
in this pull request

* rename the variable

* enhance the readability

* Fix UT conflicts of merging 2.7.0-release

* Remove usage of classes in Junit 4

* Remove usage of classes in Junit 4

* Remove usage of classes in Junit 4

* Remove usage of classes in Junit 4

* Remove usage of classes in Junit 4

* remove not used import (apache#3309)

* remove unused import (apache#3311)

* remove not used import

* remove unused import

* Degrade some UTs in dubbo-config-spring to use junit 4.

* use beforeEach and afterEach

* Merge pull request apache#3295, unregister consumer url when client destroyed (referenceconfig#destroy).

* fix client reconnect offline provider.

* refactor cancel future.

* fix client reconnect offline provider.

* refactor cancel future.

* fix client reconnect offline provider.

* refactor cancel future.

* fix unregister when client destroyed

* Optimize heartbeat (apache#3299)

* Optimize heartbeat.
We should cancel the timeout when the client or server is close.

* change the hashedWheelTimer's ticks

* Optimize tasks keeper.

* fix timeout cancel to task cancel.
keep task directly.

* simply telnet command enabled check logic (apache#3316)

* simply telnet command enabled check

* Add comments, manually merge apache#3181.

* Fix for loop reference test pass on protostuff (apache#3252)

* Fix maven compile warning (apache#3322)

* Merge pull request apache#3174, make timeout filter not work in async way.

* Merge pull request apache#3323, fix double-checked locking.

* Merge pull request apache#2959, fix a bug of service config.

* Fix random ut falling in DubboMonitorTest (apache#3327)

* Merge pull request apache#3017, fixes apache#2981, refresh invocation's attachments in each invoke.

Fixes apache#2981.

* Merge pull request apache#3141, optimize outbound event and some code formatting.

* Merge pull request apache#3333, add @OverRide for sub-class method.

* Fix thrift protocol, use path to locate exporter. (apache#3331)

* Fix thrift protocol, use path to locate exporter.

* Fix UT

* fix apache#2842. remove duplicate SPI definitions for 2.7.x (apache#3340)

remove duplicate SPI definitions for 2.7.x

* fix org.apache.dubbo replace com.alibaba.dubbo (apache#3338)

org.apache.dubbo replace com.alibaba.dubbo

* fix the typo of notification mail list address (apache#3335)

fix the typo of notification mail list address

* Review code of TypeDefinitionBuilder (apache#3064)

* Review code of TypeDefinitionBuilder
1. use init method to init builds' list

* use single list for all builders.
Seems like the builder is thread-safe, we can keep them static and final.

* clean code.

* [Dubbo-3339] Remove futility check code (apache#3346)

* Remove futility check code

* add no-argument constructor method to URL.java fix apache#3342 (apache#3350)

* Fix NullPointerException when Hessian instantiate URL with JavaDeserializer

* Enable ZookeeperMetadataReportTest (apache#3360)

* Package name error (apache#3354)

* some optimize on ExtensionLoader (apache#3307)

* some optimize on ExtensionLoader
* make ci rerun
* fix compile error
* fix ci failure

* Fix some unit test failure (apache#3337)

* Fix compilation error fix apache#3365 (apache#3366)

* [Dubbo-900] Fix 通过 override 修改 hessian协议的提供者的配置 不生效 apache#900 (apache#3363)

* reExport fail fix#900

* modify

* use Objects.equals

* compare URL for all proxy protocol

* delete useless judgment (apache#3326)

* Fix self assignment (apache#3301)

* Fix self assignment
* Replace set with list to insure item order
* Minor tweak of codestyle

* [Dubbo-2423] Multicast demo fails with message "Can't assign requested address". (apache#3317)

* Fix apache#2423, Multicast demo fails with message "Can't assign requested address"

* temporarily disable ipv6 test

* simplify map empty judgment (apache#3376)

* 应该是非空才循环,不然会导致在使用redis注册中心时消费者引用不到服务 (apache#3291)

* enhance unit test and logging (apache#3374)

* enhance unit test and logging

* enhance logging message

* fix unit test

* make code clean

* follow up for apache#3291 (apache#3378)

* correct typos,eg: occured -> occurred (apache#3380)

LGTM

* follow up for apache#3376 (apache#3377)

* [Dubbo-3347] Update package name in README file  fix#3347 (apache#3362)

* [Enhancement] Replace explicit resource management with try-with-resource (apache#3281)

* first pull request (apache#3396)

* [Dubbo-3361] Make DubboAppender extends from FileAppender (apache#3383)

* Modify deprecated class to updated class in some comments (apache#3402)

* Merge pull request apache#3341, start to use IdleStateHandler in Netty4.

* Enhancement/logger factory (apache#3389)

* polishing LoggerFactory
* polishing code using map.computeIfAbsent
* fix ci failure
* remove unnecessary break in switch
* call overloaded method
* update as requested
* add unit test

* move construction of ConfigChangeEvent outside the lambda expression (apache#3398)

* make ConfigChangeEvent immutable (apache#3403)

* Fix license issues (apache#3382)

* Fix license issues

* revert change to Netty's copyright

* [Dubbo-936]fix The nc command is unstable in the dubbo startup script apache#936 (apache#3375)

* fix dubbo启动脚本中nc命令不稳定 apache#936

* modify

* refactor ScriptRouter: (apache#3404)

1, remove priority field, the same as super class
2, remove getUrl method, the same as super class
3, refactor constructor, extract method: getRule, getEngine
4, refactor route, extract method: createBindings, getRoutedInvokers

* Clean pom.xml file apache#3186 (apache#3211)

* update as requested
* add meta space size arguments

* [Enhancement] Use ThreadLocalRandom and try-with-resource (apache#3239)

* polish

* fix code reviews

* empty

* polish pom.xml (remove test profile and jvm permSize args) (apache#3407)

* update dubbo samples' link (apache#3413)

* Acesslog dateformat enhancemnet (apache#3274)

* apache#3026 Access log related changed

* Reviwe comment incorporated given by @satansk and removed unuded method

* Incorporated @beiwei30 review comment, incorporated common-lang3 time package modified version

* Added rat entry for common lang3 FastDateFormat related java files

* switch back to jdk's dateformatter

* refactor loadClass method (apache#3410)

* refactor: expression is always true, remove it
(names != null && names.length > 0)

* Update dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java

Co-Authored-By: wanghbxxxx <[email protected]>

* Update ExtensionLoader.java

* Update ExtensionLoader.java

* Update ExtensionLoader.java

* Update ExtensionLoader.java

* implement pull request apache#3412 on master branch (apache#3418)

* event of response fix#3244 (apache#3247)

* [Dubbo-3069]Use regular expressions to judge fix apache#3069 (apache#3093)

* Use regular expressions to judge fix apache#3069

*  moved into Constants class

* modify

* Unused import

* modify

* can not put it in front

* catch NumberFormatException and return 'null' if necessary

* remove recursive call

* support .1 and 1.

* modify

* Support multiple shared links (apache#2457)

* make dubbo support multiple shared links, upgrading RPC throughput

* Fix compilation error

* Fix compilation error

* opti import

* if add {}

* checkstyle fail

* fix getSharedClient referenceCount calculation error bug

* 优化 import

* Fix the problem that the getSharedClient thread is not safe

* Fix the problem that the getSharedClient thread is not safe

* Try fixing ci error, https://travis-ci.org/apache/incubator-dubbo/jobs/453185295

* 将DEFAULT_CONNECTIONS_KEY修改成SERVICE_CONNECTIONS_KEY

* dubbo.xsd add shareconnections attribute,

* Optimize code format

* Fix mult connect ghost connect  problem

* format code

* Remove the concept of ghostClientMap and ghost connection. In fact, ghostClient is LazyConnectExchangeClient. At present, the LazyConnectExchangeClient object is added directly in ReferenceCountExchangeClient to realize the mapping relationship with ReferenceCountExchangeClient. The relationship between previous ghostClient and url mapping is not applicable to the current new share. Multiple connections.

* Optimize the ReferenceCountExchangeClient and remove the reference to the lazyConnectExchangeClient because it doesn't make much sense; add locks in the close operation of the AbstractClient, because connect, disconnect, and close should not be done at the same time.

* format code

* try remove close lock

* Restore close method

* Restore ReferenceCountExchangeClient reference to LazyConnectExchangeClient object

* Optimize the logic of using the LazyConnectExchangeClient inside the ReferenceCountExchangeClient; Supplemental shared multi-connected unit test

* remove useless catch exception (apache#3421)

* remove duplicated import (apache#3440)

* Update junit to 5.4.0 release version (apache#3441)

* update junit to 5.4.0 release version
* remove uesles config

* remove duplicated unused method and move unit test (apache#3446)

* Add checkstyle rule for redundant import (apache#3444)

* add checkstyle for redundant import and fix all issue in repo

* fix git diff issue

* Enhance the java doc of dubbo-container module (apache#3437)

Fixes apache#2994

* refactor adaptive extension class code creation: extract class AdaptiveClassCodeGenerator (apache#3419)

* refactor adaptive extension class code creation:
extract createAdaptiveExtensionClassCode to class
AdaptiveClassCodeGenerator

* add some comment

* add license and comment

* remove main method

* refactor javassist compiler: extract class CtClassBuilder (apache#3424)

* refactor JavassistCompiler

* rename variable names

* reformat code

* refactor: prepend modifier of constructor, field and method outside the
JavassistClassInfo

* add null for ClassUtils.getSimpleClassName

* rename JavassistClassInfo to CtClassBuilder

* fix apache#2619: is there a problem in NettyBackedChannelBuffer.setBytes(...)? (apache#3448)

* Bugfix/timeout queue full (apache#3451)

replace ArrayBlockingQueue with LinkedBlockingQueue and remove capacity.

* extract 2 methods: (apache#3453)

isSetter: test if a method is a setter
getSetterProperty: get property for setter, for instance setVersion
return "version"

* Add delay export  test case (apache#3447)

* [Dubbo-3237]fix connectionMonitor in RestProtocol seems not work apache#3237 (apache#3455)

* extract method to cache default extension name (apache#3456)

* possibly bug fix (apache#3460)

* Merge pull request apache#3470, Apache parent pom version is updated to 21.

* A follow up of 6058846, update apache pom version to 21

* Class comment error (apache#3481)

* enhancement: extract duplicated method calls to variable (apache#3482)

extract duplicated method calls to variable

* [Enhancement]: language level migration (apache#3485)

* use java7 diamond operator

* replace Collections.sort with List.sort

* extract duplicated code blocks

* use StandardCharsets.UTF_8

* use try-with-resources

* use java7 diamond operator

* enhance log message

* fix unit tests failures

* Branch refactor version (apache#3471)

* fix typo (apache#3491)

* [Enhancement]: RestProtocol (apache#3480)

* Merge pull request apache#3466, Condition is not properly used.

fixes apache#1917

* fix issue#1293: A question for ReferenceConfigCache. (apache#3505)

* [Enhancement]: refactor categorizing with Collectors.groupingBy (apache#3490)

* Fix invocation of toString on an array (apache#3507)

Fix invocation of toString on an array

* Fix inefficient use of keySet iterator instead of entrySet iterator (apache#3508)

Fix inefficient use of keySet iterator instead of entrySet iterator

* Boolean class use method toString() instead of String.valueof() (apache#3495)

* Merge pull request apache#3515, add metadataFactory SPI config for all-in-one shade jar.

Fixes apache#3514, missing redis metadata SPI extension in dubbo.jar.

* Merge pull request  apache#3513, bump up hessian-lite version

Fixes apache#3423.

* [Dubbo-3106]Make getRegistered return unmodifiable collection. apache#3106 (apache#3425)

* make getRegistered return unmodifiable collection. apache#3106

* fix ci failure

* Merge pull request apache#3527 Bricks-Man/incubator-dubbo, fix accidentally check exchanger in setDispatcher

fixes apache#3518

* Fix UT error following PR apache#3527

* Cache CompiledScript apache#390 (apache#3524)

* Merge pull request apache#3532 from beiwei30:use-concurrent-map, avoid using synchronized.

* Fix context filter's bug (apache#3526)

* Modify MetadataReportRetry ThreadName (apache#3550)

* fix: rename the thread name from DubboRegistryFailedRetryTimer to DubboMetadataReportRetryTimer in MetadataReportRetry

* fix issue apache#3533 (apache#3548)

* fix issue apache#195: @reference check=false不生效 (apache#3530)

* Merge pull request apache#3528, fixes apache#208, setOnreturn does not work with generic invocation.

* fix issue apache#274: monitor的cluster一定是failsafe的,而且无法修改 (apache#3523)

* fix issue apache#274: monitor的cluster一定是failsafe的,而且无法修改

* remove unused import

* Merge pull request apache#3520, fix apache#538 polish the process of deciding the ip to bind.

* Fix npe when package is null. (apache#3557)

* a more elegant way (apache#3567)

* Correct security report link.

* Add go implementation link.

* fix DubboCodec re-implements Codec2 apache#2977 (apache#3547)

* Merge pull request apache#3566, optimize compareTo of Router to guarantee consistent behaviour.

* Merge pull request apache#3577, rmi support generic.

Fixes apache#2779

* Fixes apache#3367, fail to parse config text with white space (apache#3589)

* [DUBBO-3476]: NullPointerException happened when using SpringContainer.getContext() (apache#3600)

*     apache#3476: NullPointerException happened when using SpringContainer.getContext()

* rollback change for DEFAULT_SPRING_CONFIG

* replace magic string "dubbo" with constants (apache#3602)

* dubbo-parent是头文件不包含依赖。替换成dubbo, 同时增加zk连接的依赖。因为curator-framework在dubbo-dependencies当中去除掉了zookeeper的包,所以外部使用的时候需要额外配置. (apache#3516)

* Merge pul request apache#3607, introduce dubbo-dependencies-zookeeper.

* Merge RestProtocolTest.java (apache#3597)

* [DUBBO-3494]: Refactor URL to URLBuilder (apache#3500)

* refactor URL to URLBuilder. apache#3494

* remove unrelated changes

* replace more with URLBuilder

* fix ci failure

* remove unnecessary comment

* Dubbo-3473 Fix Not Properly Closed Resources (apache#3474)

* Dump TagRouterRule (apache#3536)

Dump TagRouterRule since the TagRouterRule can be changed to `null` by ConfigCenter

* Merge pull request apache#3578, fixes apache#3289, enhance tagRoute:  support ip expression match.

* Merge pull request apache#2614, follow up for issue apache#195.

* [Dubbo-3367] Fail to parse config text with white space (apache#3590)

* Merge pull request apache#3558, check if remoteGroup is empty or not.

Fixes  apache#3555.

* Fluent style builder API support(apache#3431) (apache#3549)

* Update maven central badge.

* Merge pull request apache#3593, Consul support for Registry and Metadata.

* [Dubbo-808] Support etcd registry (apache#3605)

* Merge https://github.com/dubbo/dubbo-registry-etcd into incubator-dubbo

* Add UT to ConfigurationUtilsTest

* rename dubbo-ops to dubbo-admin (apache#3628)

* typo for AccessLogFilter (apache#3633)

* Fix some etcd3 registry bugs. (apache#3632)

* fix some bugs.
* fix typo
* cancel keep alive if recovery failed.
* remove duplicate license header.

* [Dubbo-3570] repackage compatible enhancement. (apache#3622)

* Fixes apache#3570, NoSuchMethodError are thrown when add custorm Filter using dubbo2.6.5 and JDK1.6 and upgrade to dubbo2.7.0
* Add compatible UT
* fix UT

* Replace RpcStatus to count (apache#2984) (apache#3636)

* Fix when qos is disable,log will print every time. (apache#3397)

* fix when qos is disable,log will print every time.

* change qos server boos thread number 1

* add openjdk to travis (apache#3300)

* add openjdk to travis

* add openjdk to travis

* Merge pull request apache#3647, workaround to fix apache#3646.

* add metrics integration apache#3598 (apache#3643)

* add metrics integration

* add license

* Merge pull request apache#3639, Add equivalent annotation support for MethodConfig.

Fixes apache#2045

* Fixes apache#3478, apache#3477 and apache#3445

* fix heartbeat internal (apache#3579)

* Merge pull request apache#3603, configcenter share zookeeper connection with registry.

Fixes apache#3288

* correct spelling error (apache#3645)

* make snakeyaml transitive, governance rule relies on this dependency to work. (apache#3659)

* check null for path before call rest server (apache#3665)

* [Dubbo-3653] etcd as config center (apache#3663)

* Minor refactor, no functinoal change.

* Separate ConnectionStateListener

* Simplify code

* Fix typo

* Support get external config from etcd config center

* Polish diamond operator

* Initial etcd support as config center

* Add a put interface for JEtcdClient

* Enhanced Etcd config center support with the ability to watch and cancel watch

* Polish code

* Distinguish modification event and delete event

* Add etcd registry and configcenter to dubbo-all

* Watch again when connection is re-established

* Polish code and fix some documentation errors (apache#3655)

* [Dubbo-3657] Fix junit test failed (apache#3658)

* Improve the checking of lease id. apache#3684 (apache#3692)

It looks good.

* Optimize DefaultTpsLimiter (apache#3654)

* Correct @parameter config of field of ConfigCenterConfig (apache#3688)

* fix-3678 (apache#3681)

* Add unit test for unpack and stick pack of dubbo and telent (apache#3703)

* fix compile error after merged master branch

* remove useless imports

* add AddressListener into RegistryDirectory
  • Loading branch information
chickenlj authored and Jeff-Lv committed Mar 26, 2019
1 parent 02cca09 commit 897b80d
Show file tree
Hide file tree
Showing 877 changed files with 29,940 additions and 13,934 deletions.
5 changes: 5 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@ language: java
sudo: false # faster builds

jdk:
- openjdk11
- oraclejdk11
- openjdk8
- oraclejdk8

cache:
Expand All @@ -16,3 +18,6 @@ script:

after_success:
- bash <(curl -s https://codecov.io/bash)

after_failure:
- if [ -f dubbo.log ]; then echo "------TAIL of dubbo.log------"; tail -n 1000 dubbo.log; echo "------END of dubbo.log------"; fi
69 changes: 38 additions & 31 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,61 +1,68 @@
# Release Notes

## 2.7.0
环境要求:需要Java 8及以上版本支持

请在[这里]()了解关于升级2.7.x版本的注意事项和兼容性问题
Requirements: **Java 8+** required

## New Features
Please check [here](https://github.com/apache/incubator-dubbo/blob/2.7.0-release/CHANGES.md#upgrading-and-compatibility-notifications) for notes and possible compatibility issues for upgrading from 2.6.x or lower to 2.7.0.

- 服务治理规则增强。
- 更丰富的服务治理规则,新增应用级别条件路由、Tag路由等
- 治理规则与注册中心解耦,增加对Apollo等第三方专业配置中心的支持,更易于扩展
- 新增应用级别的动态配置规则
- 规则体使用更易读、易用YAML格式
### New Features

- 外部化配置。支持读取托管在远程的集中式配置中心的dubbo.properties,实现应用配置的集中式管控。
- Enhancement of service governance rules.
- Enriched Routing Rules.
1. Conditional Routing. Supports both application-level and service-level conditions.
2. Tag Routing. Newly introduced to better support traffic isolation, such as grey deployment.
- Decoupling governance rules with the registry, making it easier to extend. Apollo and Zookeeper are available in this version. Nacos support is on the way...
- Application-level Dynamic Configuration support.
- Use YAML as the configuration language, which is more friendly to read and use.

- 更精炼的注册中心URL,进一步减轻注册中心存储和同步压力,初步实现地址和配置的职责分离。
- Externalized Configuration. Supports reading `dubbo.properties` hosted in remote centralized configuration center - centralized configuration.

- 新增服务元数据中心,负责存储包括服务静态化配置、服务定义(如方法签名)等数据,默认提供Zookeeper, Redis支持。此功能也是OPS实现服务测试、Mock等治理能力的基础。
- Simplified registry URL. With lower Registry memory use and less notification pressure from Service Directory, separates Configuration notification from Service Discovery.

- 异步编程模式增强(限定于Dubbo协议)
- 原生CompletableFuture<T>签名接口支持
- 服务端异步支持
- 异步Filter链
- Metadata Center. A totally new concept since 2.7.0, used to store service metadata including static configuration, service definition, method signature, etc.. By default, Zookeeper and Redis are supported as the backend storage. Will work as the basis of service testing, mock and other service governance features going to be supported in [Dubbo-Admin](https://github.com/apache/incubator-dubbo-admin).

- 新增Protobuf序列化协议扩展
- Asynchronous Programming Model (only works for Dubbo protocol now)
- Built-in support for the method with CompletableFuture<T> signature.
- Server-side asynchronous support, with an AsyncContext API works like Servlet 3.0.
- Asynchronous filter chain callback.

- 新增ExpiringCache缓存策略扩展
- Serialization Extension: Protobuf.

## Enhancements / Bugfixes
- Caching Policy Extension: Expiring Cache.

- 负载均衡策略优化,包括ConsitentHash(#2190) 、LeastActive(#2171)、Random(#2597) 、RoundRobin(#2586) (#2650)
### Enhancements / Bugfixes

- 升级第三方依赖:默认通信框架为netty 4、默认ZK客户端为Curator、Jetty 9k
- Load Balancing strategy enhancement: ConsitentHash #2190, LeastActive #2171, Random #2597, RoundRobin #2650.

- 增加地址读取时对IPV6的支持(#2079)
- Third-party dependency upgrading.
- Switch default remoting to Netty 4.
- Switch default Zookeeper client to Curator.
- Upgrade Jetty to 9.x.

- 性能优化,链接关闭的情况下使得Consumer快速返回 (#2185)
- IPV6 support #2079.

- 修复Jdk原生类型在kryo中的序列化问题 (#2178)
- Performance tuning, check hanging requests on a closed channel, make them return directly #2185.

- 修复Provider端反序列化失败后,没有及早通知Consumer端的问题 (#1903)
- Fixed the serialization problem of JDK primitive types in Kryo #2178.

- Fixed the problem of failing to notify Consumer as early as possible after the Provider side deserialization failed #1903.

## 升级与兼容性
### Upgrading and Compatibility Notifications

此次版本发布我们遵循了保持和老版本兼容的原则,尤其是在一些可能会破坏2.7版本与低版本互操作性的问题上,我们增加了一些兼容性代码,典型如服务治理规则、Package重命名、注册URL简化等。
We have always keep compatibility in mind during the whole process of 2.7.0. We even want old users to upgrade with only on pom version upgrade, but it's hard to achieve that, especially when considering that we have the package renamed in this version, so we had some tradeoffs. If you only used the Dubbo's most basic features, you may have little problems of upgrading, but if you have used some advanced features or have some SPI extensions inside, you'd better read the upgrade notifications carefully. The compatibility issues can be classified into the following 5 categories, for each part, there will have detailed dos and don'ts published later in the official website.

1. Package重命名
1. Interoperability between 2.7.0 and lower versions

com.alibaba.dubbo -> org.apache.dubbo
2. Package renaming

2. 注册URL简化
com.alibaba.dubbo -> org.apache.dubbo

3. 服务治理规则
3. Simplification of registered URLs

4. 配置
4. Service Governance Rules

5. Configuration


## 2.6.5
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The mailing list is the recommended way for discussing almost anything that rela

- [[email protected]](mailto:[email protected]): the develop mailing list, you can ask question here if you have encountered any problem when using or developing Dubbo.
- [[email protected]](mailto:[email protected]): all the commits will be sent to this mailing list. You can subscribe to it if you are interested in Dubbo's development.
- [notification@dubbo.incubator.apache.org](mailto:notification[email protected]): all the Github [issue](https://github.com/apache/incubator-dubbo/issues) updates and [pull request](https://github.com/apache/incubator-dubbo/pulls) updates will be sent to this mailing list.
- [notifications@dubbo.incubator.apache.org](mailto:notifications[email protected]): all the Github [issue](https://github.com/apache/incubator-dubbo/issues) updates and [pull request](https://github.com/apache/incubator-dubbo/pulls) updates will be sent to this mailing list.

### Reporting issue

Expand Down
14 changes: 5 additions & 9 deletions LICENSE
Original file line number Diff line number Diff line change
Expand Up @@ -208,15 +208,6 @@ Apache Dubbo includes a number of submodules with separate copyright notices
and license terms. Your use of these submodules is subject to the terms and
conditions of the following licenses.

For the org.apache.dubbo.common.concurrent package:

This product bundles and repackages the following code in Google Guava 16.0.1, which is available under a
"Apache License 2.0" license. For details, see https://github.com/google/guava/blob/v16.0.1/COPYING.

* com.google.common.util.concurrent.ExecutionList
* com.google.common.util.concurrent.ListenableFuture
* com.google.common.util.concurrent.ListenableFutureTask

For the package org.apache.dubbo.common.threadlocal and org.apache.dubbo.common.timer:

This product contains a modified portion of 'Netty', an event-driven asynchronous network application framework also
Expand All @@ -229,3 +220,8 @@ This product contains a modified portion of 'Netty', an event-driven asynchronou
* io.netty.util.Timeout
* io.netty.util.HashedWheelTimer

For the org.apache.dubbo.common.utils.CIDRUtils :

This product contains a modified portion of 'edazdarevic.commons.net.CIDRUtils',
under a "MIT License" license, see https://github.com/edazdarevic/CIDRUtils/blob/master/CIDRUtils.java

69 changes: 41 additions & 28 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[![Build Status](https://travis-ci.org/apache/incubator-dubbo.svg?branch=master)](https://travis-ci.org/apache/incubator-dubbo)
[![codecov](https://codecov.io/gh/apache/incubator-dubbo/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/incubator-dubbo)
![maven](https://img.shields.io/maven-central/v/com.alibaba/dubbo.svg)
![maven](https://img.shields.io/maven-central/v/org.apache.dubbo/dubbo.svg)
![license](https://img.shields.io/github/license/alibaba/dubbo.svg)
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/apache/incubator-dubbo.svg)](http://isitmaintained.com/project/apache/incubator-dubbo "Average time to resolve an issue")
[![Percentage of issues still open](http://isitmaintained.com/badge/open/apache/incubator-dubbo.svg)](http://isitmaintained.com/project/apache/incubator-dubbo "Percentage of issues still open")
Expand All @@ -29,26 +29,26 @@ We are now collecting dubbo user info in order to help us to improve Dubbo bette

## Getting started

The following code snippet comes from [Dubbo Samples](https://github.com/dubbo/dubbo-samples/tree/master/dubbo-samples-api). You may clone the sample project and step into `dubbo-samples-api` sub directory before read on.
The following code snippet comes from [Dubbo Samples](https://github.com/apache/incubator-dubbo-samples/tree/master/dubbo-samples-api). You may clone the sample project and step into `dubbo-samples-api` sub directory before read on.

```bash
# git clone https://github.com/dubbo/dubbo-samples.git
# cd dubbo-samples/dubbo-samples-api
# git clone https://github.com/apache/incubator-dubbo-samples.git
# cd incubator-dubbo-samples/dubbo-samples-api
```

There's a [README](https://github.com/dubbo/dubbo-samples/blob/master/dubbo-samples-api/README.md) file under `dubbo-samples-api` directory. Read it and try this sample out by following the instructions.
There's a [README](https://github.com/apache/incubator-dubbo-samples/tree/master/dubbo-samples-api/README.md) file under `dubbo-samples-api` directory. Read it and try this sample out by following the instructions.

### Maven dependency

```xml
<properties>
<dubbo.version>2.6.5</dubbo.version>
<dubbo.version>2.7.0</dubbo.version>
</properties>

<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo-dependencies-bom</artifactId>
<version>${dubbo.version}</version>
<type>pom</type>
Expand All @@ -59,35 +59,47 @@ There's a [README](https://github.com/dubbo/dubbo-samples/blob/master/dubbo-samp

<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<groupId>org.apache.dubbo</groupId>
<artifactId>dubbo</artifactId>
<version>${dubbo.version}</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-all</artifactId>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
</dependency>
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-recipes</artifactId>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
</dependency>
</dependencies>
```

### Define service interfaces

```java
package org.apache.dubbo.demo.api;
package org.apache.dubbo.samples.api;

public interface GreetingService {
String sayHello(String name);
}
```

*See [api/GreetingService.java](https://github.com/dubbo/dubbo-samples/blob/master/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/api/GreetingsService.java) on GitHub.*
*See [api/GreetingService.java](https://github.com/apache/incubator-dubbo-samples/blob/master/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/api/GreetingsService.java) on GitHub.*

### Implement service interface for the provider

```java
package org.apache.dubbo.demo.provider;
package org.apache.dubbo.samples.provider;

import org.apache.dubbo.demo.GreetingService;
import org.apache.dubbo.samples.api.GreetingService;

public class GreetingServiceImpl implements GreetingService {
public String sayHello(String name) {
Expand All @@ -96,17 +108,17 @@ public class GreetingServiceImpl implements GreetingService {
}
```

*See [provider/GreetingServiceImpl.java](https://github.com/dubbo/dubbo-samples/blob/master/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/provider/GreetingsServiceImpl.java) on GitHub.*
*See [provider/GreetingServiceImpl.java](https://github.com/apache/incubator-dubbo-samples/blob/master/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/provider/GreetingsServiceImpl.java) on GitHub.*

### Start service provider

```java
package org.apache.dubbo.demo.provider;

import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import com.alibaba.dubbo.config.ServiceConfig;
import org.apache.dubbo.demo.GreetingService;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.config.ServiceConfig;
import org.apache.dubbo.samples.api.GreetingService;

import java.io.IOException;

Expand All @@ -124,7 +136,7 @@ public class Application {
}
```

*See [provider/Application.java](https://github.com/dubbo/dubbo-samples/blob/master/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/provider/Application.java) on GitHub.*
*See [provider/Application.java](https://github.com/apache/incubator-dubbo-samples/blob/master/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/provider/Application.java) on GitHub.*

### Build and run the provider

Expand All @@ -138,10 +150,10 @@ public class Application {
```java
package org.apache.dubbo.demo.consumer;

import com.alibaba.dubbo.config.ApplicationConfig;
import com.alibaba.dubbo.config.ReferenceConfig;
import com.alibaba.dubbo.config.RegistryConfig;
import org.apache.dubbo.demo.GreetingService;
import org.apache.dubbo.config.ApplicationConfig;
import org.apache.dubbo.config.ReferenceConfig;
import org.apache.dubbo.config.RegistryConfig;
import org.apache.dubbo.samples.api.GreetingService;

public class Application {
public static void main(String[] args) {
Expand All @@ -164,7 +176,7 @@ public class Application {

The consumer will print out `Hello world` on the screen.

*See [consumer/Application.java](https://github.com/dubbo/dubbo-samples/blob/master/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/consumer/Application.java) on GitHub.*
*See [consumer/Application.java](https://github.com/apache/incubator-dubbo-samples/blob/master/dubbo-samples-api/src/main/java/org/apache/dubbo/samples/consumer/Application.java) on GitHub.*

### Next steps

Expand Down Expand Up @@ -197,7 +209,7 @@ See [CONTRIBUTING](https://github.com/apache/incubator-dubbo/blob/master/CONTRI
* blog post
* translation on documentation
* use cases about how Dubbo is being used in enterprise system.
* Improve the [dubbo-ops/dubbo-monitor](https://github.com/apache/incubator-dubbo-ops).
* Improve the [dubbo-admin/dubbo-monitor](https://github.com/apache/incubator-dubbo-admin).
* Contribute to the projects listed in [ecosystem](https://github.com/dubbo).
* Any form of contribution that is not mentioned above.
* If you would like to contribute, please send an email to [email protected] to let us know!
Expand All @@ -208,21 +220,22 @@ Please follow the [template](https://github.com/apache/incubator-dubbo/issues/ne

## Reporting a security vulnerability

Please report security vulnerability to [us]([email protected]) privately.
Please report security vulnerability to [us](mailto:[email protected]) privately.

## Dubbo eco system
## Dubbo ecosystem

* [Dubbo Ecosystem Entry](https://github.com/dubbo) - A GitHub group `dubbo` to gather all Dubbo relevant projects not appropriate in [apache](https://github.com/apache) group yet
* [Dubbo Website](https://github.com/apache/incubator-dubbo-website) - Apache Dubbo (incubating) official website
* [Dubbo Samples](https://github.com/dubbo/dubbo-samples) - samples for Apache Dubbo (incubating)
* [Dubbo Samples](https://github.com/apache/incubator-dubbo-samples) - samples for Apache Dubbo (incubating)
* [Dubbo Spring Boot](https://github.com/apache/incubator-dubbo-spring-boot-project) - Spring Boot Project for Dubbo
* [Dubbo OPS](https://github.com/apache/incubator-dubbo-ops) - The reference implementation for Dubbo admin
* [Dubbo Admin](https://github.com/apache/incubator-dubbo-admin) - The reference implementation for Dubbo admin

#### Language

* [Node.js](https://github.com/dubbo/dubbo2.js)
* [Python](https://github.com/dubbo/dubbo-client-py)
* [PHP](https://github.com/dubbo/dubbo-php-framework)
* [Go](https://github.com/dubbo/dubbo-go)

## License

Expand Down
1 change: 1 addition & 0 deletions codestyle/checkstyle.xml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@
<module name="NoLineWrap"/>
<module name="OuterTypeFilename"/>
<module name="UnusedImports"/>
<module name="RedundantImport"/>

<!--<module name="CustomImportOrder">-->
<!--<property name="specialImportsRegExp" value="org.apache.dubbo.*"/>-->
Expand Down
Loading

0 comments on commit 897b80d

Please sign in to comment.