You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2010/01/19 15:35:40 UTC
svn commit: r900798 -
/sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java
Author: cziegeler
Date: Tue Jan 19 14:35:40 2010
New Revision: 900798
URL: http://svn.apache.org/viewvc?rev=900798&view=rev
Log:
SLING-1296 : Potential concurrent modification exception during path creation
Modified:
sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java
Modified: sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java?rev=900798&r1=900797&r2=900798&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java (original)
+++ sling/trunk/bundles/jcr/classloader/src/main/java/org/apache/sling/jcr/classloader/internal/DynamicClassLoaderProviderImpl.java Tue Jan 19 14:35:40 2010
@@ -212,12 +212,19 @@
if (parentNode == null) {
parentNode = current;
}
- current = current.addNode(names[i], "nt:folder");
+ try {
+ current.addNode(names[i], "nt:folder");
+ session.save();
+ } catch (RepositoryException re) {
+ // we ignore this as this might be a concurrent modification!
+ session.refresh(false);
+ }
+ current = current.getNode(names[i]);
}
}
if (parentNode != null) {
- parentNode.save();
+ session.save();
return true;
}