解释如何在Hybris中创建Cron Job

pra*_*mar 7 cron hybris

我做了我的研究,却找不到真实的答案.来自hybris专家的任何意见都非常感谢

Man*_* Ch 14

  1. Cronjob:要完成的工作.为此创建一个从CronJob扩展的项类型.
  2. 工作:将编写实际的cronjob逻辑.为此创建一个从AbstractJobPerformable <... abovegeneratedModel>扩展的类,并覆盖perform()方法.这里的perform方法将包含实际的作业逻辑.
  3. 在xxxcore-spring.xml中将上面的Job类定义为bean.
  4. 转到hmc - >系统 - >右键单击Cronjobs并创建新的cronjob.
  5. 触发:持有cron表达式何时触发cronjob.通过TimeSchedule选项卡添加触发条件.
  6. 单击StartCronJob Now以安排cronjob.

你也可以使用impex脚本创建触发器,因为thijsraets说.

INSERT_UPDATE Trigger;cronJob(code)[unique=true];cronExpression
;myCronJob;30 23 14 2 5 ? 2015
Run Code Online (Sandbox Code Playgroud)


thi*_*ets 6

您可能希望此cronJob执行自定义操作,为此您需要将cronJob与实际操作/任务链接:作业本身.创建一个扩展AbstractJobPerformable并实现"perform"方法的bean .现在在hMC中,您可以创建您的Cron作业(System-> CronJobs),Job指向您创建的bean.

如果你想从代码中执行此操作,可以使用impex,例如:

INSERT_UPDATE CronJob;code[unique=true];job(code);sessionLanguage(isocode);sessionCurrency(isocode)
;myCronJob;myJobBean;en;EUR

INSERT_UPDATE Trigger;cronJob(code)[unique=true];cronExpression
;myCronJob;30 23 14 2 5 ? 2015
Run Code Online (Sandbox Code Playgroud)

分配给String并导入这个impex(或者只是在hac中执行):

final CSVReader importReader = new CSVReader(impEx);
final Importer importer = new Importer(importReader);

importer.getReader().setDumpingAllowed(true);
try
{
    importer.importAll();
}
catch (final ImpExException e)
{
    e.printStackTrace();
}
importReader.closeQuietly();
importer.close();
Run Code Online (Sandbox Code Playgroud)

(如果您使用的是5.5.1:如果指示多个执行时间,则触发器无法正常工作.如果您只指定一个执行时间,则没问题,我们希望SAP能解决此问题)