我正在尝试从我的 java 应用程序运行 ApacheDS 实例。
我使用run()
ScriptWrapper 类的这种方法来执行 ApacheDS 附带的脚本来运行它:
public class ScriptWrapper implements Serializable {
private String scriptPath;
protected Process run(List<String> params) throws IOException {
LOGGER.debug("Executing script="+scriptPath);
params.add(0, scriptPath);
if(workDir != null) {
return Runtime.getRuntime().exec(params.toArray(new String[params.size()]), envp.toArray(new String[envp.size()]), new File(workDir));
} else {
return Runtime.getRuntime().exec(params.toArray(new String[params.size()]));
}
}
}
但问题是,当运行此应用程序的 tomcat 被终止和/或 ScriptWrapper 被垃圾收集时,ApacheDS 的实例也会终止。如何让它活着?
编辑:谢谢你的回答。我决定以不同的方式解决这个问题,并使用带有二进制 ApacheDS 安装的脚本来守护进程。