try {
// always upgrade database first
upgradeDatabaseIfNeeded();
Roller roller = RollerFactory.getRoller();
setupRollerProperties();
// call Spring's context ContextLoaderListener to initialize
// all the context files specified in web.xml. This is necessary
// because listeners don't initialize in the order specified in
// 2.3 containers
super.contextInitialized(sce);
initializeSecurityFeatures(mContext);
roller.getThemeManager();
setupIndexManager(roller);
initializePingFeatures(roller);
setupPingQueueTask(roller);
setupScheduledTasks(mContext, roller);
roller.flush();
roller.release();
} catch (Throwable t) {
mLogger.fatal("RollerContext initialization failed", t);
}