You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by co...@apache.org on 2002/02/28 16:50:18 UTC
cvs commit: jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/launcher CommonsDaemon.java
colus 02/02/28 07:50:18
Added: src/java/org/apache/avalon/phoenix/launcher
CommonsDaemon.java
Log:
commons-daemon support.
Need more work.
Revision Changes Path
1.1 jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/launcher/CommonsDaemon.java
Index: CommonsDaemon.java
===================================================================
/*
* Copyright (C) The Apache Software Foundation. All rights reserved.
*
* This software is published under the terms of the Apache Software License
* version 1.1, a copy of which has been included with this distribution in
* the LICENSE.txt file.
*/
package org.apache.avalon.phoenix.launcher;
import java.util.Hashtable;
import java.util.Observer;
import java.util.Observable;
import org.apache.commons.daemon.Daemon;
import org.apache.commons.daemon.DaemonContext;
import org.apache.commons.daemon.DaemonController;
/**
* A frontend for Phoenix that starts it as a native service
* using the Jakarta commons daemon.
*
* @author <a href="mailto:colus@apache.org">Eung-ju Park</a>
* @version $Revision: 1.1 $ $Date: 2002/02/28 15:50:18 $
*/
public class CommonsDaemon
implements Daemon, Observer
{
private DaemonContext m_context;
private DaemonController m_controller;
private String[] m_args;
private boolean m_debugEnabled = false;
public void init( final DaemonContext daemonContext )
throws Exception
{
m_context = daemonContext;
m_controller = m_context.getController();
m_args = m_context.getArguments();
for ( int i = 0; i < m_args.length; i++ )
{
if ( "-d".equals( m_args[ i ] ) || "--debug-init".equals( m_args[ i ] ) )
{
m_debugEnabled = true;
}
}
}
public void start()
throws Exception
{
final Hashtable data = new Hashtable();
data.put( Observer.class.getName(), this );
Main.startup( m_context.getArguments(), data, false );
}
public void stop()
throws Exception
{
Main.shutdown();
}
public void destroy()
{
}
public void update( final Observable observable, final Object arg )
{
final String command = ( null != arg ) ? arg.toString() : "";
if( command.equals( "restart" ) )
{
if ( m_debugEnabled )
{
System.out.println( "CommonsDaemon: restart requested." );
System.out.flush();
}
m_controller.reload();
if ( m_debugEnabled )
{
//Should never get here???
System.out.println( "CommonsDaemon: restart completed." );
System.out.flush();
}
}
else if ( command.equals( "shutdown" ) )
{
if ( m_debugEnabled )
{
System.out.println( "CommonsDaemon: shutdown requested." );
System.out.flush();
}
m_controller.shutdown();
if ( m_debugEnabled )
{
//Should never get here???
System.out.println( "CommonsDaemon: shutdown completed." );
System.out.flush();
}
}
else
{
throw new IllegalArgumentException( "Unknown action " + command );
}
}
}
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>