在 mule 中停止 Quartz 端点

Stopping Quartz endpoint in mule

我的项目有需求。

  1. 我需要接收一个xml文件,做一个json转换,在xml文件中如果一些field.id == 'X' 然后我需要每小时调用 rest 服务,从服务获取响应并准备有效载荷,发送到目的地 A。此调度程序将持续到 2.

  2. 收到第 2 个 XML 文件,现在 field.id == 'Y',停止调度程序并休息调用,进行不同的转换并发送到目的地 B。

现在,根据我的解决方案,为了进行调度,我使用了流状态为已停止的 Quartz 端点。并希望根据需要启动和停止流程。但是我面临两个问题。

  1. 当我启动 quartz 并调用 rest 时,服务工作正常,但总是出现超时异常

    根异常堆栈跟踪: java.util.concurrent.TimeoutException: 超时

  2. 停止流程后,石英在每次轮询时不断抛出错误

    org.quartz.JobExecutionException: 在连接器 "quartz://Rest-Call"

  3. 中找不到带有密钥 "connector.quartz.mule.default" 的接收器

如有任何建议,我们将不胜感激。 TIA

为了进行 http 调用,我使用了轮询器组件而不是 quartz,它解决了我在使用 Quartz 时遇到的问题。