Skip to content

Try to get it from the cache before generating the referenceKey#10173

Merged
AlbumenJ merged 1 commit intoapache:3.0from
BurningCN:Try_to_get_it_from_the_cache_before_generating_the_referenceKey
Aug 15, 2022
Merged

Try to get it from the cache before generating the referenceKey#10173
AlbumenJ merged 1 commit intoapache:3.0from
BurningCN:Try_to_get_it_from_the_cache_before_generating_the_referenceKey

Conversation

@BurningCN
Copy link
Member

在注解方式配置模式中,在ReferenceAnnotationBeanPostProcessor#registerReferenceBean 方法中会执行 ReferenceBeanSupport.generateReferenceKey(attributes, applicationContext) 会生成referenceKey并写入ReferenceManager#referenceKeyMap缓存中。

后续发生ReferenceAnnotationBeanPostProcessor#doGetInjectedBean -> ReferenceBean#afterPropertiesSet -> ReferenceManager#addReference,该方法中又再次调用generateReferenceKey方法来构建referenceKeygenerateReferenceKey方法相对耗时),其实可以从缓存直接获取。

并且 ReferenceBeanManager#initReferenceBean 方法发生在 ReferenceBeanManager#addReference方法后,也可以先尝试从ReferenceManager#referenceKeyMap缓存中获取

@codecov-commenter
Copy link

codecov-commenter commented Jun 17, 2022

Codecov Report

Merging #10173 (b48b882) into 3.0 (162b98f) will decrease coverage by 0.01%.
The diff coverage is 83.33%.

@@             Coverage Diff              @@
##                3.0   #10173      +/-   ##
============================================
- Coverage     65.72%   65.70%   -0.02%     
+ Complexity      319      318       -1     
============================================
  Files          1224     1229       +5     
  Lines         53325    53524     +199     
  Branches       8062     8094      +32     
============================================
+ Hits          35046    35170     +124     
- Misses        14459    14514      +55     
- Partials       3820     3840      +20     
Impacted Files Coverage Δ
.../config/spring/reference/ReferenceBeanManager.java 83.58% <83.33%> (-0.63%) ⬇️
...nt/metadata/ServiceInstanceHostPortCustomizer.java 65.78% <0.00%> (-21.06%) ⬇️
.../apache/dubbo/rpc/filter/ProfilerServerFilter.java 62.85% <0.00%> (-20.00%) ⬇️
.../registry/zookeeper/ZookeeperServiceDiscovery.java 68.35% <0.00%> (-17.36%) ⬇️
.../dubbo/rpc/protocol/tri/command/QueuedCommand.java 64.28% <0.00%> (-14.29%) ⬇️
...registry/zookeeper/util/CuratorFrameworkUtils.java 76.19% <0.00%> (-12.94%) ⬇️
...che/dubbo/registry/client/NopServiceDiscovery.java 44.44% <0.00%> (-11.12%) ⬇️
...ian2/dubbo/AbstractHessian2FactoryInitializer.java 50.00% <0.00%> (-11.12%) ⬇️
...mmon/threadpool/support/AbortPolicyWithReport.java 73.68% <0.00%> (-10.53%) ⬇️
...e/dubbo/rpc/protocol/tri/transport/WriteQueue.java 64.28% <0.00%> (-9.53%) ⬇️
... and 86 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 162b98f...b48b882. Read the comment docs.

@AlbumenJ AlbumenJ merged commit 6822b23 into apache:3.0 Aug 15, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants