[hibernate-commits] Hibernate SVN: r16334 - in search/trunk/src/main/java/org/hibernate/search: event and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Tue Apr 14 13:36:28 EDT 2009
Author: sannegrinovero
Date: 2009-04-14 13:36:28 -0400 (Tue, 14 Apr 2009)
New Revision: 16334
Modified:
search/trunk/src/main/java/org/hibernate/search/backend/impl/PostTransactionWorkQueueSynchronization.java
search/trunk/src/main/java/org/hibernate/search/event/FullTextIndexEventListener.java
Log:
HSEARCH-178 some more code comments
Modified: search/trunk/src/main/java/org/hibernate/search/backend/impl/PostTransactionWorkQueueSynchronization.java
===================================================================
--- search/trunk/src/main/java/org/hibernate/search/backend/impl/PostTransactionWorkQueueSynchronization.java 2009-04-14 17:34:43 UTC (rev 16333)
+++ search/trunk/src/main/java/org/hibernate/search/backend/impl/PostTransactionWorkQueueSynchronization.java 2009-04-14 17:36:28 UTC (rev 16334)
@@ -15,6 +15,13 @@
* @author Emmanuel Bernard
*/
public class PostTransactionWorkQueueSynchronization implements Synchronization {
+
+ /**
+ * FullTextIndexEventListener is using a WeakIdentityHashMap<Session,Synchronization>
+ * So make sure all Synchronization implementations don't have any
+ * (direct or indirect) reference to the Session.
+ */
+
private final QueueingProcessor queueingProcessor;
private boolean consumed;
private final WeakIdentityHashMap queuePerTransaction;
Modified: search/trunk/src/main/java/org/hibernate/search/event/FullTextIndexEventListener.java
===================================================================
--- search/trunk/src/main/java/org/hibernate/search/event/FullTextIndexEventListener.java 2009-04-14 17:34:43 UTC (rev 16333)
+++ search/trunk/src/main/java/org/hibernate/search/event/FullTextIndexEventListener.java 2009-04-14 17:36:28 UTC (rev 16334)
@@ -196,6 +196,16 @@
}
}
+ /**
+ * Adds a synchronization to be performed in the onFlush method;
+ * should only be used as workaround for the case a flush is happening
+ * out of transaction.
+ * Warning: if the synchronization contains a hard reference
+ * to the Session proper cleanup is not guaranteed and memory leaks
+ * will happen.
+ * @param eventSource should be the Session doing the flush
+ * @param synchronization
+ */
public void addSynchronization(EventSource eventSource, Synchronization synchronization) {
this.flushSynch.put( eventSource, synchronization );
}
More information about the hibernate-commits
mailing list