rules_closure icon indicating copy to clipboard operation
rules_closure copied to clipboard

Cannot shutdown WebfilesServer

Open ptmphuong opened this issue 1 year ago • 0 comments

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.

ptmphuong avatar Dec 08 '22 00:12 ptmphuong