wy471x opened a new pull request, #6939: URL: https://github.com/apache/shenyu/pull/6939
<!-- Describe your PR here; e.g. Fixes #issueNo --> <!-- Thank you for proposing a pull request. This template will guide you through the essential steps necessary for a pull request. --> Make sure that: - [X] You have read the [contribution guidelines](https://shenyu.apache.org/community/contributor-guide). - [X] You submit test cases (unit or integration tests) that back your changes. - [X] Your local test passed `./mvnw clean install -Dmaven.javadoc.skip=true`. ## Summary ### Changes: MqttBootstrapServer (shenyu-protocol-mqtt): - Failed-start NPE fix: start() previously swallowed InterruptedException, leaving future null so shutdown() threw NPE. Now bind failures are logged, event-loop groups are disposed via shutdown(), and the interrupt flag is restored. - Null-safe shutdown: shutdown() null-checks bossGroup, workerGroup, and future using Objects.nonNull (checkstyle requirement). - Async start: bind logic moved into CompletableFuture.runAsync(...) (module convention), resolving the //// todo thread start mqtt server marker; exceptions are handled inside the task since callers can no longer observe them. Fields made volatile for cross-thread visibility. - Logging: added LOG.info on successful start and LOG.error in init()/start() catch blocks. ### Test Cases: MqttBootstrapServerTest: - new MqttBootstrapServerTest with 3 cases — shutdown without start, port-in-use start then shutdown, free-port start (await connect) then shutdown. close [#6747](https://github.com/apache/shenyu/issues/6747) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
