如何在liferay 6.1.1中立即触发调度程序作业

时间:2015-05-07 03:32:54

标签: quartz-scheduler liferay-6

对于需要的项目,我点击它时需要一个按钮,它会在liferay 6.1.1中立即触发调度程序作业。我知道在liferay 4.2之前有一个API JobScheduler.triggerJob()来实现它。但是在6.1.1中删除了这个API,有没有其他方法可以做到这一点?非常感谢。

1 个答案:

答案 0 :(得分:0)

我想更好的方法是在按钮点击事件上执行您的流程服务方法,而不是手动触发作业。如果您已有工作,则可以调用相同的流程服务方法。

但是,如果您希望自定义安排工作,以下信息可能会很有用。

SchedulerEngineHelperUtil.schedule menthod将接受自定义触发器。 Liferay允许将cron express指定为触发器。您可以使用以下表达式立即触发。

* * * * * ? *

可以在LayoutServiceImpl.schedulePublishToLive方法中找到示例代码自定义调度程序。 我相信你可以和上面的cron express做类似的事情来立即调用一份工作。

Trigger trigger = new CronTrigger(
            jobName, groupName, schedulerStartDate, schedulerEndDate, cronText);

SchedulerEngineHelperUtil.schedule(
            trigger, StorageType.PERSISTED, description,
            DestinationNames.LAYOUTS_LOCAL_PUBLISHER, publisherRequest, 0);