hansva opened a new pull request, #7479: URL: https://github.com/apache/hop/pull/7479
Reapplies apache/hop#4574 (Nicolas Adment) on top of current main, which had diverged ~1720 commits (incl. the Apache HttpClient 4->5 migration). - Split HopServerMeta into a slim metadata class + a new RemoteHopServer client that holds all remote-interaction methods. RemoteHopServer is rebuilt from main's current (HttpClient 5) method bodies, not the PR's Nov-2024 versions, so no server fixes are lost. - All callers use the new RemoteHopServer request* API (RemotePipelineEngine, RemoteWorkflowEngine, RemoteExecutionInfoLocation, GetServerStatus, HopGuiWorkflowRunDelegate, HopServerMetaEditor, HopServer). - Graceful shutdown: new ShutdownServlet (GET /shutdown, authenticated) + HopServer.shutdown() + HopServerTerminate extension point + a JVM shutdown hook so SIGTERM/CTRL-C stop the server gracefully. WebServer gets idempotent start()/stop() and drops the old WebServerShutdownHook / IWebServerShutdownHandler / MonitorThread. HopServerStartup/Shutdown/Terminate now all receive a HopServer object. - WebServer.CONST_PORT renamed to DEFAULT_PORT. - Removed the vestigial shutdownPort end to end (HopServerMeta metadata field, WebServer/HopServer/HopServerConfig plumbing, the hostname:port:shutdownport CLI positional, sample hop-server.xml, docker env/EXPOSE, docs). It was never wired to a listener; graceful shutdown is covered by SIGTERM and /shutdown. - Removed the dead --kill example + callStopHopServerRestService machinery. Reconciled with main's evolution: kept main's picocli CLI (it already has --help/--version and still supports the hostname:port syntax); ShutdownServlet is on the main connector for Jetty ee11 (no separate shutdown-port connector); dropped the dead propertiesMasterName fields main removed in #5060; docs updated (Stopping Hop Server section + shutdown-port references). **Please** add a meaningful description for your change here ------------------------ Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily: - [ ] Run `mvn clean install apache-rat:check` to make sure basic checks pass. A more thorough check will be performed on your pull request automatically. - [ ] If you have a group of commits related to the same change, please squash your commits into one and force push your branch using `git rebase -i`. - [ ] Mention the appropriate issue in your description (for example: `addresses #123`), if applicable. To make clear that you license your contribution under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) you have to acknowledge this by using the following check-box. - [ ] I hereby declare this contribution to be licensed under the [Apache License Version 2.0, January 2004](http://www.apache.org/licenses/LICENSE-2.0) - [ ] In any other case, please file an [Apache Individual Contributor License Agreement](https://www.apache.org/licenses/icla.pdf). -- 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]
