From 80c4ec7198f39cc6d9edfe8f5fca3ccf9feadc26 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Wed, 5 Feb 2014 13:59:50 +0100
Subject: [PATCH] OO-970: close the hibernate session after every event

---
 .../java/org/olat/search/service/indexer/JmsIndexer.java   | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/search/service/indexer/JmsIndexer.java b/src/main/java/org/olat/search/service/indexer/JmsIndexer.java
index d084f639515..fc384be96d1 100644
--- a/src/main/java/org/olat/search/service/indexer/JmsIndexer.java
+++ b/src/main/java/org/olat/search/service/indexer/JmsIndexer.java
@@ -51,6 +51,7 @@ import org.apache.lucene.search.TermQuery;
 import org.apache.lucene.search.TopDocs;
 import org.apache.lucene.store.Directory;
 import org.apache.lucene.store.FSDirectory;
+import org.olat.core.commons.persistence.DBFactory;
 import org.olat.core.logging.OLog;
 import org.olat.core.logging.Tracing;
 import org.olat.search.SearchModule;
@@ -89,7 +90,7 @@ public class JmsIndexer implements MessageListener, LifeFullIndexer {
 	
 	public JmsIndexer(SearchModule searchModuleConfig) {
 		indexingNode = searchModuleConfig.isSearchServiceEnabled();
-    ramBufferSizeMB = searchModuleConfig.getRAMBufferSizeMB();
+		ramBufferSizeMB = searchModuleConfig.getRAMBufferSizeMB();
 		permanentIndexPath = searchModuleConfig.getFullPermanentIndexPath();
 	}
 
@@ -287,6 +288,8 @@ public class JmsIndexer implements MessageListener, LifeFullIndexer {
 				message.acknowledge();
 			} catch (JMSException e) {
 				log.error("", e);
+			} finally {
+				DBFactory.getInstance().commitAndCloseSession();
 			}
 		}
 	}
@@ -334,7 +337,7 @@ public class JmsIndexer implements MessageListener, LifeFullIndexer {
 		IndexWriter writer = null;
 		try {
 			Term uuidTerm = new Term(AbstractOlatDocument.RESOURCEURL_FIELD_NAME, resourceUrl);
-	    writer = permanentIndexWriter.getAndLock();
+			writer = permanentIndexWriter.getAndLock();
 			writer.deleteDocuments(uuidTerm);
 		} catch (IOException e) {
 			log.error("", e);
-- 
GitLab