-2
我需要構建一個模塊,讓用戶使用自定義觸發器爲多個任務設置調度。用戶可以動態調度/取消調度/修改作業。 從版本6.2的方式不再工作。Liferay 7.0中的動態調度程序
我需要構建一個模塊,讓用戶使用自定義觸發器爲多個任務設置調度。用戶可以動態調度/取消調度/修改作業。 從版本6.2的方式不再工作。Liferay 7.0中的動態調度程序
要點 它的服務現在&需要延長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;
}
我已經看到了這個例子,但我不知道如何啓動和停止任務並動態更改計劃時間。 – Alex
@Alex您可能想要將您的問題從「不再適用」改爲您實際嘗試過的方法,有效的方法,不適用的方法以及您實際想要做的/知道/實現的內容。如果你只提供隨機片段,並在稍後有人採取措施幫助你時發現越來越多的細節,則可能沒有人能夠向你提供所需的信息。 –