prüfen dieses Beispiel https://github.com/liferay/liferay-blade-samples/tree/master/liferay-workspace/modules/blade.schedulerentry
Wichtige Punkte its a Service jetzt & Need BaseSchedulerEntryMessageListener
@Component(immediate = true, service = BladeSchedulerEntryMessageListener.class)
public class BladeSchedulerEntryMessageListener
extends BaseSchedulerEntryMessageListener {
@Activate
@Modified
protected void activate() {
schedulerEntryImpl.setTrigger(
TriggerFactoryUtil.createTrigger(
getEventListenerClass(), getEventListenerClass(), 15,
TimeUnit.MINUTE));
_schedulerEngineHelper.register(
this, schedulerEntryImpl, DestinationNames.SCHEDULER_DISPATCH);
}
@Deactivate
protected void deactivate() {
_schedulerEngineHelper.unregister(this);
}
@Override
protected void doReceive(Message message) throws Exception {
if (_log.isInfoEnabled()) {
_log.info("Received message on schedule: " + message);
}
}
private final Log _log = LogFactoryUtil.getLog(
BladeSchedulerEntryMessageListener.class);
@Reference(target = ModuleServiceLifecycle.PORTAL_INITIALIZED, unbind = "-")
private volatile ModuleServiceLifecycle _moduleServiceLifecycle;
@Reference(unbind = "-")
private volatile SchedulerEngineHelper _schedulerEngineHelper;
@Reference(unbind = "-")
private volatile TriggerFactory _triggerFactory;
}
Ich habe gesehen, dieses Beispiel zu verlängern, aber ich habe keine Ahnung, wie eine Aufgabe zu starten und stoppen und ändern Sie die Zeit des Zeitplans dynamisch. – Alex
@Alex Sie könnten Ihre Frage von "funktioniert nicht mehr" zu dem, was Sie tatsächlich versucht haben, was funktioniert, was nicht und was Sie tatsächlich tun/wissen/erreichen wollen, neu formulieren. Wahrscheinlich wird niemand in der Lage sein, Ihnen die Informationen zu geben, nach denen Sie suchen, wenn Sie nur zufällige Ausschnitte bereitstellen und mehr und mehr Details später preisgeben, sobald jemand die Schritte unternommen hat, um Ihnen zu helfen. –