Использование Tomcat для запуска Ant из сервлета с Log4jListener и JDBCAppender для входа в базу данных, не выпущено после завершения - PullRequest
1 голос
/ 28 октября 2010

У меня есть сервлет, который выполняет сборку ANT, я прикрепил org.apache.tools.ant.listener.Log4jListener, как вы можете видеть ниже и в конце сборки org.apache.tools.ant.listener.Log4jListener не выпущен, единственный способ, который я нашел для этого - перезапустить Tomcat.Если я не перезагружаю Tomcat в следующий раз, когда я пытаюсь запустить сборку, org.apache.tools.ant.listener.Log4JListener ничего не записывает в журнал.проект, который я затем имею в настройке log4j.xml для прослушивания выходных данных и приложение org.apache.log4j.jdbc.JDBCAppender, которое отправляет протоколирование в таблицу базы данных.1005 *

Project p = new Project();
p.setUserProperty("ant.file", buildFile.getAbsolutePath());

try {
    Log4jListener l4j = new Log4jListener();
    p.addBuildListener(l4j);
    p.fireBuildStarted();
    p.init();
    ProjectHelper helper = ProjectHelper.getProjectHelper();
    p.addReference("ant.projectHelper", helper);
    helper.parse(p, buildFile);
    p.executeTarget("war");
    p.fireBuildFinished(null);
    p.removeBuildListener(l4j);
} catch (BuildException e) {
    p.fireBuildFinished(e);
}
...