SLING-2943 : Classloader might not be invalidated in a cluster
git-svn-id: https://svn.apache.org/repos/asf/sling/trunk@1499459 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java b/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java
index ce45bbe..fc44ced 100644
--- a/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java
+++ b/src/main/java/org/apache/sling/jcr/classloader/internal/ClassLoaderWriterImpl.java
@@ -239,6 +239,7 @@
*/
public boolean delete(final String name) {
final String path = cleanPath(name);
+ this.handleChangeEvent(path);
Session session = null;
try {
session = createSession();
@@ -246,7 +247,6 @@
Item fileItem = session.getItem(path);
fileItem.remove();
session.save();
- this.handleChangeEvent(path);
return true;
}
} catch (final RepositoryException re) {
@@ -273,16 +273,18 @@
* @see org.apache.sling.commons.classloader.ClassLoaderWriter#rename(java.lang.String, java.lang.String)
*/
public boolean rename(final String oldName, final String newName) {
+ final String oldPath = cleanPath(oldName);
+ final String newPath = cleanPath(newName);
+
Session session = null;
try {
- final String oldPath = cleanPath(oldName);
- final String newPath = cleanPath(newName);
-
session = this.createSession();
session.move(oldPath, newPath);
session.save();
+
this.handleChangeEvent(oldName);
this.handleChangeEvent(newName);
+
return true;
} catch (final RepositoryException re) {
logger.error("Cannot rename " + oldName + " to " + newName, re);