protected void doDispose() {
if (logViewerVC != null) { // don't clean up twice
Scheduler scheduler = (Scheduler) CoreSpringFactory.getBean("schedulerFactoryBean");
// remove scheduler job first
try {
scheduler.deleteJob(jobName, LOG_DISPLAYER_GROUP);
scheduler.removeJobListener(jobName);
} catch (SchedulerException e) {
logError("Can not delete log viewer job", e);
}
// remove logger appender and release StringWriter