Ask Questions and Find Answers
Important:
Ask is now read-only. You can review any existing questions and answers, but not add anything new.
But - don't panic! While ask is no more, we've replaced it with discuss - the new Liferay Discussion Forum! Read more here here or just visit the site here:
discuss.liferay.com
Schedular class in liferay 7.4 issue
Hello everyone,
I have created a schedular class in liferay 7.4. When i deployed the module in the server getting the issue. Provided below the code and issue details for reference.
Code:
public class TestScheduler extends BaseMessageListener {
private static Log _log =
LogFactoryUtil.getLog(TestScheduler.class);
@Override
protected void doReceive(Message message) throws Exception {
_log.info("------->Safety Scheduler started
successfuly<--------");
}
@Activate
@Modified
protected void activate() {
Class<?> clazz = getClass();
String className =
clazz.getName();
Trigger trigger =
_triggerFactory.createTrigger(clazz.getName(), clazz.getName(), null,
null, "0 0 20 1 1/1 ? *");
SchedulerEntry
schedulerEntry = new SchedulerEntryImpl(className, trigger);
_schedulerEngineHelper.register(this, schedulerEntry,
DestinationNames.SCHEDULER_DISPATCH);
}
@Deactivate
protected void deactivate() {
_schedulerEngineHelper.unregister(this);
}
@Reference(target = ModuleServiceLifecycle.PORTAL_INITIALIZED, unbind
= "-")
protected void
setModuleServiceLifecycle(ModuleServiceLifecycle
moduleServiceLifecycle) {
}
@Reference(unbind =
"-")
protected void
setSchedulerEngineHelper(SchedulerEngineHelper schedulerEngineHelper)
{
_schedulerEngineHelper = schedulerEngineHelper;
}
@Reference(unbind = "-")
protected void
setTriggerFactory(TriggerFactory triggerFactory) {
}
private SchedulerEngineHelper _schedulerEngineHelper;
@Reference(unbind = "-")
private volatile
TriggerFactory _triggerFactory;
}
Issue:
ERROR [Refresh Thread: Equinox Container:
76bd30ec-f7be-4f5c-b5c0-d76e6fcae0c8][ROOT:47] bundle test:1.0.0
(1741)[test.portlet.TestScheduler(11715)] : The activate method has
thrown an exception
java.lang.NoSuchMethodError:
com.liferay.portal.kernel.scheduler.SchedulerEntryImpl.<init>(Ljava/lang/String;Lcom/liferay/portal/kernel/scheduler/Trigger;)V
at test.portlet.TestScheduler.activate(TestScheduler.java:66)
~[?:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method) ~[?:1.8.0_25]
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
~[?:1.8.0_25]
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[?:1.8.0_25]
at
java.lang.reflect.Method.invoke(Method.java:483) ~[?:1.8.0_25]
at
org.apache.felix.scr.impl.inject.methods.BaseMethod.invokeMethod(BaseMethod.java:228)
~[bundleFile:?]
at
org.apache.felix.scr.impl.inject.methods.BaseMethod.access$500(BaseMethod.java:41)
~[bundleFile:?]
at
org.apache.felix.scr.impl.inject.methods.BaseMethod$Resolved.invoke(BaseMethod.java:664)
~[bundleFile:?]
at
org.apache.felix.scr.impl.inject.methods.BaseMethod.invoke(BaseMethod.java:510)
[bundleFile:?]
at
org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:310)
[bundleFile:?]
at
org.apache.felix.scr.impl.inject.methods.ActivateMethod.invoke(ActivateMethod.java:300)
[bundleFile:?]
at
org.apache.felix.scr.impl.manager.SingleComponentManager.createImplementationObject(SingleComponentManager.java:341)
[bundleFile:?]
at
org.apache.felix.scr.impl.manager.SingleComponentManager.createComponent(SingleComponentManager.java:114)
[bundleFile:?]
at
org.apache.felix.scr.impl.manager.SingleComponentManager.getService(SingleComponentManager.java:983)
[bundleFile:?]
at
org.apache.felix.scr.impl.manager.SingleComponentManager.getServiceInternal(SingleComponentManager.java:956)
[bundleFile:?]
at
org.apache.felix.scr.impl.manager.AbstractComponentManager.activateInternal(AbstractComponentManager.java:756)
[bundleFile:?]
at
org.apache.felix.scr.impl.manager.AbstractComponentManager.enableInternal(AbstractComponentManager.java:666)
[bundleFile:?]
at
org.apache.felix.scr.impl.manager.AbstractComponentManager.enable(AbstractComponentManager.java:432)
[bundleFile:?]
at
org.apache.felix.scr.impl.manager.ConfigurableComponentHolder.enableComponents(ConfigurableComponentHolder.java:665)
[bundleFile:?]
at
org.apache.felix.scr.impl.BundleComponentActivator.initialEnable(BundleComponentActivator.java:336)
[bundleFile:?]
at
org.apache.felix.scr.impl.Activator.loadComponents(Activator.java:427)
[bundleFile:?]
at
org.apache.felix.scr.impl.Activator.access$400(Activator.java:54)
[bundleFile:?]
at
org.apache.felix.scr.impl.Activator$ScrExtension.start(Activator.java:309)
[bundleFile:?]
at
org.apache.felix.scr.impl.AbstractExtender.createExtension(AbstractExtender.java:196)
[bundleFile:?]
at
org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:169)
[bundleFile:?]
at
org.apache.felix.scr.impl.AbstractExtender.modifiedBundle(AbstractExtender.java:49)
[bundleFile:?]
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:488)
[org.eclipse.osgi.jar:?]
at
org.osgi.util.tracker.BundleTracker$Tracked.customizerModified(BundleTracker.java:1)
[org.eclipse.osgi.jar:?]
at
org.osgi.util.tracker.AbstractTracked.track(AbstractTracked.java:232)
[org.eclipse.osgi.jar:?]
at
org.osgi.util.tracker.BundleTracker$Tracked.bundleChanged(BundleTracker.java:450)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.internal.framework.BundleContextImpl.dispatchEvent(BundleContextImpl.java:908)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEventPrivileged(EquinoxEventPublisher.java:230)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:137)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.internal.framework.EquinoxEventPublisher.publishBundleEvent(EquinoxEventPublisher.java:129)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.internal.framework.EquinoxContainerAdaptor.publishModuleEvent(EquinoxContainerAdaptor.java:191)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.container.Module.publishEvent(Module.java:476)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.container.Module.start(Module.java:467)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:468)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.container.ModuleContainer.start(ModuleContainer.java:777)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.container.ModuleContainer.applyDelta(ModuleContainer.java:768)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.container.ModuleContainer.resolveAndApply(ModuleContainer.java:538)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.container.ModuleContainer.resolve(ModuleContainer.java:484)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.container.ModuleContainer.refresh(ModuleContainer.java:1028)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1409)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.container.ModuleContainer$ContainerWiring.dispatchEvent(ModuleContainer.java:1)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
[org.eclipse.osgi.jar:?]
at
org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)
[org.eclipse.osgi.jar:?] (edited)
That is not how you build scheduled jobs in 7.4. See https://liferay.dev/blogs/-/blogs/liferay-7-4-scheduled-tasks
Powered by Liferay™