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();
}
}
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil
