Alexander Klimetschek created SLING-4898:
--------------------------------------------
Summary: Scheduler: misconfigured job should not disable all other
jobs on activate()
Key: SLING-4898
URL: https://issues.apache.org/jira/browse/SLING-4898
Project: Sling
Issue Type: Bug
Components: Commons
Affects Versions: Commons Scheduler 2.4.8
Reporter: Alexander Klimetschek
Upon start of the scheduler bundle, if one Job is misconfigured and an
exception is thrown like below, all other Jobs tracked by the ServiceTracker
will be ignored since the exception bubbles up.
I guess it should be isolated by catching any exception when [calling
register()|https://github.com/apache/sling/blob/dbf5122bb38cd011a5cd88cd6540acf8a98a9e82/bundles/commons/scheduler/src/main/java/org/apache/sling/commons/scheduler/impl/WhiteboardHandler.java#L75].
{noformat}
21.07.2015 11:37:11.818 *ERROR* [FelixFrameworkWiring]
org.apache.sling.commons.scheduler
[org.apache.sling.commons.scheduler.impl.WhiteboardHandler(1950)] The activate
method has thrown an exception (jav
a.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long)
java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long
at
org.apache.sling.commons.scheduler.impl.WhiteboardHandler.register(WhiteboardHandler.java:140)
at
org.apache.sling.commons.scheduler.impl.WhiteboardHandler.access$100(WhiteboardHandler.java:41)
at
org.apache.sling.commons.scheduler.impl.WhiteboardHandler$1.addingService(WhiteboardHandler.java:75)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:932)
at
org.osgi.util.tracker.ServiceTracker$Tracked.customizerAdding(ServiceTracker.java:864)
at
org.osgi.util.tracker.AbstractTracked.trackAdding(AbstractTracked.java:256)
at
org.osgi.util.tracker.AbstractTracked.trackInitial(AbstractTracked.java:183)
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:317)
at org.osgi.util.tracker.ServiceTracker.open(ServiceTracker.java:261)
at
org.apache.sling.commons.scheduler.impl.WhiteboardHandler.activate(WhiteboardHandler.java:80)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.apache.felix.scr.impl.helper.BaseMethod.invokeMethod(BaseMethod.java:222)
at
org.apache.felix.scr.impl.helper.BaseMethod.access$500(BaseMethod.java:37)
at
org.apache.felix.scr.impl.helper.BaseMethod$Resolved.invoke(BaseMethod.java:615)
at
org.apache.felix.scr.impl.helper.BaseMethod.invoke(BaseMethod.java:499)
at
org.apache.felix.scr.impl.helper.ActivateMethod.invoke(ActivateMethod.java:295)
at
org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:302)
at
org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:113)
at
org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:832)
at
org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:799)
at
org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:724)
at
org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:399)
at
org.apache.felix.scr.impl.config.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:669)
at
org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:184)
at
org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:332)
at org.apache.felix.scr.impl.Activator.access$000(Activator.java:49)
at
org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:257)
at
org.apache.felix.utils.extender.AbstractExtender.createExtension(AbstractExtender.java:259)
at
org.apache.felix.utils.extender.AbstractExtender.modifiedBundle(AbstractExtender.java:232)
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:482)
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:415)
at org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
at
org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:444)
at
org.apache.felix.framework.util.EventDispatcher.invokeBundleListenerCallback(EventDispatcher.java:869)
at
org.apache.felix.framework.util.EventDispatcher.fireEventImmediately(EventDispatcher.java:790)
at
org.apache.felix.framework.util.EventDispatcher.fireBundleEvent(EventDispatcher.java:515)
at org.apache.felix.framework.Felix.fireBundleEvent(Felix.java:4409)
at org.apache.felix.framework.Felix.startBundle(Felix.java:2098)
at
org.apache.felix.framework.Felix$RefreshHelper.restart(Felix.java:4861)
at org.apache.felix.framework.Felix.refreshPackages(Felix.java:4128)
at
org.apache.felix.framework.FrameworkWiringImpl.run(FrameworkWiringImpl.java:178)
at java.lang.Thread.run(Thread.java:745)
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)