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