Mercurial Hosting > luan
diff src/goodjava/webserver/handlers/DomainHandler.java @ 1850:64b7076c635c default tip
better link_to_domain
author | Franklin Schmidt <fschmidt@gmail.com> |
---|---|
date | Sat, 22 Feb 2025 20:26:31 -0700 |
parents | 9d9683e76496 |
children |
line wrap: on
line diff
--- a/src/goodjava/webserver/handlers/DomainHandler.java Fri Feb 21 12:23:56 2025 -0700 +++ b/src/goodjava/webserver/handlers/DomainHandler.java Sat Feb 22 20:26:31 2025 -0700 @@ -24,6 +24,10 @@ public Handler newHandler(String domain); } + public interface HandlerCloseable extends Closeable { + public boolean isClosed(); + } + private static class MyTask extends TimerTask { private final Set<Handler> dontGc; @@ -70,6 +74,10 @@ domain = domain.toLowerCase().intern(); synchronized(domain) { Handler handler = map.get(domain); + if( handler instanceof HandlerCloseable && ((HandlerCloseable)handler).isClosed() ) { + removeHandler(domain); + handler = null; + } if( handler == null ) { //if(ref!=null) logger.info("gc "+domain); handler = factory.newHandler(domain);