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);