Mercurial > dive4elements > framework
view artifact-database/src/main/java/de/intevation/artifactdatabase/App.java @ 431:29bd60a3ee67
added tags
author | Thomas Arendsen Hein <thomas@intevation.de> |
---|---|
date | Fri, 28 Sep 2012 12:16:04 +0200 |
parents | f33401ea2a6c |
children |
line wrap: on
line source
/* * Copyright (c) 2010 by Intevation GmbH * * This program is free software under the LGPL (>=v2.1) * Read the file LGPL.txt coming with the software for details * or visit http://www.gnu.org/licenses/ if it does not exist. */ package de.intevation.artifactdatabase; import de.intevation.artifacts.common.utils.Config; import de.intevation.artifactdatabase.rest.HTTPServer; import java.io.File; import java.net.MalformedURLException; import org.apache.log4j.PropertyConfigurator; import org.slf4j.bridge.SLF4JBridgeHandler; /** * Starting point of the artifact database. * * @author <a href="mailto:sascha.teichmann@intevation.de">Sascha L. Teichmann</a> */ public class App { /** * The logging is done via Log4j. To configure the logging * a file 'log4j.properties' is search in the configuration directory. */ public static final String LOG4J_PROPERTIES = "log4j.properties"; /** * Trys to load the Log4j configuration from ${config.dir}/log4j.properties. */ public static final void configureLogging() { File configDir = Config.getConfigDirectory(); File propFile = new File(configDir, LOG4J_PROPERTIES); if (propFile.isFile() && propFile.canRead()) { try { PropertyConfigurator.configure(propFile.toURI().toURL()); SLF4JBridgeHandler.install(); } catch (MalformedURLException mue) { mue.printStackTrace(System.err); } } } /** * Starts the artifact database. * @param args The commandline arguments. Unused. */ public static void main(String[] args) { configureLogging(); FactoryBootstrap bootstrap = new FactoryBootstrap(); bootstrap.boot(); Backend backend = Backend.getInstance(); ArtifactDatabaseImpl db = new ArtifactDatabaseImpl( bootstrap, backend); DatabaseCleaner cleaner = new DatabaseCleaner( bootstrap.getContext(), backend, backend.getConfig()); HTTPServer httpServer = bootstrap.getHTTPServer(); bootstrap = null; backend.setCleaner(cleaner); cleaner.setLockedIdsProvider(db); cleaner.start(); db.start(); httpServer.startAsServer(db); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :