[exo-jcr-commits] exo-jcr SVN: r1509 - jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache.

do-not-reply at jboss.org do-not-reply at jboss.org
Wed Jan 20 10:34:07 EST 2010


Author: skabashnyuk
Date: 2010-01-20 10:34:06 -0500 (Wed, 20 Jan 2010)
New Revision: 1509

Modified:
   jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexChangesFilter.java
Log:
EXOJCR-423 : log all CacheExceptions

Modified: jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexChangesFilter.java
===================================================================
--- jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexChangesFilter.java	2010-01-20 14:49:26 UTC (rev 1508)
+++ jcr/branches/1.12.0-JBCCACHE/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/jbosscache/JbossCacheIndexChangesFilter.java	2010-01-20 15:34:06 UTC (rev 1509)
@@ -31,6 +31,7 @@
 import org.exoplatform.services.log.ExoLogger;
 import org.exoplatform.services.log.Log;
 import org.jboss.cache.Cache;
+import org.jboss.cache.CacheException;
 import org.jboss.cache.CacheFactory;
 import org.jboss.cache.CacheSPI;
 import org.jboss.cache.DefaultCacheFactory;
@@ -80,7 +81,7 @@
       // initialize IndexerCacheLoader 
       IndexerCacheLoader indexerCacheLoader = new IndexerCacheLoader();
       // inject dependencies
-      indexerCacheLoader.init(searchManager, parentSearchManager, handler, parentHandler);      
+      indexerCacheLoader.init(searchManager, parentSearchManager, handler, parentHandler);
       // set SingltonStoreCacheLoader
       SingletonStoreConfig singletonStoreConfig = new SingletonStoreConfig();
       singletonStoreConfig.setSingletonStoreClass(IndexerSingletonStoreCacheLoader.class.getName());
@@ -89,7 +90,7 @@
       singletonStoreProperties.setProperty("pushStateWhenCoordinator", "false");
       singletonStoreProperties.setProperty("pushStateWhenCoordinatorTimeout", "10000");
       singletonStoreConfig.setProperties(singletonStoreProperties);
-      singletonStoreConfig.setSingletonStoreEnabled(true);   
+      singletonStoreConfig.setSingletonStoreEnabled(true);
       // create CacheLoaderConfig
       IndividualCacheLoaderConfig individualCacheLoaderConfig = new IndividualCacheLoaderConfig();
       // set SingletonStoreConfig
@@ -142,7 +143,34 @@
       Set<String> parentAddedNodes)
    {
       String id = IdGenerator.generate();
-      cache.put(id, LISTWRAPPER, new ChangesFilterListsWrapper(addedNodes, removedNodes, parentAddedNodes,
-         parentRemovedNodes));
+      try
+      {
+         cache.put(id, LISTWRAPPER, new ChangesFilterListsWrapper(addedNodes, removedNodes, parentAddedNodes,
+            parentRemovedNodes));
+      }
+      catch (CacheException e)
+      {
+         logErrorChanges(handler, removedNodes, addedNodes);
+         logErrorChanges(parentHandler, parentRemovedNodes, parentAddedNodes);
+      }
    }
+
+   /**
+    * Log errors
+    * @param logHandler
+    * @param removedNodes
+    * @param addedNodes
+    */
+   private void logErrorChanges(QueryHandler logHandler, Set<String> removedNodes, Set<String> addedNodes)
+   {
+      try
+      {
+
+         logHandler.logErrorChanges(addedNodes, removedNodes);
+      }
+      catch (IOException ioe)
+      {
+         log.warn("Exception occure when errorLog writed. Error log is not complete. " + ioe, ioe);
+      }
+   }
 }



More information about the exo-jcr-commits mailing list