Java 石英CronTrigger迁移到2.2.x

Java 石英CronTrigger迁移到2.2.x,java,quartz-scheduler,Java,Quartz Scheduler,我正在将Quartz从1.8.6升级到2.2.x,我有一个关于创建Cron触发器和设置表达式的问题 在旧代码中,它是这样处理的: String expression = cronSchedule.getExpression(); CronTrigger trigger = new CronTrigger(); try { trigger.setCronExpression(expression); } catch (ParseException e) { throw new

我正在将Quartz从1.8.6升级到2.2.x,我有一个关于创建Cron触发器和设置表达式的问题

在旧代码中,它是这样处理的:

String expression = cronSchedule.getExpression();
CronTrigger trigger = new CronTrigger();

try {
    trigger.setCronExpression(expression);
  } catch (ParseException e) {
    throw new IllegalStateException("unparsable cron expression", e);
  }
迁移到新的API时,我想知道这是否能实现同样的效果:

String expression = cronSchedule.getExpression();
Trigger trigger;

try {
  trigger = newTrigger()
    .withSchedule(cronSchedule(expression))
    .build();
  } catch (ParseException e) {
    throw new IllegalStateException("unparsable cron expression", e);
  }

在第二个示例中,我想我不需要try/catch,但我甚至不确定这是否是设置cron表达式的正确方法,因为我在JavaDocs中找不到太多文档。

您的示例有效吗?如果没有,它是如何失败的?它当然可以编译,但在修复代码中的所有其他问题之前,我没有机会测试它。我只是好奇这样做是否正确。