rules_closure
rules_closure copied to clipboard
Cannot shutdown WebfilesServer
The WebfilesServer currently lacks a shutdown method.
Simply shutting down the ExecutorService that runs the server doesn't work:
public static void main(String[] args) throws Exception {
ExecutorService executor = Executors.newCachedThreadPool();
WebfilesServer server =
DaggerWebfilesServer_Server.builder()
.args(ImmutableList.of(serverConfig))
.executor(executor)
.fs(FileSystems.getDefault())
.serverSocketFactory(ServerSocketFactory.getDefault())
.build()
.server();
server.spawn();
executor.shutdownNow();
// at this point, the server is still running
}
WebfilesServer also contains MetadataLoader and MetadataReloader instances that also implement Runnable and loop infinitely. Some work needs to be done to break the loops and release the resources properly.