Skip to content

Commit

Permalink
fix default setting (#4955)
Browse files Browse the repository at this point in the history
* Add pull request coverage check and set threshold as 0.1% (#1678)

* Optimize_hessian_desr_performance (#1705)

* We need to change the version to SNAPSHOT to satisfy release:prepare

* upgrade to 2.6.2-SNAPSHOT

* fixes #1089, make ExecutionDispatcher meet dubbo-user-book (#1449)

* fixes #1089, make ExecutionDispatcher meets dubbo-user-book

* remove heartbeat condition

* enhance comments, javadoc and logging message for (#1722)

ExecutionChannelHandler

* Merge pull request #1716, unit test for AbstractConfigTest.

* add test for serialization api & fastjson & fst module (#1718)

* Merge pull request #1717, NettyHelper in netty extension populated Logger "InternalLogger" in netty.

* [Dubbo-1687]Enhance test coverage for dubbo filter (#1715)

* use three different kinds of cache factory to increase test coverages

* add unit test cases for dubbo-filter module

* add copyright and made small refactor

* make sure Jcache will exceed expired period

* optimize unit test for serialization hession2/jdk/kryo (#1726)

* fix * imports issue (#1721)

*     #1731: checkMultiExtension in com.alibaba.dubbo.config.AbstractInterfaceConfig should be in setter instead of getter (#1732)

* unit test for dubbo-config-api (#1733)

* finish unit test for AbstractMethodConfig

* finish unit test for AbstractReferenceConfig

* move to right package

* finish unit test for AbstractReferenceConfig

* finish unit test for AbstractMethodConfig

* finish unit test for AbstractReferenceConfig

* move to right package

* finish unit test for AbstractReferenceConfig

* unit test for AbstractServiceConfig, also fix logic issue in setListener/getListener

* Fix isShutdown() always return true (#1426)

* Bump version to 2.6.2-SNAPSHOT.

* Fix #934 #1756 use loadBalance policy to choose invoke when providers less 2 (#1759)

* fix #934 use loadBalance policy to choose invoke when providers less than 2
* fix #1756, clear mock invocation after invoking

* Remove unnecessary null check.

* Remove redundant final modifier.

* Remove unnecessary null check.

* Remove redundant array creation.

* Remove unnecessary null check.

* Remove unnecessary null check and fix typo.

* Config api unit test (#1758)

* unit test for ApplicationConfig

* fix typo

* unit test for ArgumentConfig

* unit test for ConsumerConfig

* unit test for MethodConfig

* unit test for ModuleConfig

* unit test for MonitorConfig

* unit test for ProtocolConfig

* unit test for ApplicationConfig

* fix typo

* unit test for ArgumentConfig

* unit test for ConsumerConfig

* unit test for MethodConfig

* unit test for ModuleConfig

* unit test for MonitorConfig

* unit test for ProtocolConfig

* unit test for ProviderConfig

* make test stable

* enable tcp no delay for netty 3 server (#1746)

(cherry picked from commit 430fb4c)

* Change parent pom back to oss in this version

* Add binary release module 'distribution'

* Bump version to 2.6.2 for release

* Merge pull request #1616, fix hessian1 serialized short, byte is converted to int.

* Polish distribution pom

* unit test for RegistryConfigTest (#1775)

* Fix hessian-lite spelling mistake (#1779)

* Remove unecessary cast.

* Remove unnecessary null check. (#1764)

* Such logic already exists in findAnnotationName (#1750)

* Remove unnecessary null check.

* Ignore testStatusChecker since it is unstable and consider removing it later.

* unit test for ServiceConfig (#1780)

* unit test for RegistryConfigTest

* unit test for ServiceConfig

* ignore com.alibaba.dubbo.config.ServiceConfigTest.testUnexport to make unit test stable

* Merge pull request #1761, add Locale serialize & deserialize support.

Fixed #906

* Upgrade tomcat version to 8.5.31. (#1781)

* add test for monitor module (#1741)

* [Dubbo-1687]Add unit tests for dubbo-filter-validation module (#1736)

* Add unit tests for dubbo-filter-validation module

* add more jaxb api libs for testing with jdk9, because it does't contain them by default any more

* clean up: finish unit test for config-api (#1795)

* Extracting public code to the parent class (#1776)

* Extracting public code to the parent class

* test

* Support package NOTICE & LICENSE into sub-module jar.

* Bump version to 2.6.2-SNAPSHOT

* Bump version to 2.6.2-SNAPSHOT

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

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

* Add assembly plugin

* unit test for com.alibaba.dubbo.common.status.support (#1796)

* unit test for Status

* remove unnecessary 'static'

* unit test for StatusUtils

* unit test for LoadStatusChecker

* reformat the code

* unit test for MemoryStatusChecker

* New threadLocal provides more performance. (#1745)

* SerializerFactory 获取Serializer时,锁住整个hashmap,导致整个过程被block

* 单元测试。保证一个class只有一个serializer和deserializer。单线程和多线程测试

* 增加线程数 50 模拟多个线程来获取serializer和deserializer

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 补全单元测试,测试扩展是否生效

* 错误命名

* 增加@OverRide注解
long 初始化赋值时,小写l改为大写L防止误读

* 修复单元测试

* remove enhanced

* remove enhanced

* Faster ThreadLocal impl in internal use
* Used in RpcContext`s LOCAL field.
* Faster get than the traditional ThreadLocal

* add License

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* remove author info

* fix destroy method

* fix bug at method size.

* unit test for SimpleDataStore (#1797)

* Add CHANGES.md as release note.

* Polish release notes in CHANGES.md

* Thread pool unit test (#1802)

* reformat the code, and move the test into the correct package

* unit test for c.a.d.c.threadpool

* Fix bug in InternalThreadLocal and provides unit test (#1803)

* SerializerFactory 获取Serializer时,锁住整个hashmap,导致整个过程被block

* 单元测试。保证一个class只有一个serializer和deserializer。单线程和多线程测试

* 增加线程数 50 模拟多个线程来获取serializer和deserializer

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 补全单元测试,测试扩展是否生效

* 错误命名

* 增加@OverRide注解
long 初始化赋值时,小写l改为大写L防止误读

* 修复单元测试

* remove enhanced

* remove enhanced

* Faster ThreadLocal impl in internal use
* Used in RpcContext`s LOCAL field.
* Faster get than the traditional ThreadLocal

* add License

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* fix ci failed

* remove author info

* fix destroy method

* fix bug at method size.

* Unit test for InternalThreadLocal

* Unit test for InternalThreadLocal
Fix bug in method removeAll

* make unit test stable (#1805)

*     #1682: Enhance the test coverage part-4: dubbo-common/src/main/java/com/alibaba/dubbo/common/status(store|threadpoolutils) modules (#1806)

* Remove redundant cast.

* Merge pull request #1792, fix zk unsubscribe issue.

* Merge pull request #1570, fix annotation demo in dubbo-test.

* Add a construtor to accept address and protocol for RegistryConfig.

* Remove unused code.

* Ensure Dubbo can shutdown correctly when running both under tomcat and programmably.

* Add comments.

* Add dependency.

* Using ExecutorUtil#gracefulShutdown instead of create a new method.

* Correct pom version.

* Fix UT failure.

* Merge pull request #1811, fix unstable hessian protocol unit test by adding overload. 

Fixed #1667, fixed #1727

* Merge pull request #1808, fix URL parsing problem when user filed contains '@' characters.

Fixed #1470

* Simplify code, no function change.

* Remove unnecessary null check.

* Ensure merger is specified to true to demonstrate the merger feature.

* Merge pull request #1643, ChannelState branch prediction optimization.

* Remove .orig file and update gitigonre.

*     #1816: dubbo schema compatibility

* Go back to 2.6.2-SNAPSHOT to prepare for the next release.

* Add source-release assembly config

* Add arguments for release-plugin

*     #1816: dubbo schema compatibility

* Fix minor issues reported in 2.6.2 RC1

* Add *.log exclude pattern for source-release assembly

* Skip checkstyle by default

* Skip rat by default

* Merge checkstyle-plugin configuration

* Exclude release temp files

* Exclude release temp files

*     #1597: CacheFilter,when value is null,it will throw NPE(if use ehcache for jcache),why not check null here (#1828)

*     #1830: dbindex support in redis (#1831)

* Merge pull request #1839, remove validation key from provider url registered to registry.

Fixes #1386.

* Add profile for distribution module

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

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

* Merge pull request #1836, there is a potential deadlock in DubboProtocol#getSharedClient.

Fixes #677.

* Use InternalThreadLocal in consumer side (#1825)

* SerializerFactory 获取Serializer时,锁住整个hashmap,导致整个过程被block

* 单元测试。保证一个class只有一个serializer和deserializer。单线程和多线程测试

* 增加线程数 50 模拟多个线程来获取serializer和deserializer

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 补全单元测试,测试扩展是否生效

* 错误命名

* 增加@OverRide注解
long 初始化赋值时,小写l改为大写L防止误读

* 修复单元测试

* remove enhanced

* remove enhanced

* Change ThreadFactory for consumer side which is to use InternalThreadLocal in RpcContext.

* optimize_zk_create (#1833)

* fix #1845 (#1851)

* update CXF to latest version and add test case for webservice protocol (#1564)

* update cxf version and add test cases

* support jdk7

* add profile for dependency in jdk9

* modify profile location

* fix jaxb version

* add dependency for jdk9

* extract dependencies to dependencies bom project

*     #1682: Enhance the test coverage part-4 (#1862)

* [Dubbo-1693] Enhance the test coverage part-14 (#1859)

* add testcase

* remove useless code

* Merge pull request #1866, clarify license for codes referencing thirdparty repositories.

Clarify netty License.

* Merge pull request #1820, improve graceful shutdown.

* Merge pull request #1837, spring spi support inject by type.

* Merge pull request #1843, support implicit delivery of attachments from provider to consumer.

Fixes #889, #1466, #1834, #1466, #1524

* Merge pull request #1868, add test for rpc modules.

fixes #1697

* [Dubbo-1684] add unit test for dubbo spring config (#1809)

* add test for config spring module

* add more test for serviceBean and refBean

* Merge pull request #1827, support generic invoke and attachment for http/hessian protocol.

fixes  #1768, #19

* Merge pull request #1872, get the real methodname to support consistenthash for generic invoke.

* Merge pull request #348, AtomicPositiveInteger less memory used & provides better perf.

* Merge pull request #1873, support proxy for provider side.

fixes #67

* Merge #1740 manually, fix typo.

* Adding maven wrapper to Dubbo project (#1887)

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 当cores线程数全都使用的情况下,默认线程池会把任务放入到队列中。队列满则再创建线程(总数不会超过Max线程数)
增强线程池:在请求量阶段性出现高峰时使用
特性:cores线程全部使用的情况下,优先创建线程(总数不会超过max),当max个线程全都在忙的情况下,才将任务放入队列。请求量下降时,线程池会自动维持cores个线程,多余的线程退出。

* 补全单元测试,测试扩展是否生效

* 增加@OverRide注解
long 初始化赋值时,小写l改为大写L防止误读

* remove enhanced

* remove enhanced

* feat: 增加maven-wrapper,用户可以使用自己的maven,应用工程构建时将会使用工程的maven版本

* use mvnw to ci.

* Merge pull request #1453, restore the bug that attachment has not been updated in the RpcContext when the Dubbo built-in retry mechanism is triggered.

* remove author info from #1453

* upgrade version manually after merge 2.6.2-release

* remove hessian-lite of 2.6.x and use https://github.com/dubbo/hessian-lite  (#2073)

* remove hessian-lite
* add hessian-lite dependency to dependencies-bom/pom.xml

* Merge pull request #2117, fix protocol version compatibility with lower versions.

*     #1431: here is a StackOverflow bug? dubbo version 2.5.9, FailsafeLogger.appendContextMessage() > NetUtils.getLocalAddress() (#1912)

* Updage changes for 2.6.3

* Merge #2114 mannually from master, enable configuration of Consumer thread pool.

* Merge #2114 mannually from master, enable configuration of Consumer thread pool.

* Merge pull request #2126, ensure compatibility for elegant shutdown under servlet container. 

Fixes #1998

* Resolve conflicts of merging #1820

* Upgrade hessian-lite dependency to 3.2.4

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

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

* support char[] for generic invoke #2003 (#2137)

* support char[] for generic invoke, #2003

* add null or empty string testcase

* Update CHANGES.md

polish

* Exclude maven wrapper when package

* Merge pull request #2024, binding attachment before a clusterInvoker invoke.

Fixes #1978

* Merge pull request #2146, fix redis auth problem for RedisProtocol.

Fixes #2017

* fix subscription when enable monitor (#2166)

It looks good.

* solve compatible issue with dubbo 2.5.9, 2.5.10 (#2175)

* solve compatible issue with dubbo 2.5.9, 2.5.10 (#2175)

* Add compatibility notice to Release Notes

* fix ut unstable (#2192)

* Replace hard coded version number of hessian-lite #2136 (#2195)

* Fixes #2136, replace hard coded hessian-lite version with mavne property. (#2223)

* Remove hessian-lite license.

* fix ut stable, #2227 (#2302)

* fix ut, #2227

* add cache for travis ci

* fix travis problem, skip javadoc

* fix retries to 2, #2162 (#2303)

* Revert version to 2.6.2-SNAPSHOT to prepare for 2.6.3 RC4

* Replace outdated license header

* Include 'apache' in release package name.

* Fix version issue: 2.6.2-SNAPSHOT to 2.6.3-SNAPSHOT

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

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

* complete LICENSE for test xml, fix checkstyle problem

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

* New ascii logo for 2.6.x (#2402)

* Merge pull request #2417, add release script (draft).

* Direct return when the server goes down unnormally. (#2451)

* fix telnet invoke NPE #2218 (#2273) (#2453)

* upgrade javadoc to 3.0.1 (#2454)

* Qos enhancement, take #2153 back to 2.6.x (#2455)

* remove dubbo-all javadoc plugin (#2456)

* Prepare for the next development version

* add cache for travis, fix ut for stable (#2501)

* fix time, timestamp, SQL. Date type conversion problems (#2502)

* add change log for 2.6.4

* Enhance NOTICE file.

* change port for unit test

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

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

* fix #2560, use target/test-classes as the basedir (#2564)

* Optimize LeastActiveLoadBalance and add weight test case. (#2584)

* fix #2600, add javadoc plugin to dubbo-all module (#2602)

* Removed jdk9 from .travis.yml. (#2609)

* update release script (#2615)

* Fix incorrect descriptions for dubbo-serialization module for 2.6.x. (#2624)

Fix incorrect descriptions for dubbo-serialization module for 2.6.x.

* Fixed 2.6.x branch a minor issue with doConnect not using getConnectTimeout() in NettyClient,like  #2595 (#2622)

* fix #1641, support get system load on windows. (#2621)

* fix #2063

* @service and @reference Optimization (#2657)

* Polish #2235 #2251 apache/dubbo-spring-boot-project#243

* Fixed bugs and optimized imports

*     #1903: merge issue 1903's fix from 2.7.0 to 2.6.x (#2668)

*     #2016: merge fix from 2.7.0 to 2.6.x (#2680)

* Smooth Round Robin selection (#2647)

* remove author info for RoundRobinLoadBalance (#2696)

* Bug Fix & Enhancement (#2687)

* Polish #2235 #2251 apache/dubbo-spring-boot-project#243

* Fixed bugs and optimized imports

* Remove local PropertySourcesUtils and re-use it from spring-context-extras

* Add Test cases for YAML properties
issues :
apache/dubbo-spring-boot-project/issues/273

* Optimize imports using code-style template

* Refactor Utilities class

* Fixed test cases

* [Enhancement] @EnableDubboConfigBinding annotates @repeatable #1770

* Bug fix

* Remove feature :
[Enhancement] @EnableDubboConfigBinding annotates @repeatable #1770

* release 2.6.5 (#2705)

* 2.6.5 release changes.md  (#2708)

* release 2.6.5

* release 2.6.5

* release 2.6.5 changes

* add 2.6.5 release note

* add 2.6.5 release note

* modify 2.6.5 release log (replace pr link with issue link) (#2716)

* release 2.6.5

*  edit release note for 2.6.5 (rewrite log)

* remove serviceclassHolder and also fix the issue #2637 (#2607)

* remove serviceclassHolder

* [Dubbo-2637] fix the issue #2637 to make sure the properties load properly

* ServiceConfig.java:33: Using the '.*' form of import should be avoided

* replace the import rpc.* with rpc Exporter etc

* replace the import rpc.* with rpc Exporter etc

* fix referenceBean initialization issue (#2719)

* [Dubbo-2678] Add ability to turn off SPI auto injection, special support for Object type. (#2681)

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* disable() is redundant in DisableInject annotation.

* merge #2725 (#2734)

* merge #2725

* fix UT failure

* remove useless test

* fix unit test failures

* [DUBBO-2489] MockClusterInvoker provides local forced mock,I tested it locally, but it doesn't work (#2739)

* Add forks support for ForkingCluster. (#2751)

Add forks support for ForkingCluster.

*     #2748: Provider should disable mock configuration (#2750)

* Fix the bug that ReferenceBean refers service more than once when debugging. (#2759)

note:
please visit http://t.cn/EAhta27 for more detail.

* merge pull request #2353 to 2.6.x to fix #2353 (#2761)

*     #2762: [Dubbo - qos-http] stopServer should be invoked ? (#2768)

* 2.6.5 release note change (#2775)

* release 2.6.5

*  edit release note for 2.6.5 (rewrite log)

* mmm

* edit release note to remove some unuseful word

* merge from upstream and origin

* [Dubbo-2678] Add ability to turn off SPI auto injection, special support for Object type. (#2681)

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* Add ability to turn off SPI auto injection, special support for generic Object type injection.

* disable() is redundant in DisableInject annotation.

* Update release note

* fix #2459  sha512 issue

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

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

* fix 2798 on branch 2.6.x (#2805)

'propertyname in java donot contain '-' but camel format'.

* Remove extra modifiers (#2876)

Remove extra modifiers

* feature:import TagRouter (#3065)

* Merge pull request #3315, fixes #2842, duplicate SPI config items.

* Fix random ut falling in DubboMonitorTest (#3336)

* use netty4 as default transporter for 2.6.6 #3029 (#3318)

* use netty4 as default transporter for 2.6.6 #3029

* fix config file issue && enhance UT

* ignore unstable test

* Activate SPI sort (#3412)

* 修正排序

* Update dubbo-common/src/main/java/com/alibaba/dubbo/common/extension/support/ActivateComparator.java

code style

Co-Authored-By: dongYES <30755351+dongYES@users.noreply.github.com>

* Merge pull request #3502, apply #3295 to 2.6 branch.

Fixes #3294, referenceconfig#destroy never invoke unregister.

* Merge pull request #3511, apply #2925 to branch 2.6.x (to make telnet config work again).

* Revise the naming conventions (#3506)

* apply #2220 to 2.6.x branch, issue #2178 (#3519)

* Apply #2925 to branch 2.6.x

* apply #2220 to 2.6.x branch, issue #2178

* Revise the naming conventions (#3506)

* apply #2220 to 2.6.x branch, issue #2178

* remove java.time package

* update hessian-lite to 2.6.5 (#3538)

* [Enhancement] inline the source code of spring-context-support (#3225)

* Manually merge pull request #1486, to make travis ci and codecov work after apache incubator transition.

* Polish #1306

* Optimize imports

* Optimize imports

* Remove invalid JavaDoc

* Update DubboConfigBinder.java

Remove invalid JavaDoc

* Fix #1653

* Fixed #1772

* Reactor ReferenceAnnotationBeanPostProcessor

* Fixed incubator-dubbo-spring-boot-project#243

* Add ServiceBeanNameBuilder

* Polish apache/incubator-dubbo/#2235

* Polish incubator-dubbo#2251

* Update spring-context-supprt version to be release

* Rename ServiceBeanExportEvent to be ServiceBeanExportedEvent

* Poblish #2297

* Polish #2301

* Polish #2315

* Polish #2897 : DubboConfigConfigurationSelector precedence is too high

* Polish #2897 : implements ImportBeanDefinitionRegistrar in order to reduce precedence

* Polish #2897 : rename DubboConfigConfigurationSelector to DubboConfigConfigurationRegistrar

* Polish #3192 : inline the source code of spring-context-support

* Fixed the issues of the test-cases

* Polish #3193 : [Enhancement] Change the default behavior of @EnableDubboConfig.multiple()

* Polish #3192 : inline the source code of spring-context-support

* Polish #3189 Simplify externalized configuration of Dubbo Protocol name

* Polish #3193

* Polish #2987

* Polish #3355 : Add the "protocol" attribute

* Polish #3355 : Still exists the issues in service discovery.

* Polish #3355 : fix the issues in samples

* Polish #3355 : fix the issues in samples

* Polish #3296 : Merge and enhancement dubbo-registry-nacos

* Polish #3251 : @service supports the hierarchical interface

* Polish #3275 : ReferenceBeanInvocationHandler does not throw the actual exception

* Polish #3429 : Fix the NPE

* add license header

* Polish #3296 : Supports Docker

* [Dubbo-2298] Add Annotation-Driven for MethodConfig and ArgumentConfig (#2603)

* support methodConfig and argementConfig. fix #2298

* unit test

* unit test

* remove unused

* remove author

* add licence

* format the code

* update notice

* update CHANGE.md

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

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

* [DUBBO-3243] Fix Invalid use of BasicClientConnManager: connection still allocated #3243 (#3581)

* Multicast ipv6 support for branch 2.6.x (#3430)

*  Multicast demo fails with message "Can't assign requested address
* remove useless code
* Fix multicast registry ut

* fix fastjson serialize type (#3767)

* Add ASF header #3721 (#3783)

* fix for #4111 (#4114)

do not ignore empty value when we construct servicename

* Disclaimer removed (#4233)

* [No issue] Fix: @method default value will be set to the field of MethodConfig  (#3642)

* fix #2842. fix duplicate SPI definitions

* fix @method set empty string into field

* Polish /#3695 : @reference field can't refer its' @service Bean in same JVM from v2.6.6 (#4385)

* Nacos Dubbo Registry can't sense the change (#4392)

fixes #4348 :

* Dubbo throws IoException with error message while decoding fail (#4396)

Really have this problem

* Dubbo throws exception when use java serializer (#4530)

* Dubbo throws exception when use java serializer
issues:
#3951
#3698

* Dubbo throws exception when use java serializer
issues:
#3951
#3698

fix travis-ci
UnusedImports

* upgrade fastjson to 1.2.58 (#4624)

fixes #4623

* 修复注册中心域名解析导致的单点问题 (#4293)

Fix #2545

* enhance travis

* travis config on 2.6.x (#4916)

* fix default setting

* enhance travis build

* switch back to openjdk since zulu 7 doesn't support javascript, see issue #4961

* use zulu jdk 7 but disable ScriptRouterTest

* add timeout config to zookeeper client (#4963)

* 解决冲突
  • Loading branch information
brucelwl authored and mercyblitz committed Sep 10, 2019
1 parent 5d6baa5 commit 116c9c3
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 41 deletions.
Expand Up @@ -64,7 +64,7 @@

/**
* Abstract generic {@link BeanPostProcessor} implementation for customized annotation that annotated injected-object.
*
* <p>
* The source code is cloned from https://github.com/alibaba/spring-context-support/blob/1.0.2/src/main/java/com/alibaba/spring/beans/factory/annotation/AnnotationInjectedBeanPostProcessor.java
*
* @since 2.6.6
Expand Down Expand Up @@ -224,7 +224,7 @@ private AnnotationInjectedBeanPostProcessor.AnnotatedInjectionMetadata buildAnno

}

private InjectionMetadata findInjectionMetadata(String beanName, Class<?> clazz, PropertyValues pvs) {
public InjectionMetadata findInjectionMetadata(String beanName, Class<?> clazz, PropertyValues pvs) {
// Fall back to class name as cache key, for backwards compatibility with custom callers.
String cacheKey = (StringUtils.hasLength(beanName) ? beanName : clazz.getName());
// Quick check on the concurrent map first, with minimal locking.
Expand Down Expand Up @@ -314,8 +314,8 @@ protected ConfigurableListableBeanFactory getBeanFactory() {
*
* @return non-null {@link Collection}
*/
protected Collection<Object> getInjectedObjects() {
return this.injectedObjectsCache.values();
protected Map<String, Object> getInjectedObjects() {
return this.injectedObjectsCache;
}

/**
Expand Down Expand Up @@ -402,7 +402,7 @@ protected Map<InjectionMetadata.InjectedElement, Object> getInjectedFieldObjects

for (AnnotationInjectedBeanPostProcessor.AnnotatedFieldElement fieldElement : fieldElements) {

injectedElementBeanMap.put(fieldElement, fieldElement.bean);
injectedElementBeanMap.put(fieldElement, fieldElement.injectedBean);

}

Expand All @@ -428,20 +428,19 @@ protected Map<InjectionMetadata.InjectedElement, Object> getInjectedMethodObject

for (AnnotationInjectedBeanPostProcessor.AnnotatedMethodElement methodElement : methodElements) {

injectedElementBeanMap.put(methodElement, methodElement.object);
injectedElementBeanMap.put(methodElement, methodElement.injectedBean);

}

}

return Collections.unmodifiableMap(injectedElementBeanMap);

}

/**
* {@link A} {@link InjectionMetadata} implementation
*/
private class AnnotatedInjectionMetadata extends InjectionMetadata {
public class AnnotatedInjectionMetadata extends InjectionMetadata {

private final Collection<AnnotationInjectedBeanPostProcessor.AnnotatedFieldElement> fieldElements;

Expand All @@ -466,13 +465,13 @@ public Collection<AnnotationInjectedBeanPostProcessor.AnnotatedMethodElement> ge
/**
* {@link A} {@link Method} {@link InjectionMetadata.InjectedElement}
*/
private class AnnotatedMethodElement extends InjectionMetadata.InjectedElement {
public class AnnotatedMethodElement extends InjectionMetadata.InjectedElement {

private final Method method;

private final A annotation;

private volatile Object object;
private volatile Object injectedBean;

protected AnnotatedMethodElement(Method method, PropertyDescriptor pd, A annotation) {
super(method, pd);
Expand All @@ -485,14 +484,29 @@ protected void inject(Object bean, String beanName, PropertyValues pvs) throws T

Class<?> injectedType = pd.getPropertyType();

Object injectedObject = getInjectedObject(annotation, bean, beanName, injectedType, this);
injectedBean = getInjectedObject(annotation, bean, beanName, injectedType, this);

ReflectionUtils.makeAccessible(method);

method.invoke(bean, injectedObject);
method.invoke(bean, injectedBean);

}

public Method getMethod() {
return method;
}

public A getAnnotation() {
return annotation;
}

public Object getInjectedBean() {
return injectedBean;
}

public PropertyDescriptor getPd() {
return this.pd;
}
}

/**
Expand All @@ -504,7 +518,7 @@ public class AnnotatedFieldElement extends InjectionMetadata.InjectedElement {

private final A annotation;

private volatile Object bean;
private volatile Object injectedBean;

protected AnnotatedFieldElement(Field field, A annotation) {
super(field, null);
Expand All @@ -517,12 +531,24 @@ protected void inject(Object bean, String beanName, PropertyValues pvs) throws T

Class<?> injectedType = field.getType();

Object injectedObject = getInjectedObject(annotation, bean, beanName, injectedType, this);
injectedBean = getInjectedObject(annotation, bean, beanName, injectedType, this);

ReflectionUtils.makeAccessible(field);

field.set(bean, injectedObject);
field.set(bean, injectedBean);

}

public Field getField() {
return field;
}

public A getAnnotation() {
return annotation;
}

public Object getInjectedBean() {
return injectedBean;
}

}
Expand Down
Expand Up @@ -66,10 +66,6 @@ public class DubboConfigBindingBeanPostProcessor implements BeanPostProcessor, A

private ApplicationContext applicationContext;

private boolean ignoreUnknownFields = true;

private boolean ignoreInvalidFields = true;

private List<DubboConfigBeanCustomizer> configBeanCustomizers = Collections.emptyList();

/**
Expand All @@ -93,11 +89,8 @@ public Object postProcessBeforeInitialization(Object bean, String beanName) thro
bind(prefix, dubboConfig);

customize(beanName, dubboConfig);

}

return bean;

}

private void bind(String prefix, AbstractConfig dubboConfig) {
Expand All @@ -118,22 +111,6 @@ private void customize(String beanName, AbstractConfig dubboConfig) {

}

public boolean isIgnoreUnknownFields() {
return ignoreUnknownFields;
}

public void setIgnoreUnknownFields(boolean ignoreUnknownFields) {
this.ignoreUnknownFields = ignoreUnknownFields;
}

public boolean isIgnoreInvalidFields() {
return ignoreInvalidFields;
}

public void setIgnoreInvalidFields(boolean ignoreInvalidFields) {
this.ignoreInvalidFields = ignoreInvalidFields;
}

public DubboConfigBinder getDubboConfigBinder() {
return dubboConfigBinder;
}
Expand Down Expand Up @@ -175,9 +152,6 @@ private void initDubboConfigBinder() {
}
}

dubboConfigBinder.setIgnoreUnknownFields(ignoreUnknownFields);
dubboConfigBinder.setIgnoreInvalidFields(ignoreInvalidFields);

}

private void initConfigBeanCustomizers() {
Expand All @@ -199,6 +173,10 @@ private void initConfigBeanCustomizers() {
protected DubboConfigBinder createDubboConfigBinder(Environment environment) {
DefaultDubboConfigBinder defaultDubboConfigBinder = new DefaultDubboConfigBinder();
defaultDubboConfigBinder.setEnvironment(environment);

defaultDubboConfigBinder.setIgnoreUnknownFields(true);
defaultDubboConfigBinder.setIgnoreInvalidFields(true);

return defaultDubboConfigBinder;
}

Expand Down

0 comments on commit 116c9c3

Please sign in to comment.