view artifact-database/src/main/java/de/intevation/artifactdatabase/App.java @ 44:86d2a843e588

Allow REST server to bind to configurable interface. artifacts/trunk@151 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Tue, 29 Sep 2009 10:25:53 +0000
parents 5e4bc24ea438
children 48d1a9a082c2
line wrap: on
line source
package de.intevation.artifactdatabase;

import de.intevation.artifactdatabase.rest.Standalone;

import java.io.File;

import java.net.MalformedURLException;

import org.apache.log4j.PropertyConfigurator;

/**
 * Starting point of the artifact database.
 *
 * @author Sascha L. Teichmann (sascha.teichmann@intevation.de)
 */
public class App
{
    public static final String LOG4J_PROPERTIES =
        "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());
            }
            catch (MalformedURLException mue) {
                mue.printStackTrace(System.err);
            }
        }
    }

    public static void main(String[] args) {

        configureLogging();

        FactoryBootstrap bootstrap = new FactoryBootstrap();

        bootstrap.boot();

        Backend backend = new Backend();

        ArtifactDatabaseImpl db = new ArtifactDatabaseImpl(
            bootstrap, backend);

        DatabaseCleaner cleaner = new DatabaseCleaner(
            bootstrap.getContext(), backend);

        backend.setCleaner(cleaner);

        cleaner.setFilter(db);

        cleaner.start();

        Standalone.startAsServer(db);
    }
}
// vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8:

http://dive4elements.wald.intevation.org