Package org.rzo.yajsw.app

Source Code of org.rzo.yajsw.app.WrapperMainServiceUnix

/* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
* <p/>
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
* Lesser General Public License for more details. 
*/
package org.rzo.yajsw.app;

import java.io.File;

import org.rzo.yajsw.boot.WrapperLoader;
import org.rzo.yajsw.config.YajswConfigurationImpl;
import org.rzo.yajsw.os.OperatingSystem;
import org.rzo.yajsw.os.StopableService;
import org.rzo.yajsw.wrapper.WrappedProcess;
import org.rzo.yajsw.wrapper.WrappedProcessFactory;

// TODO: Auto-generated Javadoc
/**
* The Class WrapperMainService.
*/
public class WrapperMainServiceUnix implements StopableService
{

  /** The w. */
  static WrappedProcess  w;

  /**
   * Instantiates a new wrapper main service.
   */
  public WrapperMainServiceUnix()
  {
  }

  // this is the wrapper for services
  /**
   * The main method.
   *
   * @param args
   *            the arguments
   */
  public static void main(String[] args)
  {
    String wrapperJar = WrapperLoader.getWrapperJar();
    String homeDir = new File(wrapperJar).getParent();
    OperatingSystem.instance().setWorkingDir(homeDir);

    StopableService service = new WrapperMainServiceUnix();
    YajswConfigurationImpl _config = new YajswConfigurationImpl(false);
    w = WrappedProcessFactory.createProcess(_config);
    // start the application
    //w.setDebug(true);
    w.init();
    w.setService(service);
   
    /* use wrapper.control
    Runtime.getRuntime().addShutdownHook(new Thread()
    {
      public void run()
      {
        w.stop();
        w.shutdown();
        // give scripts time to terminate
        try
        {
          Thread.sleep(5000);
        }
        catch (InterruptedException e)
        {
          e.printStackTrace();
        }
      }
    });
    */
    w.start();
  }

  public void onStop()
  {
    // give any running scripts time to terminate
    try
    {
      Thread.sleep(5000);
    }
    catch (InterruptedException e)
    {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }

  public void waitOnStop()
  {
    // TODO Auto-generated method stub
   
  }

}
TOP

Related Classes of org.rzo.yajsw.app.WrapperMainServiceUnix

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.