Introduce:
In shutdown stage of a project ,gracefull shut down is necessary.
There is a application listener ,but it is not enough,some actions should be 
done with dubbo.
For example, Kafka producer should flush messages to the broker after protocol 
destroyed.
Another,MQ consumer should not poll new messages any more after registries 
destroyed.

Changelog

1.add a interface GraceFulShutDown that support spring and SPI extension
2.update SpringExtensionFactory.ShutdownHookListener to support customized 
actions when spring bean exists which implements GraceFullShutDown or SPI 
config exits
3.add a unit test GraceFulShutDownTest
4.update DubboShutDownHook that support GracefulShutDown

Follow this checklist to help us incorporate your contribution quickly and 
easily:

- [x] Make sure there is a 
[GITHUB_issue](https://github.com/apache/dubbo/issues) field 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.
- [x] 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.
- [x] Write a pull request description that is detailed enough to understand 
what the pull request does, how, and why.
- [x] 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 sample in [dubbo 
samples](https://github.com/apache/dubbo-samples) project.
- [x] Run `mvn clean install -DskipTests=false` & `mvn clean test-compile 
failsafe:integration-test` to make sure unit-test and integration-test pass.
- [x] If this contribution is large, please follow the [Software Donation 
Guide](https://github.com/apache/dubbo/wiki/Software-donation-guide).


[ Full content available at: https://github.com/apache/dubbo/pull/5251 ]
This message was relayed via gitbox.apache.org for 
[email protected]

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to