I’m working on a custom Geoserver extension, which is deployed to Windows (end-user stipulation). Each time I recompile and deploy my changes, I restart the WIndows Tomcat service. This is incredibly slow to stop. Also, while the service starts quickly, Geoserver is not available for some time after that.
Is a full Tomcat service stop/start the only method, or is something potentially quicker possible?
When installing an extension you are kind of manually creating a new geoserver.war web application - so yes a restart is necessary. I recommend stopping tomcat completely (rather than stopping the service while tomcat is running).
If it helps you could have your extension as a separate web app, and talk to it as is done with geofence-sever. I am not sure what your extension does but it may be an option.
aside: I note that some other applications (“Jenkins”), or environments (OSGi) have their own plugin system that download and install modules while an application is running, or knowing how to restart the application automatically. I would love to see something like this done for GeoServer one day
I assumed that Tomcat was only being used to test in the final environment and missed that it was being used each compile.
If you are doing development often you can run straight from the IDE, and make changes while the application is running, troubleshooting directly in the debugger, no restart required etc…