Hi guys,

at the moment we try to get jsvc workin with james mailserver
(james.apache.org). If we get this to work we will try to include it in
version 3.0.  But i can not seems to get it to work. If i start it with
jsvc i everytime get the follow exception:

org.apache.avalon.phoenix.interfaces.ApplicationException: Component
named "pop3server" failed to pass through the Starting stage. (Reason:
java.net.BindException: Permission denied).

But i don't know why cause i called jsvc as root.

Someone have a clue what todo?

Bye
Norman


Our loader looks like:

package org.apache.avalon.phoenix.launcher;


import org.apache.avalon.phoenix.launcher.Main;
import org.apache.commons.daemon.Daemon;
import org.apache.commons.daemon.DaemonContext;
import org.apache.commons.daemon.DaemonController;

import java.util.Hashtable;
import java.util.Observable;
import java.util.Observer;

/**
 * Phoenix launcher using Commons daemon.
 */
public class CommonsDaemonLauncher 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) {
                log("CommonsDaemon: restart requested.");
            }

            m_controller.reload();

            if (m_debugEnabled) {
                // Should never get here???
                log("CommonsDaemon: restart completed.");
            }
        } else if (command.equals("shutdown")) {
            if (m_debugEnabled) {
                log("CommonsDaemon: shutdown requested.");
            }

            m_controller.shutdown();

            if (m_debugEnabled) {
                // Should never get here???
                log("CommonsDaemon: shutdown completed.");
            }
        } else {
            throw new IllegalArgumentException("Unknown action " +
command);
        }
    }

    private void log(final String message) {
        System.out.print("CommonsDaemon: ");
        System.out.println(message);
        System.out.flush();
    }
}

Attachment: signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil

Reply via email to