You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by li...@apache.org on 2018/08/27 04:36:38 UTC

[incubator-dubbo] branch dev-metadata updated (2b80c3e -> 692dbdf)

This is an automated email from the ASF dual-hosted git repository.

liujun pushed a change to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git.


    from 2b80c3e  fix route cache issue, can run
     add adafee0  fix referenceBean initialization issue (#1999)
     add 2205aa7  change the  log level (#2066)
     add d62e15d  Update ContextFilter.java (#2155)
     add 7cb044c  Annotation activate compatible (#2152)
     add 584de00  fix subscription when enable monitor (#2167)
     add c904589  fix dubbo-rpc-http resouces setting name (#2124)
     add 413a2a0  [Dubbo-2064] Ipv6 support (#2079)
     add 70e1e62  solve compatible issue with dubbo 2.5.9, 2.5.10 (#2176)
     add 5de6c76  add compatible class for config #2169 (#2170)
     add 940e355  fix name (#2189)
     add 6ebc183  #2188 ConsistentHashLoadBalance selectForKey can optimization (#2190)
     add 547947a  解析用户定义的URL时,当前太过粗暴,做下优雅调整 (#2077)
     add e961c90  deprecated unused method for Activate #2180 (#2193)
     add cee393c  Uniform module directory names (#2214)
     add 7345582  Add Unit Test for org.apache.dubbo.registry.support.AbstractRegistry
     add 518c596  Merge pull request #2198, Update Jetty to Version 9.
     add 9f21b9f  add timeout config to zookeeper client (#2217)
     add 895a4dd  Judge null for key and value in attachment in RpcContextFilter. (#2171)
     add 3c5fe8b  Remove hessian-lite dependency from bom pom
     add e350840  fix methodName and retries in FailoverClusterInvoker (#2145)
     add 8beeb64  Merge pull request #2220, leave jdk standard classes to kryo, use the default registered serializer by kryo.
     add 1c16f78  Merge pull request #2213, refactor, use CompletetableFuture to rewrite the embedded ListenableFuture.
     add 049591f  [Dubbo-#2177] Improve and Add Unit Test for org.apache.dubbo.registry.support.AbstractRegistry #2177 Team2 (#2284)
     add 92c566a  Baiji 269  team 9 add unit test (#2261)
     add f364a44  [Dubbo-2177]Fix the issue: Supplementary unit test #2177 team 3 (#2260)
     add f2188d3  [Dubbo-#2162]Correct the reference retries default value 0 to 2 (#2183)
     add 768f5f3  change travis ci configuration (#2306)
     add 3a267f8  remote dubbo-all javadoc plugin (#2307)
     add 7277f5e  Qos enhancement (#2153)
     add 8879afa  Increase availability, make @Adaptive try default extension when the specified one couldn't be found. (#2159)
     add e22ac38  Optimize init loadbalance. (#2309)
     add b2ce7b2  fix telnet invoke NPE #2218 (#2273)
     add af2a538  add log4j2 extension (#2279)
     add 64f4adb  replace the method httpclient which is annotated with “@Deprecated” (#2103)
     add e723ad3  fix #2134 upgrade httpcore to 4.4.6 (#2319)
     add 9c8f4e7  HashedWheelTimer (#1973)
     add 7500033  supplemental change for pull request 1973 (#2329)
     add fcd1af8  [Dubbo- support tag router feature] Add a new Router implement -- TagRouter (#2228)
     add 53d34f7  Changed parent pom to Dubbo root (#2333)
     add c6fd684  Direct return when the server goes down unnormally. (#2185)
     add f720ccb  fix travis cov (#2337)
     new 3cd4603  Merge branch 'master' into dev-metadata
     new 692dbdf  Solve merge conflicts manually

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .travis.yml                                        |  14 +-
 LICENSE                                            |   6 +-
 README.md                                          |   8 +-
 {all => dubbo-all}/pom.xml                         |  29 -
 {bom => dubbo-bom}/pom.xml                         |  13 +-
 .../loadbalance/ConsistentHashLoadBalance.java     |   2 +-
 .../dubbo/rpc/cluster/router/tag/TagRouter.java    | 109 +++
 .../TagRouterFactory.java}                         |  68 +-
 .../cluster/support/AbstractClusterInvoker.java    |  43 +-
 .../cluster/support/FailoverClusterInvoker.java    |   8 +-
 .../support/wrapper/MockClusterInvoker.java        |   2 +-
 .../org.apache.dubbo.rpc.cluster.RouterFactory     |   1 +
 .../rpc/cluster/router/tag/TagRouterTest.java      | 169 +++++
 .../support/AbstractClusterInvokerTest.java        |  17 +-
 dubbo-common/pom.xml                               |  10 +
 .../alibaba/dubbo/common/extension/Activate.java   |  88 +--
 .../java/org/apache/dubbo/common/Constants.java    |   4 +
 .../src/main/java/org/apache/dubbo/common/URL.java |  13 +-
 .../main/java/org/apache/dubbo/common/Version.java |   6 +-
 .../dubbo/common/concurrent/ListenableFuture.java  | 133 ----
 .../common/concurrent/ListenableFutureTask.java    |  91 ---
 .../apache/dubbo/common/extension/Activate.java    |   4 +
 .../dubbo/common/extension/ExtensionLoader.java    |  31 +-
 .../extension/support/ActivateComparator.java      |  60 +-
 .../apache/dubbo/common/logger/LoggerFactory.java  |  11 +-
 .../JclLogger.java => log4j2/Log4j2Logger.java}    | 266 ++++---
 .../common/logger/log4j2/Log4j2LoggerAdapter.java  | 107 +++
 .../dubbo/common/timer/HashedWheelTimer.java       | 805 +++++++++++++++++++++
 .../org/apache/dubbo/common/timer/Timeout.java     |  55 ++
 .../java/org/apache/dubbo/common/timer/Timer.java  |  48 ++
 .../org/apache/dubbo/common/timer/TimerTask.java   |  34 +
 .../org/apache/dubbo/common/utils/ClassHelper.java |  16 +-
 .../org/apache/dubbo/common/utils/NetUtils.java    |  89 ++-
 .../org/apache/dubbo/common/utils/StringUtils.java |   2 +-
 .../org/apache/dubbo/common/utils/UrlUtils.java    |  11 +-
 .../org.apache.dubbo.common.logger.LoggerAdapter   |   3 +-
 .../test/java/org/apache/dubbo/common/URLTest.java |  28 +
 ...askTest.java => CompletableFutureTaskTest.java} |  83 +--
 .../common/extension/ExtensionLoaderTest.java      |  10 +
 ...ateExt1Impl1.java => OldActivateExt1Impl2.java} |   7 +-
 ...ateExt1Impl1.java => OldActivateExt1Impl3.java} |   7 +-
 .../extension/support/ActivateComparatorTest.java  |   9 +-
 .../support/{Filter0.java => OldFilter0.java}      |   5 +-
 .../support/{Filter3.java => OldFilter5.java}      |   5 +-
 .../dubbo/common/logger/LoggerAdapterTest.java     |   5 +-
 .../dubbo/common/logger/slf4j/Slf4jLoggerTest.java |   1 -
 .../dubbo/common/timer/HashedWheelTimerTest.java   |  72 ++
 .../dubbo/common/utils/DubboAppenderTest.java      |   2 -
 .../apache/dubbo/common/utils/NetUtilsTest.java    |  29 +
 .../apache/dubbo/common/utils/UrlUtilsTest.java    |   6 +
 ...he.dubbo.common.extension.activate.ActivateExt1 |   4 +-
 ...g.apache.dubbo.common.extension.support.Filter0 |   3 +-
 dubbo-compatible/pom.xml                           |   6 +
 ...{ProviderConfig.java => ApplicationConfig.java} |  10 +-
 .../{ProviderConfig.java => ArgumentConfig.java}   |   2 +-
 .../{ProviderConfig.java => ConsumerConfig.java}   |   2 +-
 .../{ProviderConfig.java => MethodConfig.java}     |   3 +-
 .../{ProviderConfig.java => ModuleConfig.java}     |   9 +-
 .../{ProviderConfig.java => MonitorConfig.java}    |   8 +-
 .../{ProviderConfig.java => ProtocolConfig.java}   |  13 +-
 .../{ProviderConfig.java => ReferenceConfig.java}  |  11 +-
 .../{ProviderConfig.java => RegistryConfig.java}   |  13 +-
 .../{ProviderConfig.java => ServiceConfig.java}    |  11 +-
 .../alibaba/dubbo/config/annotation/Reference.java |   2 +-
 .../main/java/com/alibaba/dubbo/rpc/Invoker.java   |   8 +-
 .../dubbo/{compatible => }/cache/CacheTest.java    |   2 +-
 .../dubbo/{compatible => }/cache/MyCache.java      |   2 +-
 .../{compatible => }/cache/MyCacheFactory.java     |   2 +-
 .../common/extension/ExtensionTest.java            |   4 +-
 .../common/extension/MyExtensionFactory.java       |   2 +-
 .../org/apache/dubbo/compatible/service/Type.java  |  21 -
 .../apache/dubbo/config/ApplicationConfigTest.java |   9 +-
 .../apache/dubbo/config/ArgumentConfigTest.java    |   6 +-
 .../java/org/apache/dubbo/config/ConfigTest.java   |  56 ++
 .../apache/dubbo/config/ConsumerConfigTest.java    |  34 +-
 .../org/apache/dubbo/config/MethodConfigTest.java  |  10 +-
 .../org/apache/dubbo/config/ModuleConfigTest.java  |   9 +-
 .../apache/dubbo/config/ProtocolConfigTest.java    |  68 +-
 .../apache/dubbo/config/ProviderConfigTest.java    |  40 +-
 .../apache/dubbo/config/ReferenceConfigTest.java   |  16 +-
 .../apache/dubbo/config/RegistryConfigTest.java    |  19 +-
 .../{compatible => }/echo/EchoServiceTest.java     |   7 +-
 .../dubbo/{compatible => }/filter/FilterTest.java  |   5 +-
 .../dubbo/{compatible => }/filter/MyFilter.java    |   2 +-
 .../dubbo/{compatible => }/filter/MyInvoker.java   |   4 +-
 .../generic/GenericServiceTest.java                |   7 +-
 .../serialization/MyObjectInput.java               |   2 +-
 .../serialization/MyObjectOutput.java              |   2 +-
 .../serialization/MySerialization.java             |   2 +-
 .../serialization/SerializationTest.java           |   2 +-
 .../{compatible => }/service/CustomArgument.java   |   2 +-
 .../{compatible => }/service/DemoService.java      |   2 +-
 .../{compatible => }/service/DemoServiceImpl.java  |   2 +-
 .../{compatible => }/service/MockInvocation.java   |   2 +-
 .../dubbo/{compatible => }/service/Person.java     |   2 +-
 .../test/java/org/apache/dubbo/service}/Type.java  |  40 +-
 ...alibaba.dubbo.common.extension.ExtensionFactory |   2 +-
 .../dubbo/config/AbstractInterfaceConfig.java      |  10 +-
 .../dubbo/config/AbstractReferenceConfig.java      |   1 -
 .../apache/dubbo/config/AbstractServiceConfig.java |  10 +
 .../org/apache/dubbo/config/ApplicationConfig.java |   3 +
 .../org/apache/dubbo/config/ReferenceConfig.java   |   2 +
 .../apache/dubbo/config/annotation/Reference.java  |   2 +-
 .../apache/dubbo/config/annotation/Service.java    |   5 +
 .../apache/dubbo/config/ReferenceConfigTest.java   |  45 ++
 .../apache/dubbo/config/spring/AnnotationBean.java |  24 +-
 .../src/main/resources/META-INF/compat/dubbo.xsd   | 359 ++++-----
 .../src/main/resources/META-INF/dubbo.xsd          | 354 ++++-----
 .../AnnotationPropertyValuesAdapterTest.java       |   4 +-
 .../src/test/resources/applicationContext.xml      |  16 +
 .../test/resources/webapps/test/WEB-INF/web.xml    |  16 +
 .../test/resources/webapps/test2/WEB-INF/web.xml   |  16 +
 .../test/resources/webapps/test3/WEB-INF/web.xml   |  16 +
 .../org/apache/dubbo/demo/consumer/Consumer.java   |  13 +-
 .../org/apache/dubbo/demo/provider/Provider.java   |  10 +-
 .../pom.xml                                        |  34 +-
 {distribution => dubbo-distribution}/pom.xml       |   0
 .../src/assembly/bin-release.xml                   |   0
 .../src/assembly/source-release.xml                |   0
 dubbo-metrics/dubbo-metrics-api/pom.xml            |  17 +-
 .../apache/dubbo/metrics/MetricManagerTest.java    |  19 +-
 .../org/apache/dubbo/metrics/MetricNameTest.java   |  19 +-
 .../monitor/support/AbstractMonitorFactory.java    |  31 +-
 .../dubbo/qos/protocol/QosProtocolWrapper.java     |  18 +-
 .../command/decoder/HttpCommandDecoderTest.java    |  16 +
 .../command/decoder/TelnetCommandDecoderTest.java  |  16 +
 .../apache/dubbo/qos/command/impl/HelpTest.java    |  16 +
 .../org/apache/dubbo/qos/command/impl/LsTest.java  |  16 +
 .../apache/dubbo/qos/command/impl/OfflineTest.java |  16 +
 .../apache/dubbo/qos/command/impl/OnlineTest.java  |  16 +
 .../apache/dubbo/qos/command/impl/QuitTest.java    |  16 +
 .../qos/command/impl/TestRegistryFactory.java      |  16 +
 .../dubbo/qos/command/util/CommandHelperTest.java  |  16 +
 .../dubbo/qos/protocol/QosProtocolWrapperTest.java |  22 +-
 .../qos/server/handler/HttpProcessHandlerTest.java |  16 +
 .../server/handler/LocalHostPermitHandlerTest.java |  16 +
 .../qos/server/handler/QosProcessHandlerTest.java  |  16 +
 .../server/handler/TelnetProcessHandlerTest.java   |  16 +
 dubbo-registry/dubbo-registry-api/pom.xml          |   8 +-
 .../registry/integration/RegistryDirectory.java    |   2 +-
 .../registry/integration/RegistryProtocol.java     |  12 +-
 .../registry/support/AbstractRegistryTest.java     | 518 +++++++++++++
 .../registry/multicast/MulticastRegistry.java      |  76 +-
 .../registry/multicast/MulticastRegistryTest.java  |  10 +-
 .../java/org/apache/dubbo/remoting/Channel.java    |   3 -
 .../dubbo/remoting/exchange/ExchangeChannel.java   |   1 -
 .../apache/dubbo/remoting/exchange/Response.java   |   5 +
 .../remoting/exchange/support/DefaultFuture.java   | 121 +++-
 .../support/header/HeaderExchangeChannel.java      |   2 +-
 .../support/header/HeaderExchangeHandler.java      |   1 +
 .../dubbo/remoting/transport/AbstractChannel.java  |   1 -
 .../exchange/support/DefaultFutureTest.java        | 124 ++++
 dubbo-remoting/dubbo-remoting-http/pom.xml         |  14 +-
 .../dubbo/remoting/http/jetty/JettyHttpServer.java |  30 +-
 .../zookeeper/curator/CuratorZookeeperClient.java  |   4 +-
 .../zookeeper/zkclient/ZkClientWrapper.java        |  61 +-
 .../zkclient/ZkclientZookeeperClient.java          |   4 +-
 .../org/apache/dubbo/rpc/filter/ContextFilter.java |   2 +-
 .../java/org/apache/dubbo/rpc/RpcContextTest.java  |  16 +
 .../dubbo/rpc/filter/ClassLoaderFilterTest.java    |  17 +
 .../apache/dubbo/rpc/proxy/AbstractProxyTest.java  |  17 +
 .../dubbo/rpc/proxy/jdk/JdkProxyFactoryTest.java   |  16 +
 .../apache/dubbo/rpc/support/LocalException.java   |  17 +
 dubbo-rpc/dubbo-rpc-dubbo/pom.xml                  |   8 +-
 .../protocol/dubbo/telnet/InvokeTelnetHandler.java |  13 +
 .../protocol/dubbo/DubboInvokerAvilableTest.java   |   1 -
 .../dubbo/rpc/protocol/dubbo/MultiThreadTest.java  |  13 +-
 .../dubbo/ReferenceCountExchangeClientTest.java    |   8 +
 .../dubbo/rpc/protocol/dubbo/RpcFilterTest.java    |  14 +-
 .../rpc/protocol/dubbo/support/DemoService.java    |   2 +
 .../protocol/dubbo/support/DemoServiceImpl.java    |   6 +-
 .../dubbo/telnet/InvokerTelnetHandlerTest.java     |  40 +
 .../rpc/protocol/hessian/HessianProtocol.java      |   4 +-
 .../hessian/HttpClientConnectionFactory.java       |  15 +-
 .../dubbo/internal/org.apache.dubbo.rpc.Protocol   |   2 +-
 .../dubbo/rpc/protocol/rest/RpcContextFilter.java  |  25 +-
 .../dubbo/rpc/protocol/rest/RestProtocolTest.java  |  21 +
 .../dubbo/rpc/protocol/thrift/ThriftCodecTest.java |   5 +-
 .../support/SerializableClassRegistry.java         |  23 +-
 .../support/SerializableClassRegistryTest.java     |   8 +-
 .../dubbo/common/serialize/fst/FstFactory.java     |   5 +-
 .../common/serialize/kryo/CompatibleKryo.java      |  18 +-
 .../serialize/kryo/utils/AbstractKryoFactory.java  |  16 +-
 .../serialize/kryo/utils/ReflectionUtils.java      |   4 +
 .../serialization/AbstractSerializationTest.java   |   7 +-
 pom.xml                                            |  20 +-
 186 files changed, 4244 insertions(+), 1525 deletions(-)
 rename {all => dubbo-all}/pom.xml (95%)
 rename {bom => dubbo-bom}/pom.xml (97%)
 create mode 100644 dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/tag/TagRouter.java
 copy dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/router/{condition/ConditionRouterFactory.java => tag/TagRouterFactory.java} (77%)
 create mode 100644 dubbo-cluster/src/test/java/org/apache/dubbo/rpc/cluster/router/tag/TagRouterTest.java
 copy dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/support/Parameter.java => dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/Activate.java (73%)
 delete mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/concurrent/ListenableFuture.java
 delete mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/concurrent/ListenableFutureTask.java
 copy dubbo-common/src/main/java/org/apache/dubbo/common/logger/{jcl/JclLogger.java => log4j2/Log4j2Logger.java} (77%)
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/logger/log4j2/Log4j2LoggerAdapter.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/timer/HashedWheelTimer.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/timer/Timeout.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/timer/Timer.java
 create mode 100644 dubbo-common/src/main/java/org/apache/dubbo/common/timer/TimerTask.java
 rename dubbo-common/src/test/java/org/apache/dubbo/common/concurrent/{ListenableFutureTaskTest.java => CompletableFutureTaskTest.java} (56%)
 copy dubbo-common/src/test/java/org/apache/dubbo/common/extension/activate/impl/{ActivateExt1Impl1.java => OldActivateExt1Impl2.java} (87%)
 copy dubbo-common/src/test/java/org/apache/dubbo/common/extension/activate/impl/{ActivateExt1Impl1.java => OldActivateExt1Impl3.java} (87%)
 copy dubbo-common/src/test/java/org/apache/dubbo/common/extension/support/{Filter0.java => OldFilter0.java} (91%)
 copy dubbo-common/src/test/java/org/apache/dubbo/common/extension/support/{Filter3.java => OldFilter5.java} (89%)
 create mode 100644 dubbo-common/src/test/java/org/apache/dubbo/common/timer/HashedWheelTimerTest.java
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => ApplicationConfig.java} (80%)
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => ArgumentConfig.java} (91%)
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => ConsumerConfig.java} (91%)
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => MethodConfig.java} (91%)
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => ModuleConfig.java} (82%)
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => MonitorConfig.java} (82%)
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => ProtocolConfig.java} (76%)
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => ReferenceConfig.java} (76%)
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => RegistryConfig.java} (74%)
 copy dubbo-compatible/src/main/java/com/alibaba/dubbo/config/{ProviderConfig.java => ServiceConfig.java} (77%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/cache/CacheTest.java (98%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/cache/MyCache.java (96%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/cache/MyCacheFactory.java (96%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/common/extension/ExtensionTest.java (91%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/common/extension/MyExtensionFactory.java (95%)
 delete mode 100644 dubbo-compatible/src/test/java/org/apache/dubbo/compatible/service/Type.java
 copy {dubbo-config/dubbo-config-api => dubbo-compatible}/src/test/java/org/apache/dubbo/config/ApplicationConfigTest.java (96%)
 copy {dubbo-config/dubbo-config-api => dubbo-compatible}/src/test/java/org/apache/dubbo/config/ArgumentConfigTest.java (95%)
 create mode 100644 dubbo-compatible/src/test/java/org/apache/dubbo/config/ConfigTest.java
 copy {dubbo-config/dubbo-config-api => dubbo-compatible}/src/test/java/org/apache/dubbo/config/ConsumerConfigTest.java (67%)
 copy {dubbo-config/dubbo-config-api => dubbo-compatible}/src/test/java/org/apache/dubbo/config/MethodConfigTest.java (96%)
 copy {dubbo-config/dubbo-config-api => dubbo-compatible}/src/test/java/org/apache/dubbo/config/ModuleConfigTest.java (94%)
 copy {dubbo-config/dubbo-config-api => dubbo-compatible}/src/test/java/org/apache/dubbo/config/ProtocolConfigTest.java (71%)
 copy {dubbo-config/dubbo-config-api => dubbo-compatible}/src/test/java/org/apache/dubbo/config/ProviderConfigTest.java (83%)
 copy {dubbo-config/dubbo-config-api => dubbo-compatible}/src/test/java/org/apache/dubbo/config/ReferenceConfigTest.java (85%)
 copy {dubbo-config/dubbo-config-api => dubbo-compatible}/src/test/java/org/apache/dubbo/config/RegistryConfigTest.java (92%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/echo/EchoServiceTest.java (93%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/filter/FilterTest.java (94%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/filter/MyFilter.java (97%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/filter/MyInvoker.java (92%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/generic/GenericServiceTest.java (95%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/serialization/MyObjectInput.java (97%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/serialization/MyObjectOutput.java (97%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/serialization/MySerialization.java (96%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/serialization/SerializationTest.java (98%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/service/CustomArgument.java (96%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/service/DemoService.java (96%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/service/DemoServiceImpl.java (97%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/service/MockInvocation.java (94%)
 rename dubbo-compatible/src/test/java/org/apache/dubbo/{compatible => }/service/Person.java (93%)
 copy {dubbo-rpc/dubbo-rpc-dubbo/src/test/java/org/apache/dubbo/rpc/protocol/dubbo/support => dubbo-compatible/src/test/java/org/apache/dubbo/service}/Type.java (93%)
 rename {dependencies-bom => dubbo-dependencies-bom}/pom.xml (93%)
 rename {distribution => dubbo-distribution}/pom.xml (100%)
 rename {distribution => dubbo-distribution}/src/assembly/bin-release.xml (100%)
 rename {distribution => dubbo-distribution}/src/assembly/source-release.xml (100%)
 create mode 100644 dubbo-registry/dubbo-registry-api/src/test/java/org/apache/dubbo/registry/support/AbstractRegistryTest.java
 create mode 100644 dubbo-remoting/dubbo-remoting-api/src/test/java/org/apache/dubbo/remoting/exchange/support/DefaultFutureTest.java


[incubator-dubbo] 02/02: Solve merge conflicts manually

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git

commit 692dbdf82ecc6f81ee0d15816276bf8184d0bd3f
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Aug 27 12:36:20 2018 +0800

    Solve merge conflicts manually
---
 .../rpc/cluster/directory/AbstractDirectory.java      | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
index 49e44f4..00a4fa1 100644
--- a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
+++ b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
@@ -95,17 +95,14 @@ public abstract class AbstractDirectory<T> implements Directory<T> {
 
     protected void addRouters(List<Router> routers) {
         // copy list
-        routers = routers == null ? new ArrayList<Router>() : new ArrayList<Router>(routers);
-        // append url router
-        String routerkey = url.getParameter(Constants.ROUTER_KEY);
-        if (routerkey != null && routerkey.length() > 0) {
-            RouterFactory routerFactory = ExtensionLoader.getExtensionLoader(RouterFactory.class).getExtension(routerkey);
-            routers.add(routerFactory.getRouter(url));
-        }
-        // append mock invoker selector
-        routers.add(new MockInvokersSelector());
-        Collections.sort(routers);
-        this.routers = routers;
+        routers = routers == null ? new ArrayList<>() : new ArrayList<>(routers);
+        routers.forEach(this::addRouter);
+    }
+
+    protected void addRouter(Router router) {
+        routerChain.addRouter(router);
+        // FIXME append mock invoker selector
+//        routerChain.add(new MockInvokersSelector());
     }
 
     public URL getConsumerUrl() {


[incubator-dubbo] 01/02: Merge branch 'master' into dev-metadata

Posted by li...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

liujun pushed a commit to branch dev-metadata
in repository https://gitbox.apache.org/repos/asf/incubator-dubbo.git

commit 3cd4603d0a7b8db8cfeb516e59d7b8cf3d091c25
Merge: 2b80c3e f720ccb
Author: ken.lj <ke...@gmail.com>
AuthorDate: Mon Aug 27 12:32:55 2018 +0800

    Merge branch 'master' into dev-metadata
    
    # Conflicts:
    #	dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
    #	dubbo-cluster/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.RouterFactory
    #	dubbo-common/src/main/java/org/apache/dubbo/common/extension/ExtensionLoader.java
    #	dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryDirectory.java
    #	dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java

 .travis.yml                                        |  14 +-
 LICENSE                                            |   6 +-
 README.md                                          |   8 +-
 {all => dubbo-all}/pom.xml                         |  29 -
 {bom => dubbo-bom}/pom.xml                         |  13 +-
 .../rpc/cluster/directory/AbstractDirectory.java   |  19 +-
 .../loadbalance/ConsistentHashLoadBalance.java     |   2 +-
 .../dubbo/rpc/cluster/router/tag/TagRouter.java    | 109 +++
 .../rpc/cluster/router/tag/TagRouterFactory.java   |  16 +-
 .../cluster/support/AbstractClusterInvoker.java    |  43 +-
 .../cluster/support/FailoverClusterInvoker.java    |   8 +-
 .../support/wrapper/MockClusterInvoker.java        |   2 +-
 .../org.apache.dubbo.rpc.cluster.RouterFactory     |   1 +
 .../rpc/cluster/router/tag/TagRouterTest.java      | 169 +++++
 .../support/AbstractClusterInvokerTest.java        |  17 +-
 dubbo-common/pom.xml                               |  10 +
 .../alibaba/dubbo/common/extension/Activate.java   |  88 +--
 .../java/org/apache/dubbo/common/Constants.java    |   4 +
 .../src/main/java/org/apache/dubbo/common/URL.java |  13 +-
 .../main/java/org/apache/dubbo/common/Version.java |   6 +-
 .../dubbo/common/concurrent/ListenableFuture.java  | 133 ----
 .../common/concurrent/ListenableFutureTask.java    |  91 ---
 .../apache/dubbo/common/extension/Activate.java    |   4 +
 .../dubbo/common/extension/ExtensionLoader.java    |  31 +-
 .../extension/support/ActivateComparator.java      |  60 +-
 .../apache/dubbo/common/logger/LoggerFactory.java  |  11 +-
 .../dubbo/common/logger/log4j2/Log4j2Logger.java   | 128 ++++
 .../common/logger/log4j2/Log4j2LoggerAdapter.java  | 107 +++
 .../dubbo/common/timer/HashedWheelTimer.java       | 805 +++++++++++++++++++++
 .../org/apache/dubbo/common/timer/Timeout.java     |  55 ++
 .../java/org/apache/dubbo/common/timer/Timer.java  |  48 ++
 .../org/apache/dubbo/common/timer/TimerTask.java   |  34 +
 .../org/apache/dubbo/common/utils/ClassHelper.java |  16 +-
 .../org/apache/dubbo/common/utils/NetUtils.java    |  89 ++-
 .../org/apache/dubbo/common/utils/StringUtils.java |   2 +-
 .../org/apache/dubbo/common/utils/UrlUtils.java    |  11 +-
 .../org.apache.dubbo.common.logger.LoggerAdapter   |   3 +-
 .../test/java/org/apache/dubbo/common/URLTest.java |  28 +
 ...askTest.java => CompletableFutureTaskTest.java} |  83 +--
 .../common/extension/ExtensionLoaderTest.java      |  10 +
 .../activate/impl/OldActivateExt1Impl2.java        |  14 +-
 .../activate/impl/OldActivateExt1Impl3.java        |  14 +-
 .../extension/support/ActivateComparatorTest.java  |   9 +-
 .../dubbo/common/extension/support/OldFilter0.java |  41 +-
 .../dubbo/common/extension/support/OldFilter5.java |  45 +-
 .../dubbo/common/logger/LoggerAdapterTest.java     |   5 +-
 .../dubbo/common/logger/slf4j/Slf4jLoggerTest.java |   1 -
 .../dubbo/common/timer/HashedWheelTimerTest.java   |  72 ++
 .../dubbo/common/utils/DubboAppenderTest.java      |   2 -
 .../apache/dubbo/common/utils/NetUtilsTest.java    |  29 +
 .../apache/dubbo/common/utils/UrlUtilsTest.java    |   6 +
 ...he.dubbo.common.extension.activate.ActivateExt1 |   4 +-
 ...g.apache.dubbo.common.extension.support.Filter0 |   3 +-
 dubbo-compatible/pom.xml                           |   6 +
 .../alibaba/dubbo/config/ApplicationConfig.java}   |  51 +-
 .../com/alibaba/dubbo/config/ArgumentConfig.java}  |  43 +-
 .../com/alibaba/dubbo/config/ConsumerConfig.java}  |  43 +-
 .../com/alibaba/dubbo/config/MethodConfig.java}    |  44 +-
 .../com/alibaba/dubbo/config/ModuleConfig.java}    |  50 +-
 .../com/alibaba/dubbo/config/MonitorConfig.java}   |  49 +-
 .../com/alibaba/dubbo/config/ProtocolConfig.java}  |  18 +-
 .../com/alibaba/dubbo/config/ReferenceConfig.java} |  16 +-
 .../com/alibaba/dubbo/config/RegistryConfig.java}  |  19 +-
 .../com/alibaba/dubbo/config/ServiceConfig.java}   |  16 +-
 .../alibaba/dubbo/config/annotation/Reference.java |   2 +-
 .../main/java/com/alibaba/dubbo/rpc/Invoker.java   |   8 +-
 .../dubbo/{compatible => }/cache/CacheTest.java    |   2 +-
 .../dubbo/{compatible => }/cache/MyCache.java      |   2 +-
 .../{compatible => }/cache/MyCacheFactory.java     |   2 +-
 .../common/extension/ExtensionTest.java            |   4 +-
 .../common/extension/MyExtensionFactory.java       |   2 +-
 .../apache/dubbo/config/ApplicationConfigTest.java | 180 +++++
 .../apache/dubbo/config/ArgumentConfigTest.java    |  65 ++
 .../java/org/apache/dubbo/config/ConfigTest.java   |  56 ++
 .../apache/dubbo/config/ConsumerConfigTest.java    |  55 ++
 .../org/apache/dubbo/config/MethodConfigTest.java  | 184 +++++
 .../org/apache/dubbo/config/ModuleConfigTest.java  | 113 +++
 .../apache/dubbo/config/ProtocolConfigTest.java    | 157 ++++
 .../apache/dubbo/config/ProviderConfigTest.java    | 187 +++++
 .../apache/dubbo/config/ReferenceConfigTest.java   |  16 +-
 .../apache/dubbo/config/RegistryConfigTest.java    | 175 +++++
 .../{compatible => }/echo/EchoServiceTest.java     |   7 +-
 .../dubbo/{compatible => }/filter/FilterTest.java  |   5 +-
 .../dubbo/{compatible => }/filter/MyFilter.java    |   2 +-
 .../dubbo/{compatible => }/filter/MyInvoker.java   |   4 +-
 .../generic/GenericServiceTest.java                |   7 +-
 .../serialization/MyObjectInput.java               |   2 +-
 .../serialization/MyObjectOutput.java              |   2 +-
 .../serialization/MySerialization.java             |   2 +-
 .../serialization/SerializationTest.java           |   2 +-
 .../{compatible => }/service/CustomArgument.java   |   2 +-
 .../{compatible => }/service/DemoService.java      |   2 +-
 .../{compatible => }/service/DemoServiceImpl.java  |   2 +-
 .../{compatible => }/service/MockInvocation.java   |   2 +-
 .../dubbo/{compatible => }/service/Person.java     |   2 +-
 .../dubbo/{compatible => }/service/Type.java       |   2 +-
 ...alibaba.dubbo.common.extension.ExtensionFactory |   2 +-
 .../dubbo/config/AbstractInterfaceConfig.java      |  10 +-
 .../dubbo/config/AbstractReferenceConfig.java      |   1 -
 .../apache/dubbo/config/AbstractServiceConfig.java |  10 +
 .../org/apache/dubbo/config/ApplicationConfig.java |   3 +
 .../org/apache/dubbo/config/ReferenceConfig.java   |   2 +
 .../apache/dubbo/config/annotation/Reference.java  |   2 +-
 .../apache/dubbo/config/annotation/Service.java    |   5 +
 .../apache/dubbo/config/ReferenceConfigTest.java   |  45 ++
 .../apache/dubbo/config/spring/AnnotationBean.java |  24 +-
 .../src/main/resources/META-INF/compat/dubbo.xsd   | 359 ++++-----
 .../src/main/resources/META-INF/dubbo.xsd          | 354 ++++-----
 .../AnnotationPropertyValuesAdapterTest.java       |   4 +-
 .../src/test/resources/applicationContext.xml      |  16 +
 .../test/resources/webapps/test/WEB-INF/web.xml    |  16 +
 .../test/resources/webapps/test2/WEB-INF/web.xml   |  16 +
 .../test/resources/webapps/test3/WEB-INF/web.xml   |  16 +
 .../org/apache/dubbo/demo/consumer/Consumer.java   |  13 +-
 .../org/apache/dubbo/demo/provider/Provider.java   |  10 +-
 .../pom.xml                                        |  34 +-
 {distribution => dubbo-distribution}/pom.xml       |   0
 .../src/assembly/bin-release.xml                   |   0
 .../src/assembly/source-release.xml                |   0
 dubbo-metrics/dubbo-metrics-api/pom.xml            |  17 +-
 .../apache/dubbo/metrics/MetricManagerTest.java    |  19 +-
 .../org/apache/dubbo/metrics/MetricNameTest.java   |  19 +-
 .../monitor/support/AbstractMonitorFactory.java    |  31 +-
 .../dubbo/qos/protocol/QosProtocolWrapper.java     |  18 +-
 .../command/decoder/HttpCommandDecoderTest.java    |  16 +
 .../command/decoder/TelnetCommandDecoderTest.java  |  16 +
 .../apache/dubbo/qos/command/impl/HelpTest.java    |  16 +
 .../org/apache/dubbo/qos/command/impl/LsTest.java  |  16 +
 .../apache/dubbo/qos/command/impl/OfflineTest.java |  16 +
 .../apache/dubbo/qos/command/impl/OnlineTest.java  |  16 +
 .../apache/dubbo/qos/command/impl/QuitTest.java    |  16 +
 .../qos/command/impl/TestRegistryFactory.java      |  16 +
 .../dubbo/qos/command/util/CommandHelperTest.java  |  16 +
 .../dubbo/qos/protocol/QosProtocolWrapperTest.java |  22 +-
 .../qos/server/handler/HttpProcessHandlerTest.java |  16 +
 .../server/handler/LocalHostPermitHandlerTest.java |  16 +
 .../qos/server/handler/QosProcessHandlerTest.java  |  16 +
 .../server/handler/TelnetProcessHandlerTest.java   |  16 +
 dubbo-registry/dubbo-registry-api/pom.xml          |   8 +-
 .../registry/integration/RegistryDirectory.java    |   2 +-
 .../registry/integration/RegistryProtocol.java     |  12 +-
 .../registry/support/AbstractRegistryTest.java     | 518 +++++++++++++
 .../registry/multicast/MulticastRegistry.java      |  76 +-
 .../registry/multicast/MulticastRegistryTest.java  |  10 +-
 .../java/org/apache/dubbo/remoting/Channel.java    |   3 -
 .../dubbo/remoting/exchange/ExchangeChannel.java   |   1 -
 .../apache/dubbo/remoting/exchange/Response.java   |   5 +
 .../remoting/exchange/support/DefaultFuture.java   | 121 +++-
 .../support/header/HeaderExchangeChannel.java      |   2 +-
 .../support/header/HeaderExchangeHandler.java      |   1 +
 .../dubbo/remoting/transport/AbstractChannel.java  |   1 -
 .../exchange/support/DefaultFutureTest.java        | 124 ++++
 dubbo-remoting/dubbo-remoting-http/pom.xml         |  14 +-
 .../dubbo/remoting/http/jetty/JettyHttpServer.java |  30 +-
 .../zookeeper/curator/CuratorZookeeperClient.java  |   4 +-
 .../zookeeper/zkclient/ZkClientWrapper.java        |  61 +-
 .../zkclient/ZkclientZookeeperClient.java          |   4 +-
 .../org/apache/dubbo/rpc/filter/ContextFilter.java |   2 +-
 .../java/org/apache/dubbo/rpc/RpcContextTest.java  |  16 +
 .../dubbo/rpc/filter/ClassLoaderFilterTest.java    |  17 +
 .../apache/dubbo/rpc/proxy/AbstractProxyTest.java  |  17 +
 .../dubbo/rpc/proxy/jdk/JdkProxyFactoryTest.java   |  16 +
 .../apache/dubbo/rpc/support/LocalException.java   |  17 +
 dubbo-rpc/dubbo-rpc-dubbo/pom.xml                  |   8 +-
 .../protocol/dubbo/telnet/InvokeTelnetHandler.java |  13 +
 .../protocol/dubbo/DubboInvokerAvilableTest.java   |   1 -
 .../dubbo/rpc/protocol/dubbo/MultiThreadTest.java  |  13 +-
 .../dubbo/ReferenceCountExchangeClientTest.java    |   8 +
 .../dubbo/rpc/protocol/dubbo/RpcFilterTest.java    |  14 +-
 .../rpc/protocol/dubbo/support/DemoService.java    |   2 +
 .../protocol/dubbo/support/DemoServiceImpl.java    |   6 +-
 .../dubbo/telnet/InvokerTelnetHandlerTest.java     |  40 +
 .../rpc/protocol/hessian/HessianProtocol.java      |   4 +-
 .../hessian/HttpClientConnectionFactory.java       |  15 +-
 .../dubbo/internal/org.apache.dubbo.rpc.Protocol   |   2 +-
 .../dubbo/rpc/protocol/rest/RpcContextFilter.java  |  25 +-
 .../dubbo/rpc/protocol/rest/RestProtocolTest.java  |  21 +
 .../dubbo/rpc/protocol/thrift/ThriftCodecTest.java |   5 +-
 .../support/SerializableClassRegistry.java         |  23 +-
 .../support/SerializableClassRegistryTest.java     |   8 +-
 .../dubbo/common/serialize/fst/FstFactory.java     |   5 +-
 .../common/serialize/kryo/CompatibleKryo.java      |  18 +-
 .../serialize/kryo/utils/AbstractKryoFactory.java  |  16 +-
 .../serialize/kryo/utils/ReflectionUtils.java      |   4 +
 .../serialization/AbstractSerializationTest.java   |   7 +-
 pom.xml                                            |  20 +-
 186 files changed, 5460 insertions(+), 1357 deletions(-)

diff --cc dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
index 00a4fa1,52f5811..49e44f4
--- a/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
+++ b/dubbo-cluster/src/main/java/org/apache/dubbo/rpc/cluster/directory/AbstractDirectory.java
@@@ -85,24 -92,23 +85,27 @@@ public abstract class AbstractDirectory
          return url;
      }
  
 -    public List<Router> getRouters() {
 -        return routers;
 +    public RouterChain<T> getRouterChain() {
 +        return routerChain;
 +    }
 +
 +    public void setRouterChain(RouterChain<T> routerChain) {
 +        this.routerChain = routerChain;
      }
  
 -    protected void setRouters(List<Router> routers) {
 +    protected void addRouters(List<Router> routers) {
          // copy list
-         routers = routers == null ? new ArrayList<>() : new ArrayList<>(routers);
-         routers.forEach(this::addRouter);
-     }
- 
-     protected void addRouter(Router router) {
-         routerChain.addRouter(router);
-         // FIXME append mock invoker selector
- //        routerChain.add(new MockInvokersSelector());
+         routers = routers == null ? new ArrayList<Router>() : new ArrayList<Router>(routers);
+         // append url router
 -        String routerKey = url.getParameter(Constants.ROUTER_KEY);
 -        if (routerKey != null && routerKey.length() > 0) {
 -            RouterFactory routerFactory = ExtensionLoader.getExtensionLoader(RouterFactory.class).getExtension(routerKey);
++        String routerkey = url.getParameter(Constants.ROUTER_KEY);
++        if (routerkey != null && routerkey.length() > 0) {
++            RouterFactory routerFactory = ExtensionLoader.getExtensionLoader(RouterFactory.class).getExtension(routerkey);
+             routers.add(routerFactory.getRouter(url));
+         }
+         // append mock invoker selector
+         routers.add(new MockInvokersSelector());
+         Collections.sort(routers);
+         this.routers = routers;
      }
  
      public URL getConsumerUrl() {
diff --cc dubbo-cluster/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.RouterFactory
index f8bd699,2d4717c..178feb6
--- a/dubbo-cluster/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.RouterFactory
+++ b/dubbo-cluster/src/main/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.RouterFactory
@@@ -1,5 -1,4 +1,6 @@@
  file=org.apache.dubbo.rpc.cluster.router.file.FileRouterFactory
  script=org.apache.dubbo.rpc.cluster.router.script.ScriptRouterFactory
  condition=org.apache.dubbo.rpc.cluster.router.condition.ConditionRouterFactory
 -tag=org.apache.dubbo.rpc.cluster.router.tag.TagRouterFactory
++tag=org.apache.dubbo.rpc.cluster.router.tag.TagRouterFactory
 +configcondition=org.apache.dubbo.rpc.cluster.router.condition.config.ConfigConditionRouterFactory
 +group=org.apache.dubbo.rpc.cluster.router.group.GroupRouterFactory
diff --cc dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
index 9369939,86d4001..ec1f3b5
--- a/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
+++ b/dubbo-config/dubbo-config-api/src/main/java/org/apache/dubbo/config/ApplicationConfig.java
@@@ -71,16 -71,15 +71,19 @@@ public class ApplicationConfig extends 
      // directory for saving thread dump
      private String dumpDirectory;
  
+     // whether to enable qos or not
      private Boolean qosEnable;
  
+     // the qos port to listen
      private Integer qosPort;
  
+     // should we accept foreign ip or not?
      private Boolean qosAcceptForeignIp;
  
 +    // used for dynamic configuration
 +    private String config;
 +    private String address;
 +
      // customized parameters
      private Map<String, String> parameters;
  
diff --cc dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
index 8bd469f,6374456..ec4bef4
--- a/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
+++ b/dubbo-registry/dubbo-registry-api/src/main/java/org/apache/dubbo/registry/integration/RegistryProtocol.java
@@@ -148,26 -129,22 +148,26 @@@ public class RegistryProtocol implement
  
      @Override
      public <T> Exporter<T> export(final Invoker<T> originInvoker) throws RpcException {
 -        //export invoker
 -        final ExporterChangeableWrapper<T> exporter = doLocalExport(originInvoker);
 -
          URL registryUrl = getRegistryUrl(originInvoker);
 +        initDynamicConfiguration(registryUrl);
  
 -        //registry provider
 -        final Registry registry = getRegistry(originInvoker);
 -        final URL registeredProviderUrl = getRegisteredProviderUrl(originInvoker);
 +        // url to export locally
 +        URL providerUrl = getProviderUrl(originInvoker);
 +        providerUrl = overrideUrlWithConfig(providerUrl);
  
 -        //to judge to delay publish whether or not
 -        boolean register = registeredProviderUrl.getParameter("register", true);
 +        //export invoker
 +        final ExporterChangeableWrapper<T> exporter = doLocalExport(originInvoker, providerUrl);
 +
 +        // url to registry
 +        final Registry registry = getRegistry(originInvoker);
-         final URL registedProviderUrl = getRegistedProviderUrl(providerUrl);
++        final URL registeredProviderUrl = getRegistedProviderUrl(providerUrl);
  
-         ProviderConsumerRegTable.registerProvider(originInvoker, registryUrl, registedProviderUrl);
+         ProviderConsumerRegTable.registerProvider(originInvoker, registryUrl, registeredProviderUrl);
  
 +        //to judge if we need to delay publish
-         boolean register = registedProviderUrl.getParameter("register", true);
++        boolean register = registeredProviderUrl.getParameter("register", true);
          if (register) {
-             register(registryUrl, registedProviderUrl);
+             register(registryUrl, registeredProviderUrl);
              ProviderConsumerRegTable.getProviderWrapper(originInvoker).setReg(true);
          }
  
@@@ -177,42 -154,12 +177,42 @@@
          final OverrideListener overrideSubscribeListener = new OverrideListener(overrideSubscribeUrl, originInvoker);
          overrideListeners.put(overrideSubscribeUrl, overrideSubscribeListener);
          registry.subscribe(overrideSubscribeUrl, overrideSubscribeListener);
 +
 +        dynamicConfiguration.addListener(overrideSubscribeUrl.getServiceKey() + Constants.CONFIGURATORS_SUFFIX, overrideSubscribeListener);
          //Ensure that a new exporter instance is returned every time export
-         return new DestroyableExporter<T>(exporter, originInvoker, overrideSubscribeUrl, registedProviderUrl);
+         return new DestroyableExporter<T>(exporter, originInvoker, overrideSubscribeUrl, registeredProviderUrl);
      }
  
 +    private <T> URL overrideUrlWithConfig(URL providerUrl) {
 +        List<Configurator> dynamicConfigurators = new LinkedList<>();
 +        String appRawConfig = dynamicConfiguration.getConfig(providerUrl.getParameter(Constants.APPLICATION_KEY) + Constants.CONFIGURATORS_SUFFIX, "dubbo");
 +        if (!StringUtils.isEmpty(appRawConfig)) {
 +            dynamicConfigurators.addAll(RegistryDirectory.configToConfiguratiors(appRawConfig));
 +        }
 +        String rawConfig = dynamicConfiguration.getConfig(providerUrl.getServiceKey() + Constants.CONFIGURATORS_SUFFIX, "dubbo");
 +        if (!StringUtils.isEmpty(rawConfig)) {
 +            dynamicConfigurators.addAll(RegistryDirectory.configToConfiguratiors(rawConfig));
 +        }
 +        providerUrl = getConfigedInvokerUrl(dynamicConfigurators, providerUrl);
 +        return providerUrl;
 +    }
 +
 +    private URL getConfigUrl(URL registryUrl) {
 +        URL url = registryUrl.removeParameters(EXPORT_KEY, REFER_KEY).setProtocol(CONFIG_PROTOCOL);
 +        String configType = registryUrl.getParameter(Constants.CONFIG_TYPE_KEY);
 +        if (StringUtils.isEmpty(configType)) {
 +            url = url.addParameter(Constants.CONFIG_TYPE_KEY, registryUrl.getProtocol());
 +        }
 +
 +        String configAddress = registryUrl.getParameter(Constants.CONFIG_ADDRESS_KEY);
 +        if (StringUtils.isNotEmpty(configAddress)) {
 +            url = url.setAddress(configAddress);
 +        }
 +        return url;
 +    }
 +
      @SuppressWarnings("unchecked")
 -    private <T> ExporterChangeableWrapper<T> doLocalExport(final Invoker<T> originInvoker) {
 +    private <T> ExporterChangeableWrapper<T> doLocalExport(final Invoker<T> originInvoker, URL providerUrl) {
          String key = getCacheKey(originInvoker);
          ExporterChangeableWrapper<T> exporter = (ExporterChangeableWrapper<T>) bounds.get(key);
          if (exporter == null) {