You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@dubbo.apache.org by "beiwei30 (GitHub)" <gi...@apache.org> on 2018/10/12 09:23:39 UTC
[GitHub] [incubator-dubbo] beiwei30 opened pull request #2640:
prototype for issue2570
…pring framework is absent
## What is the purpose of the change
a prototype for issue#2570
## Brief changelog
dubbo-config/dubbo-config-spring/src/main/java/org/apache/dubbo/config/spring/initializer/DubboContextListener.java
dubbo-config/dubbo-config-spring/src/main/resources/META-INF/web-fragment.xml
## Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:
- [x] Make sure there is a [GITHUB_issue](https://github.com/apache/incubator-dubbo/issues) filed for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
- [ ] Format the pull request title like `[Dubbo-XXX] Fix UnknownException when host config not exist #XXX`. Each commit in the pull request should have a meaningful subject line and body.
- [ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
- [ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in [test module](https://github.com/apache/incubator-dubbo/tree/master/dubbo-test).
- [ ] Run `mvn clean install -DskipTests` & `mvn clean test-compile failsafe:integration-test` to make sure unit-test and integration-test pass.
- [ ] If this contribution is large, please follow the [Software Donation Guide](https://github.com/apache/incubator-dubbo/wiki/Software-donation-guide).
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] beiwei30 commented on pull request #2640:
prototype for issue2570
Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
it is a flag for contextDestroyed, this is necessary because there are probably multiple org.springframework.web.context.ContextLoaderListener registered, one from web.xml, explicitly configured by user, the other is org.apache.dubbo.config.spring.initializer.DubboContextListener, automatically wried in from web-fragment.xml
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] carryxyh commented on issue #2640:
prototype for issue2570
Posted by "carryxyh (GitHub)" <gi...@apache.org>.
`private boolean executed = false;`
I have a question. Is `volatile` needed for this field like:
`private volatile boolean executed = false;`
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] beiwei30 commented on issue #2640:
prototype for issue2570
Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
if user explicitly specify spring relevant listener, then it's user's responsibility to add spring dependency.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] diecui1202 commented on issue #2640:
prototype for issue2570
Posted by "diecui1202 (GitHub)" <gi...@apache.org>.
It looks good to me.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] diecui1202 commented on pull request
#2640: prototype for issue2570
Posted by "diecui1202 (GitHub)" <gi...@apache.org>.
what is "executed" used for?
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] beiwei30 commented on issue #2640:
prototype for issue2570
Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
according to servlet spec, the listeners configured in web.xml will be registered first, then other listeners from web-fragment.xml will be registered. In this case, if a spring context listener is explicitly configured in web.xml, and at the same time, metadata-complete attribute is false, then, this spring context listener will be registered first, then the dubbo context listener from web-fragment,xml will be registered.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] ralf0131 commented on issue #2640:
prototype for issue2570
Posted by "ralf0131 (GitHub)" <gi...@apache.org>.
Hi,
This will solve the specific problem, but will break on another scenario. If user already specified `org.springframework.web.context.ContextLoaderListener` in web.xml, this code will add another Listener, which will result in failure.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] diecui1202 closed pull request #2640:
prototype for issue2570
Posted by "diecui1202 (GitHub)" <gi...@apache.org>.
[ pull request closed by diecui1202 ]
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] codecov-io commented on issue #2640:
prototype for issue2570
Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=h1) Report
> Merging [#2640](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/45b3ab4436b4763e1890ded0728137de95df699d?src=pr&el=desc) will **increase** coverage by `8.24%`.
> The diff coverage is `77.77%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #2640 +/- ##
============================================
+ Coverage 54.95% 63.19% +8.24%
============================================
Files 571 574 +3
Lines 25510 25609 +99
Branches 4532 4524 -8
============================================
+ Hits 14019 16184 +2165
+ Misses 9393 7275 -2118
- Partials 2098 2150 +52
```
| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...onfig/spring/initializer/DubboContextListener.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1zcHJpbmcvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9zcHJpbmcvaW5pdGlhbGl6ZXIvRHViYm9Db250ZXh0TGlzdGVuZXIuamF2YQ==) | `77.77% <77.77%> (ø)` | `0 <0> (?)` | |
| [...he/dubbo/remoting/transport/netty/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNsaWVudC5qYXZh) | `72.88% <0%> (-8.48%)` | `0% <0%> (-13%)` | |
| [...apache/dubbo/rpc/protocol/dubbo/FutureAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0Z1dHVyZUFkYXB0ZXIuamF2YQ==) | `58.06% <0%> (-6.46%)` | `0% <0%> (-3%)` | |
| [...org/apache/dubbo/rpc/filter/ActiveLimitFilter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9maWx0ZXIvQWN0aXZlTGltaXRGaWx0ZXIuamF2YQ==) | `83.33% <0%> (-5.56%)` | `0% <0%> (-7%)` | |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-4.17%)` | `0% <0%> (-3%)` | |
| [...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL3RlbG5ldC9JbnZva2VUZWxuZXRIYW5kbGVyLmphdmE=) | `54.21% <0%> (-3.62%)` | `0% <0%> (-15%)` | |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `77.2% <0%> (-1.48%)` | `0% <0%> (-29%)` | |
| [...n/java/org/apache/dubbo/config/ConsumerConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Db25zdW1lckNvbmZpZy5qYXZh) | `92.3% <0%> (ø)` | `0% <0%> (-15%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/metrics/MetricManager.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tbWV0cmljcy9kdWJiby1tZXRyaWNzLWFwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vbWV0cmljcy9NZXRyaWNNYW5hZ2VyLmphdmE=) | | | |
| [.../java/org/apache/dubbo/metrics/MetricRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tbWV0cmljcy9kdWJiby1tZXRyaWNzLWFwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vbWV0cmljcy9NZXRyaWNSZWdpc3RyeS5qYXZh) | | | |
| ... and [172 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=footer). Last update [45b3ab4...ea9fa5a](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] carryxyh commented on issue #2640:
prototype for issue2570
Posted by "carryxyh (GitHub)" <gi...@apache.org>.
@beiwei30 @diecui1202
`private boolean executed = false;`
I have a question. Is `volatile` needed for this field like:
`private volatile boolean executed = false;`
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] diecui1202 commented on issue #2640:
prototype for issue2570
Posted by "diecui1202 (GitHub)" <gi...@apache.org>.
What's the initial order about DubboContextListener and spring ContextLoaderListener? ContextLoaderListener initializes first?
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] diecui1202 commented on issue #2640:
prototype for issue2570
Posted by "diecui1202 (GitHub)" <gi...@apache.org>.
sorry for closing it by mistake.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] beiwei30 commented on issue #2640:
prototype for issue2570
Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
according to servlet spec, the listeners configured in web.xml will be registered first, then other listeners from web-fragment.xml will be registered.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] codecov-io commented on issue #2640:
prototype for issue2570
Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=h1) Report
> Merging [#2640](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/45b3ab4436b4763e1890ded0728137de95df699d?src=pr&el=desc) will **increase** coverage by `8.15%`.
> The diff coverage is `77.77%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #2640 +/- ##
============================================
+ Coverage 54.95% 63.11% +8.15%
============================================
Files 571 574 +3
Lines 25510 25579 +69
Branches 4532 4500 -32
============================================
+ Hits 14019 16144 +2125
+ Misses 9393 7284 -2109
- Partials 2098 2151 +53
```
| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...onfig/spring/initializer/DubboContextListener.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1zcHJpbmcvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9zcHJpbmcvaW5pdGlhbGl6ZXIvRHViYm9Db250ZXh0TGlzdGVuZXIuamF2YQ==) | `77.77% <77.77%> (ø)` | `0 <0> (?)` | |
| [...che/dubbo/remoting/transport/mina/MinaChannel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbWluYS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcmVtb3RpbmcvdHJhbnNwb3J0L21pbmEvTWluYUNoYW5uZWwuamF2YQ==) | `42.25% <0%> (-11.27%)` | `0% <0%> (-16%)` | |
| [...mmon/threadpool/support/fixed/FixedThreadPool.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdGhyZWFkcG9vbC9zdXBwb3J0L2ZpeGVkL0ZpeGVkVGhyZWFkUG9vbC5qYXZh) | `80% <0%> (-7.5%)` | `0% <0%> (-3%)` | |
| [...he/dubbo/remoting/transport/netty/NettyClient.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcmVtb3RpbmcvZHViYm8tcmVtb3RpbmctbmV0dHkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JlbW90aW5nL3RyYW5zcG9ydC9uZXR0eS9OZXR0eUNsaWVudC5qYXZh) | `74.13% <0%> (-7.22%)` | `0% <0%> (-13%)` | |
| [...apache/dubbo/rpc/protocol/dubbo/FutureAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0Z1dHVyZUFkYXB0ZXIuamF2YQ==) | `58.06% <0%> (-6.46%)` | `0% <0%> (-3%)` | |
| [.../threadpool/support/limited/LimitedThreadPool.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdGhyZWFkcG9vbC9zdXBwb3J0L2xpbWl0ZWQvTGltaXRlZFRocmVhZFBvb2wuamF2YQ==) | `83.33% <0%> (-5.56%)` | `0% <0%> (-3%)` | |
| [...org/apache/dubbo/rpc/filter/ActiveLimitFilter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9maWx0ZXIvQWN0aXZlTGltaXRGaWx0ZXIuamF2YQ==) | `83.33% <0%> (-5.56%)` | `0% <0%> (-7%)` | |
| [...on/threadpool/support/cached/CachedThreadPool.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tY29tbW9uL3NyYy9tYWluL2phdmEvb3JnL2FwYWNoZS9kdWJiby9jb21tb24vdGhyZWFkcG9vbC9zdXBwb3J0L2NhY2hlZC9DYWNoZWRUaHJlYWRQb29sLmphdmE=) | `85.71% <0%> (-4.29%)` | `0% <0%> (-3%)` | |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-4.17%)` | `0% <0%> (-3%)` | |
| [...rpc/protocol/dubbo/telnet/InvokeTelnetHandler.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL3RlbG5ldC9JbnZva2VUZWxuZXRIYW5kbGVyLmphdmE=) | `54.21% <0%> (-3.62%)` | `0% <0%> (-15%)` | |
| ... and [186 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=footer). Last update [45b3ab4...ea9fa5a](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] diecui1202 closed pull request #2640:
prototype for issue2570
Posted by "diecui1202 (GitHub)" <gi...@apache.org>.
[ pull request closed by diecui1202 ]
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] codecov-io commented on issue #2640:
prototype for issue2570
Posted by "codecov-io (GitHub)" <gi...@apache.org>.
# [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=h1) Report
> Merging [#2640](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=desc) into [master](https://codecov.io/gh/apache/incubator-dubbo/commit/45b3ab4436b4763e1890ded0728137de95df699d?src=pr&el=desc) will **increase** coverage by `8.31%`.
> The diff coverage is `77.77%`.
[![Impacted file tree graph](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/graphs/tree.svg?width=650&token=VnEIkiFQT0&height=150&src=pr)](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=tree)
```diff
@@ Coverage Diff @@
## master #2640 +/- ##
============================================
+ Coverage 54.95% 63.27% +8.31%
============================================
Files 571 574 +3
Lines 25510 25609 +99
Branches 4532 4524 -8
============================================
+ Hits 14019 16203 +2184
+ Misses 9393 7260 -2133
- Partials 2098 2146 +48
```
| [Impacted Files](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=tree) | Coverage Δ | Complexity Δ | |
|---|---|---|---|
| [...onfig/spring/initializer/DubboContextListener.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1zcHJpbmcvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9zcHJpbmcvaW5pdGlhbGl6ZXIvRHViYm9Db250ZXh0TGlzdGVuZXIuamF2YQ==) | `77.77% <77.77%> (ø)` | `0 <0> (?)` | |
| [...apache/dubbo/rpc/protocol/dubbo/FutureAdapter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0Z1dHVyZUFkYXB0ZXIuamF2YQ==) | `58.06% <0%> (-6.46%)` | `0% <0%> (-3%)` | |
| [...org/apache/dubbo/rpc/filter/ActiveLimitFilter.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL3JwYy9maWx0ZXIvQWN0aXZlTGltaXRGaWx0ZXIuamF2YQ==) | `83.33% <0%> (-5.56%)` | `0% <0%> (-7%)` | |
| [...ubbo/rpc/protocol/dubbo/ChannelWrappedInvoker.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NoYW5uZWxXcmFwcGVkSW52b2tlci5qYXZh) | `41.66% <0%> (-4.17%)` | `0% <0%> (-3%)` | |
| [...dubbo/rpc/protocol/dubbo/CallbackServiceCodec.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tcnBjL2R1YmJvLXJwYy1kdWJiby9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vcnBjL3Byb3RvY29sL2R1YmJvL0NhbGxiYWNrU2VydmljZUNvZGVjLmphdmE=) | `77.2% <0%> (-1.48%)` | `0% <0%> (-29%)` | |
| [...n/java/org/apache/dubbo/config/ConsumerConfig.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tY29uZmlnL2R1YmJvLWNvbmZpZy1hcGkvc3JjL21haW4vamF2YS9vcmcvYXBhY2hlL2R1YmJvL2NvbmZpZy9Db25zdW1lckNvbmZpZy5qYXZh) | `92.3% <0%> (ø)` | `0% <0%> (-15%)` | :arrow_down: |
| [...n/java/org/apache/dubbo/metrics/MetricManager.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tbWV0cmljcy9kdWJiby1tZXRyaWNzLWFwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vbWV0cmljcy9NZXRyaWNNYW5hZ2VyLmphdmE=) | | | |
| [.../java/org/apache/dubbo/metrics/MetricRegistry.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tbWV0cmljcy9kdWJiby1tZXRyaWNzLWFwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vbWV0cmljcy9NZXRyaWNSZWdpc3RyeS5qYXZh) | | | |
| [...ain/java/org/apache/dubbo/metrics/MetricLevel.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tbWV0cmljcy9kdWJiby1tZXRyaWNzLWFwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vbWV0cmljcy9NZXRyaWNMZXZlbC5qYXZh) | | | |
| [...main/java/org/apache/dubbo/metrics/MetricName.java](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree#diff-ZHViYm8tbWV0cmljcy9kdWJiby1tZXRyaWNzLWFwaS9zcmMvbWFpbi9qYXZhL29yZy9hcGFjaGUvZHViYm8vbWV0cmljcy9NZXRyaWNOYW1lLmphdmE=) | | | |
| ... and [170 more](https://codecov.io/gh/apache/incubator-dubbo/pull/2640/diff?src=pr&el=tree-more) | |
------
[Continue to review full report at Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=continue).
> **Legend** - [Click here to learn more](https://docs.codecov.io/docs/codecov-delta)
> `Δ = absolute <relative> (impact)`, `ø = not affected`, `? = missing data`
> Powered by [Codecov](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=footer). Last update [45b3ab4...ea9fa5a](https://codecov.io/gh/apache/incubator-dubbo/pull/2640?src=pr&el=lastupdated). Read the [comment docs](https://docs.codecov.io/docs/pull-request-comments).
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org
[GitHub] [incubator-dubbo] beiwei30 commented on issue #2640:
prototype for issue2570
Posted by "beiwei30 (GitHub)" <gi...@apache.org>.
I don't think it's necessary. Servlet container will guarantee the code will only be executed once and only once.
[ Full content available at: https://github.com/apache/incubator-dubbo/pull/2640 ]
This message was relayed via gitbox.apache.org for notifications@dubbo.apache.org