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) {