diff --git a/src/main/java/org/olat/admin/quota/QuotaManagerImpl.java b/src/main/java/org/olat/admin/quota/QuotaManagerImpl.java index 1077de8f0f304552e5715ca5bffd762af5bcc862..4650ac70331b9996057f6b6f6fda2427a3acbdaf 100644 --- a/src/main/java/org/olat/admin/quota/QuotaManagerImpl.java +++ b/src/main/java/org/olat/admin/quota/QuotaManagerImpl.java @@ -96,7 +96,7 @@ public class QuotaManagerImpl extends QuotaManager { public void init() { quotaResource = resourceManager.findOrPersistResourceable(OresHelper.lookupType(Quota.class)); initDefaultQuotas(); // initialize default quotas - DBFactory.getInstance(false).intermediateCommit(); + DBFactory.getInstance().intermediateCommit(); log.info("Successfully initialized Quota Manager"); } diff --git a/src/main/java/org/olat/admin/sysinfo/HibernateStatisticsController.java b/src/main/java/org/olat/admin/sysinfo/HibernateStatisticsController.java index 5703801fa77728cbd0030bde221f919c9dc20660..7f38b5f08fdefe9ece45f5353d77e31164b2a338 100644 --- a/src/main/java/org/olat/admin/sysinfo/HibernateStatisticsController.java +++ b/src/main/java/org/olat/admin/sysinfo/HibernateStatisticsController.java @@ -19,7 +19,8 @@ */ package org.olat.admin.sysinfo; -import org.olat.core.commons.persistence.DBFactory; +import org.hibernate.stat.Statistics; +import org.olat.core.commons.persistence.DB; import org.olat.core.gui.UserRequest; import org.olat.core.gui.components.Component; import org.olat.core.gui.components.link.Link; @@ -28,6 +29,7 @@ import org.olat.core.gui.components.velocity.VelocityContainer; import org.olat.core.gui.control.Event; import org.olat.core.gui.control.WindowControl; import org.olat.core.gui.control.controller.BasicController; +import org.springframework.beans.factory.annotation.Autowired; /** * @@ -40,6 +42,9 @@ public class HibernateStatisticsController extends BasicController { private Link disableLink; private Link clearLink; private VelocityContainer mainVC; + + @Autowired + private DB dbInstance; public HibernateStatisticsController(UserRequest ureq, WindowControl wControl) { super(ureq, wControl); @@ -54,8 +59,9 @@ public class HibernateStatisticsController extends BasicController { } public void loadModel() { - mainVC.contextPut("isStatisticsEnabled", DBFactory.getInstance(false).getStatistics().isStatisticsEnabled()); - mainVC.contextPut("hibernateStatistics", DBFactory.getInstance(false).getStatistics()); + Statistics statistics = dbInstance.getStatistics(); + mainVC.contextPut("isStatisticsEnabled", statistics.isStatisticsEnabled()); + mainVC.contextPut("hibernateStatistics", statistics); } @Override @@ -65,18 +71,19 @@ public class HibernateStatisticsController extends BasicController { @Override protected void event(UserRequest ureq, Component source, Event event) { + Statistics statistics = dbInstance.getStatistics(); if (source == enableLink){ - DBFactory.getInstance(false).getStatistics().setStatisticsEnabled(true); - mainVC.contextPut("isStatisticsEnabled", DBFactory.getInstance(false).getStatistics().isStatisticsEnabled()); + statistics.setStatisticsEnabled(true); + mainVC.contextPut("isStatisticsEnabled",statistics.isStatisticsEnabled()); getWindowControl().setInfo("Hibernate statistics enabled."); loadModel(); } else if (source == disableLink){ - DBFactory.getInstance(false).getStatistics().setStatisticsEnabled(false); - mainVC.contextPut("isStatisticsEnabled", DBFactory.getInstance(false).getStatistics().isStatisticsEnabled()); + statistics.setStatisticsEnabled(false); + mainVC.contextPut("isStatisticsEnabled", statistics.isStatisticsEnabled()); getWindowControl().setInfo("Hibernate statistics disabled."); loadModel(); } else if (source == clearLink){ - DBFactory.getInstance(false).getStatistics().clear(); + statistics.clear(); getWindowControl().setInfo("Hibernate statistics clear done."); loadModel(); } diff --git a/src/main/java/org/olat/commons/servlets/RSSServlet.java b/src/main/java/org/olat/commons/servlets/RSSServlet.java index f1b0a4a6397d656da998e14a7e7aa117d58a29b1..ba93d88d7b737962def168e082c48a88c9c6e543 100644 --- a/src/main/java/org/olat/commons/servlets/RSSServlet.java +++ b/src/main/java/org/olat/commons/servlets/RSSServlet.java @@ -150,7 +150,7 @@ public class RSSServlet extends HttpServlet { DispatcherModule.sendNotFound("none", response); } finally { IOUtils.closeQuietly(writer); - DBFactory.getInstance(false).commitAndCloseSession(); + DBFactory.getInstance().commitAndCloseSession(); } } diff --git a/src/main/java/org/olat/core/commons/persistence/DBFactory.java b/src/main/java/org/olat/core/commons/persistence/DBFactory.java index 98cd414b808773f5c8e557c1ec615bf06bf8f2d1..10ca638baa9ba6a6c92d5eec2f78ddb0e17187f2 100644 --- a/src/main/java/org/olat/core/commons/persistence/DBFactory.java +++ b/src/main/java/org/olat/core/commons/persistence/DBFactory.java @@ -39,14 +39,4 @@ public class DBFactory { public static DB getInstance() { return DBImpl.getInstance(); } - - public static DB getInstance(boolean initialize) { - return DBImpl.getInstance(); - } - - public static DB getInstanceForClosing() { - return DBImpl.getInstance(); - } - - } diff --git a/src/main/java/org/olat/core/logging/activity/UserActivityLoggerImpl.java b/src/main/java/org/olat/core/logging/activity/UserActivityLoggerImpl.java index 1fe3a82f29e6669d7ed92f68633a59349a0de190..3b5695aedf44c629b8ad6fabc42f2b333b797928 100644 --- a/src/main/java/org/olat/core/logging/activity/UserActivityLoggerImpl.java +++ b/src/main/java/org/olat/core/logging/activity/UserActivityLoggerImpl.java @@ -833,7 +833,7 @@ public class UserActivityLoggerImpl implements IUserActivityLogger { logObj.setUserProperties(tmpUserProperties); // and store it - DB db = DBFactory.getInstanceForClosing(); + DB db = DBFactory.getInstance(); if (db!=null && db.isError()) { // then we would run into an ERROR when we'd do more with this DB // hence we just issue a log.info here with the details diff --git a/src/main/java/org/olat/course/CourseFactory.java b/src/main/java/org/olat/course/CourseFactory.java index b093e15444435507648cd695e5d5d281e434bac5..f5d967e4756c53d182775e42b4f55f1654152295 100644 --- a/src/main/java/org/olat/course/CourseFactory.java +++ b/src/main/java/org/olat/course/CourseFactory.java @@ -442,7 +442,7 @@ public class CourseFactory extends BasicManager { File fTargetCourseBasePath = targetCourse.getCourseBaseContainer().getBasefile(); //close connection before file copy - DBFactory.getInstance(false).commitAndCloseSession(); + DBFactory.getInstance().commitAndCloseSession(); synchronized (sourceCourse) { // o_clusterNOK - cannot be solved with doInSync since could take too long (leads to error: "Lock wait timeout exceeded") // copy configuration @@ -474,7 +474,7 @@ public class CourseFactory extends BasicManager { for (Reference ref: refs) { referenceManager.addReference(targetCourse, ref.getTarget(), ref.getUserdata()); if(count % 20 == 0) { - DBFactory.getInstance(false).intermediateCommit(); + DBFactory.getInstance().intermediateCommit(); } } @@ -723,7 +723,7 @@ public class CourseFactory extends BasicManager { // cause db connection timeout to be triggered //@TODO transactions/backgroundjob: // rework when backgroundjob infrastructure exists - DBFactory.getInstance(false).intermediateCommit(); + DBFactory.getInstance().intermediateCommit(); AsyncExportManager.getInstance().asyncArchiveCourseLogFiles(archiveOnBehalfOf, new Runnable() { public void run() { // that's fine, I dont need to do anything here diff --git a/src/main/java/org/olat/course/CourseModule.java b/src/main/java/org/olat/course/CourseModule.java index 655082193e5a44683db7651374c1253f865a3807..1bcb4acee2c6dae66fdd41c746f4cc45cadb6625 100644 --- a/src/main/java/org/olat/course/CourseModule.java +++ b/src/main/java/org/olat/course/CourseModule.java @@ -109,7 +109,7 @@ public class CourseModule extends AbstractOLATModule { deployCoursesFromCourseExportFiles(); } //also in startup event processing intermediateCommit - DBFactory.getInstance(false).intermediateCommit(); + DBFactory.getInstance().intermediateCommit(); } @@ -140,14 +140,7 @@ public class CourseModule extends AbstractOLATModule { */ @Override public void init() { - // skip all the expensive course demo setup and deployment when we are in junit mode. - if (Settings.isJUnitTest()) return; - - logInfo("Initializing the OpenOLAT course system"); - - // Cleanup, otherwise this subjects will have problems in normal OLAT - // operation - DBFactory.getInstance(false).intermediateCommit(); + // } private void deployCoursesFromCourseExportFiles( ) { diff --git a/src/main/java/org/olat/course/assessment/AssessmentMainController.java b/src/main/java/org/olat/course/assessment/AssessmentMainController.java index 2c91ee1e4a3636c2703c4a51bb1d738fd77920ae..1389a38f11905aaf344544eb30f103cee402add3 100644 --- a/src/main/java/org/olat/course/assessment/AssessmentMainController.java +++ b/src/main/java/org/olat/course/assessment/AssessmentMainController.java @@ -1408,11 +1408,11 @@ public class AssessmentMainController extends MainLayoutBasicController implemen + "ms"); } // finished in this thread, close database session of this thread! - DBFactory.getInstance(false).commitAndCloseSession(); + DBFactory.getInstance().commitAndCloseSession(); success = true; } finally { if (!success) { - DBFactory.getInstance(false).rollbackAndCloseSession(); + DBFactory.getInstance().rollbackAndCloseSession(); } } } diff --git a/src/main/java/org/olat/course/assessment/UpdateEfficiencyStatementsWorker.java b/src/main/java/org/olat/course/assessment/UpdateEfficiencyStatementsWorker.java index feff25fbf0fd879bb34cb6527617893874425525..e96eacc631176a7f012f13ea8e8ad24252aef9f3 100644 --- a/src/main/java/org/olat/course/assessment/UpdateEfficiencyStatementsWorker.java +++ b/src/main/java/org/olat/course/assessment/UpdateEfficiencyStatementsWorker.java @@ -66,7 +66,7 @@ public class UpdateEfficiencyStatementsWorker implements Runnable { List<Identity> identities = EfficiencyStatementManager.getInstance().findIdentitiesWithEfficiencyStatements(re.getKey()); esm.updateEfficiencyStatements(ores, identities); // close db session in this thread - DBFactory.getInstance(false).commitAndCloseSession(); + DBFactory.getInstance().commitAndCloseSession(); success = true; EfficiencyStatementEvent finishedEvent = new EfficiencyStatementEvent(EfficiencyStatementEvent.CMD_FINISHED, ores.getResourceableId()); @@ -76,7 +76,7 @@ public class UpdateEfficiencyStatementsWorker implements Runnable { } finally { // close db session in this thread if (!success) { - DBFactory.getInstance(false).rollbackAndCloseSession(); + DBFactory.getInstance().rollbackAndCloseSession(); } } } diff --git a/src/main/java/org/olat/modules/dialog/DialogElement.java b/src/main/java/org/olat/modules/dialog/DialogElement.java index 53a053d9c83103c8b8ee3fa855c0b36e12e91098..96fe65da58913977df379fd1d72d77d60db1a114 100644 --- a/src/main/java/org/olat/modules/dialog/DialogElement.java +++ b/src/main/java/org/olat/modules/dialog/DialogElement.java @@ -78,10 +78,10 @@ public class DialogElement { } catch (NumberFormatException nEx) { return author; } catch (ObjectNotFoundException oEx) { - DBFactory.getInstanceForClosing().rollbackAndCloseSession(); + DBFactory.getInstance().rollbackAndCloseSession(); return author; } catch (Throwable th) { - DBFactory.getInstanceForClosing().rollbackAndCloseSession(); + DBFactory.getInstance().rollbackAndCloseSession(); return author; } } diff --git a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/PaypalIPNFilter.java b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/PaypalIPNFilter.java index 4b1b0700c5e50f1efb34dd1cb9a68072c3575700..1d2bbc241c9eec64423fe295f5afac3337f74f6c 100644 --- a/src/main/java/org/olat/resource/accesscontrol/provider/paypal/PaypalIPNFilter.java +++ b/src/main/java/org/olat/resource/accesscontrol/provider/paypal/PaypalIPNFilter.java @@ -75,7 +75,7 @@ public class PaypalIPNFilter implements Filter { //we must log all errors, it's critical for this part of the payment log.error("Paypal IPN unexpected error", t); } finally { - DBFactory.getInstanceForClosing().closeSession(); + DBFactory.getInstance().closeSession(); } } diff --git a/src/main/java/org/olat/search/service/indexer/group/GroupIndexer.java b/src/main/java/org/olat/search/service/indexer/group/GroupIndexer.java index efe7ba3203e3b1c1d8861bded9f22448793fb695..752bdedd116c4df4d5eaa77fb93dc2c28e772dce 100644 --- a/src/main/java/org/olat/search/service/indexer/group/GroupIndexer.java +++ b/src/main/java/org/olat/search/service/indexer/group/GroupIndexer.java @@ -89,10 +89,10 @@ public class GroupIndexer extends AbstractHierarchicalIndexer { super.doIndex(searchResourceContext, businessGroup, indexWriter); } catch(Exception ex) { logError("Exception indexing group=" + businessGroup, ex); - DBFactory.getInstance(false).rollbackAndCloseSession(); + DBFactory.getInstance().rollbackAndCloseSession(); } catch (Error err) { logError("Error indexing group=" + businessGroup, err); - DBFactory.getInstance(false).rollbackAndCloseSession(); + DBFactory.getInstance().rollbackAndCloseSession(); } } long indexTime = System.currentTimeMillis() - startTime; diff --git a/src/main/java/org/olat/search/service/indexer/identity/IdentityIndexer.java b/src/main/java/org/olat/search/service/indexer/identity/IdentityIndexer.java index 6349ddc886cf52da1bc8e61f4032e98ae49a472d..259a99e783b621a933c47c64551304b00ced0365 100644 --- a/src/main/java/org/olat/search/service/indexer/identity/IdentityIndexer.java +++ b/src/main/java/org/olat/search/service/indexer/identity/IdentityIndexer.java @@ -85,7 +85,7 @@ public class IdentityIndexer extends AbstractHierarchicalIndexer { counter++; } catch (Exception ex) { logWarn("Exception while indexing identity::" + identityKey + ". Skipping this user, try next one.", ex); - DBFactory.getInstance(false).rollbackAndCloseSession(); + DBFactory.getInstance().rollbackAndCloseSession(); } } if (isLogDebugEnabled()) logDebug("IdentityIndexer finished with counter::" + counter); diff --git a/src/main/java/org/olat/upgrade/UpgradeManagerImpl.java b/src/main/java/org/olat/upgrade/UpgradeManagerImpl.java index c4641b6cbd8889cd243e178e67e6041d1e71d53d..7485c4ab0d3d53167e2891f64a8c87ec56a7c9af 100644 --- a/src/main/java/org/olat/upgrade/UpgradeManagerImpl.java +++ b/src/main/java/org/olat/upgrade/UpgradeManagerImpl.java @@ -78,10 +78,10 @@ public class UpgradeManagerImpl extends UpgradeManager { if (upgrade.doPostSystemInitUpgrade(this)) logAudit("Successfully installed PostSystemInitUpgrade::" + upgrade.getVersion()); //just in case a doPostSystemInitUpgrade did forget it. - DBFactory.getInstance(false).commitAndCloseSession(); + DBFactory.getInstance().commitAndCloseSession(); } } catch (Throwable e) { - DBFactory.getInstance(false).rollbackAndCloseSession(); + DBFactory.getInstance().rollbackAndCloseSession(); logWarn("Error upgrading PostSystemInitUpgrade::" + upgrade.getVersion(), e); abort(e); }