Mercurial > dive4elements > framework
diff artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java @ 30:88972c6daa4f
Added a cleanup thread which periodically removes
outdated artifacts from database and calls there
endOfLife() method.
artifacts/trunk@70 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Sascha L. Teichmann <sascha.teichmann@intevation.de> |
---|---|
date | Thu, 10 Sep 2009 23:16:18 +0000 |
parents | 75bdaf900473 |
children | c4d85a8532d1 |
line wrap: on
line diff
--- a/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java Thu Sep 10 15:49:17 2009 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java Thu Sep 10 23:16:18 2009 +0000 @@ -48,6 +48,8 @@ public static final String SQL_LOAD_BY_GID = SQL.get("artifacts.select.gid"); + protected DatabaseCleaner cleaner; + /** * Used to wrap the calls to invole database actions. */ @@ -153,6 +155,10 @@ public Backend() { } + public Backend(DatabaseCleaner cleaner) { + this.cleaner = cleaner; + } + public Artifact getArtifact(String idenitfier) { UUID uuid; @@ -251,6 +257,10 @@ public static Artifact restoreArtifact(byte [] bytes) { + if (bytes == null) { + return null; + } + ObjectInputStream ois = null; try { @@ -281,6 +291,9 @@ protected void artifactOutdated(int id) { logger.info("artifactOutdated: id = " + id); + if (cleaner != null) { + cleaner.wakeup(); + } } protected int insertDatabase(UUID uuid, Long ttl) {