Java tutorial
/* * Licensed to JIVR under one or more contributor * license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright * ownership. JIVR licenses this file to you under * the Apache License, Version 2.0 (the "License"); you may * not use this file except in compliance with the License. * You may obtain a copy of the License 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 me.bulat.jivr.core.bootstrap; import me.bulat.jivr.core.bootstrap.config.RootConfig; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; /** * @author Alex Bogatikov * Created on 03/09/16. */ public class Bootstrap { /** * Main instance of application. */ private static volatile Bootstrap instance; /** * spring application context. */ private volatile ConfigurableApplicationContext rootContext; public Bootstrap() { rootContext = new AnnotationConfigApplicationContext(RootConfig.class); rootContext.registerShutdownHook(); } static void init(String[] args) { ConsoleParser parser = new ConsoleParser(args); if (parser.parse()) { String confFile = parser.getConfFile(); System.setProperty("ext.properties.file", confFile); instance = new Bootstrap(); } } }