trendulo.ingest.Ingest.java Source code

Java tutorial

Introduction

Here is the source code for trendulo.ingest.Ingest.java

Source

// =================================================================================================
// Copyright 2012 Jared Winick
// -------------------------------------------------------------------------------------------------
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this work except in compliance with the License.
// You may obtain a copy of the License in the LICENSE file, or at:
//
//  http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// =================================================================================================

package trendulo.ingest;

import org.apache.log4j.Logger;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Ingest {

    /**
     * @param args
     */
    public static void main(String[] args) {

        final Logger log = Logger.getLogger(Ingest.class);

        ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");

        // Start the N-Gram Source
        final TemporalNGramSource nGramSource = (TemporalNGramSource) context.getBean("nGramSource");
        Thread nGramSourceThread = new Thread(nGramSource);
        nGramSourceThread.start();

        // Start the N-Gram Ingester that will take from the source
        final TemporalNGramIngester nGramIngester = (TemporalNGramIngester) context.getBean("nGramIngester");
        Thread nGramIngesterThread = new Thread(nGramIngester);
        nGramIngesterThread.start();

        Runtime.getRuntime().addShutdownHook(new Thread() {
            public void run() {
                log.info("Shutting Down Ingest...");
                nGramSource.shutdown();
                nGramIngester.shutdown();
            }
        });
    }

}