-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あなたが実際に試したこと、うまくいくこと、しないこと、そしてあなたが実際にやりたい/知っている/達成したいことに、あなたは「もう働かない」という言い方を言い換えることができます。誰かがあなたの手助けをした後に、より多くの詳細を明らかにし、ランダムなスニペットを提供するだけでは、あなたが探している情報を誰にも与えることはできません。 –