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