diff --git a/src/main/java/org/forkalsrud/album/db/DirectoryDatabase.java b/src/main/java/org/forkalsrud/album/db/DirectoryDatabase.java index af631d8..01e88b0 100644 --- a/src/main/java/org/forkalsrud/album/db/DirectoryDatabase.java +++ b/src/main/java/org/forkalsrud/album/db/DirectoryDatabase.java @@ -42,7 +42,7 @@ public class DirectoryDatabase extends TupleBinding { this.db = environment.openDatabase(null, dbname, databaseConfig); } - public void destroy() { + public void close() { db.close(); } diff --git a/src/main/java/org/forkalsrud/album/db/MovieDatabase.java b/src/main/java/org/forkalsrud/album/db/MovieDatabase.java index c77120e..1f6cb95 100644 --- a/src/main/java/org/forkalsrud/album/db/MovieDatabase.java +++ b/src/main/java/org/forkalsrud/album/db/MovieDatabase.java @@ -39,7 +39,7 @@ public class MovieDatabase extends TupleBinding { this.db = environment.openDatabase(null, dbname, databaseConfig); } - public void destroy() { + public void close() { db.close(); } diff --git a/src/main/java/org/forkalsrud/album/db/ThumbnailDatabase.java b/src/main/java/org/forkalsrud/album/db/ThumbnailDatabase.java index ae04c70..ea0fd4e 100644 --- a/src/main/java/org/forkalsrud/album/db/ThumbnailDatabase.java +++ b/src/main/java/org/forkalsrud/album/db/ThumbnailDatabase.java @@ -41,7 +41,7 @@ public class ThumbnailDatabase extends TupleBinding { this.db = environment.openDatabase(null, dbname, databaseConfig); } - public void destroy() { + public void close() { db.close(); } diff --git a/src/main/java/org/forkalsrud/album/web/AlbumServlet.java b/src/main/java/org/forkalsrud/album/web/AlbumServlet.java index cf565e3..bc777ec 100644 --- a/src/main/java/org/forkalsrud/album/web/AlbumServlet.java +++ b/src/main/java/org/forkalsrud/album/web/AlbumServlet.java @@ -179,9 +179,10 @@ public class AlbumServlet } - public void destroy() { - dirDb.destroy(); - thumbDb.destroy(); + public void close() { + dirDb.close(); + thumbDb.close(); + movieDb.close(); environment.close(); } @@ -558,6 +559,7 @@ public class AlbumServlet @Override public void destroy() { log.info("Shutting down Album"); + roots.values().forEach(r -> r.close()); } diff --git a/src/test/java/org/forkalsrud/album/Runner.java b/src/test/java/org/forkalsrud/album/Runner.java index 3152649..f4d40ab 100644 --- a/src/test/java/org/forkalsrud/album/Runner.java +++ b/src/test/java/org/forkalsrud/album/Runner.java @@ -24,6 +24,15 @@ public class Runner { server.start(); System.out.println("Visit http://localhost:8080/photo/album/"); + + Runtime.getRuntime().addShutdownHook(new Thread(() -> { + try { + server.stop(); + } catch (Exception e) { + e.printStackTrace(); + } + })); + server.join(); }