Java Mailing List Archive

http://www.gg3721.com/

Home » Hibernate Commits List »

[hibernate-commits] Hibernate SVN: r14879 -
 search/trunk/src/java/org/hibernate/search/query.

hibernate-commits

2008-07-05


Author LoginPost Reply
Author: epbernard
Date: 2008-07-05 15:25:36 -0400 (Sat, 05 Jul 2008)
New Revision: 14879

Modified:
 search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java
Log:
Clarify the thread safety of Filter and filter factories

Modified: search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java
===================================================================
--- search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java  2008-07-05 17:01:12 UTC (rev 14878)
+++ search/trunk/src/java/org/hibernate/search/query/FullTextQueryImpl.java  2008-07-05 19:25:36 UTC (rev 14879)
@@(protected) @@
 private void buildFilters() {
   SearchFactoryImplementor searchFactoryImplementor = getSearchFactoryImplementor();
   if ( filterDefinitions != null && filterDefinitions.size() > 0 ) {
+      /*
+       * FilterKey implementations and Filter(Factory) do not have to be threadsafe wrt their parameter injection
+       * as FilterCachingStrategy ensure a memory barrier between concurrent thread calls
+       */
     ChainedFilter chainedFilter = new ChainedFilter();
     for (FullTextFilterImpl filterDefinition : filterDefinitions.values()) {
       FilterDef def = searchFactoryImplementor.getFilterDefinition( filterDefinition.getName() );
@@(protected) @@
       if ( def.isCache() && def.getKeyMethod() == null && filterDefinition.getParameters().size() > 0 ) {
         throw new SearchException( "Filter with parameters and no @Key method: " + filterDefinition.getName() );
       }
+
       FilterKey key = null;
       if ( def.isCache() ) {
         if ( def.getKeyMethod() == null ) {

_______________________________________________
hibernate-commits mailing list
hibernate-commits@(protected)
https://lists.jboss.org/mailman/listinfo/hibernate-commits
©2008 gg3721.com - Jax Systems, LLC, U.S.A.