Skip to content

Commit a712880

Browse files
committed
XWIKI-14494: Java scheduler job coming from an extension is not rescheduled when the extension is upgraded
* Use proper event
1 parent 1ed328f commit a712880

File tree

1 file changed

+5
-6
lines changed
  • xwiki-platform-core/xwiki-platform-scheduler/xwiki-platform-scheduler-api/src/main/java/com/xpn/xwiki/plugin/scheduler

1 file changed

+5
-6
lines changed

xwiki-platform-core/xwiki-platform-scheduler/xwiki-platform-scheduler-api/src/main/java/com/xpn/xwiki/plugin/scheduler/SchedulerPlugin.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@
4747
import org.xwiki.bridge.event.DocumentDeletedEvent;
4848
import org.xwiki.bridge.event.DocumentUpdatedEvent;
4949
import org.xwiki.bridge.event.WikiDeletedEvent;
50-
import org.xwiki.classloader.NamespaceURLClassLoader;
51-
import org.xwiki.classloader.internal.ClassLoaderResetedEvent;
50+
import org.xwiki.classloader.internal.ClassLoaderResetEvent;
5251
import org.xwiki.configuration.ConfigurationSource;
5352
import org.xwiki.context.concurrent.ExecutionContextRunnable;
5453
import org.xwiki.model.reference.DocumentReference;
@@ -109,7 +108,7 @@ public class SchedulerPlugin extends XWikiDefaultPlugin implements EventListener
109108
new DocumentDeletedEvent(),
110109
new DocumentUpdatedEvent(),
111110
new WikiDeletedEvent(),
112-
new ClassLoaderResetedEvent()
111+
new ClassLoaderResetEvent()
113112
);
114113

115114
/**
@@ -748,9 +747,9 @@ public void onEvent(Event event, Object source, Object data)
748747
} catch (SchedulerException e) {
749748
LOGGER.error("Failed to remove schedulers for wiki [{}]", wikiId, e);
750749
}
751-
this.schedulersClassLoaderManager.removeSchedulers(wikiId);
752-
} else if (event instanceof ClassLoaderResetedEvent classLoaderResetedEvent) {
753-
String namespace = (String) source;
750+
this.schedulersClassLoaderManager.removeSchedulers(String.format("wiki:%s", wikiId));
751+
} else if (event instanceof ClassLoaderResetEvent classLoaderResetEvent) {
752+
String namespace = classLoaderResetEvent.getNamespace();
754753
this.schedulersClassLoaderManager.onClassLoaderReset(namespace);
755754
} else {
756755
onDocumentEvent(source, data);

0 commit comments

Comments
 (0)