# HG changeset patch # User Ingo Weinzierl # Date 1299005568 0 # Node ID bfa65a812c7a6a79d8dae1b6c60cbd14c005d79f # Parent 0245a87df368546975bd5f7f90e1144604d3f935 Made the backend singleton. artifacts/trunk@1352 c6561f87-3c4e-4783-a992-168aeb5c3f6f diff -r 0245a87df368 -r bfa65a812c7a ChangeLog --- a/ChangeLog Tue Mar 01 18:45:34 2011 +0000 +++ b/ChangeLog Tue Mar 01 18:52:48 2011 +0000 @@ -1,3 +1,11 @@ +2011-03-01 Ingo Weinzierl + + * artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java: + Made it a singleton. + + * artifact-database/src/main/java/de/intevation/artifactdatabase/App.java: + Use the singleton Backend. + 2011-03-01 Ingo Weinzierl * artifact-database/src/main/java/de/intevation/artifactdatabase/ArtifactDatabaseImpl.java: diff -r 0245a87df368 -r bfa65a812c7a artifact-database/src/main/java/de/intevation/artifactdatabase/App.java --- a/artifact-database/src/main/java/de/intevation/artifactdatabase/App.java Tue Mar 01 18:45:34 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/App.java Tue Mar 01 18:52:48 2011 +0000 @@ -62,7 +62,7 @@ bootstrap.boot(); - Backend backend = new Backend(); + Backend backend = Backend.getInstance(); ArtifactDatabaseImpl db = new ArtifactDatabaseImpl( bootstrap, backend); diff -r 0245a87df368 -r bfa65a812c7a artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java --- a/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java Tue Mar 01 18:45:34 2011 +0000 +++ b/artifact-database/src/main/java/de/intevation/artifactdatabase/Backend.java Tue Mar 01 18:52:48 2011 +0000 @@ -80,6 +80,9 @@ public static final String SQL_REPLACE = SQL.get("artifacts.replace"); + /** The singleton.*/ + protected static Backend instance; + /** * The database cleaner. Reference is stored here because * the cleaner is woken up if the backend finds an outdated @@ -207,6 +210,20 @@ this.cleaner = cleaner; } + + /** + * Returns the singleton of this Backend. + * + * @return the backend. + */ + public static synchronized Backend getInstance() { + if (instance == null) { + instance = new Backend(); + } + + return instance; + } + /** * Sets the factory lookup mechanism to decouple ArtifactDatabase * and Backend.