Java 如何在运行时更改时间

Java 如何在运行时更改时间,java,apache-camel,quartz-scheduler,Java,Apache Camel,Quartz Scheduler,我尝试在互联网上查找,但没有找到任何关于camel quartz在运行时更改其时间的适当文档。是否有人知道如何在不启动和停止骆驼路线的情况下使用它。如果在quartz上启用JMX,则可以使用JMX更改计时器。但是要注意,从jconsole上为cron这样做是很困难的,因为quartz jmxapi不是很好。如果您使用的是camel的全新版本,那么camel-quartz应该启用JMX开箱即用 hawtio web控制台有一个quartz插件,该插件有一个facade JMX API[1],使更改

我尝试在互联网上查找,但没有找到任何关于camel quartz在运行时更改其时间的适当文档。是否有人知道如何在不启动和停止骆驼路线的情况下使用它。

如果在quartz上启用JMX,则可以使用JMX更改计时器。但是要注意,从jconsole上为cron这样做是很困难的,因为quartz jmxapi不是很好。如果您使用的是camel的全新版本,那么camel-quartz应该启用JMX开箱即用

hawtio web控制台有一个quartz插件,该插件有一个facade JMX API[1],使更改cron表达式变得更容易,我们还使web控制台有一个很好的UI,允许您这样做

  • [1]

虽然使用JMX在技术上会修改该值,但它实际上不是API提供的编程解决方案。虽然我认为camel是一个有用的框架,但我确实认为这是quartz和timer端点的一个缺点。与被告知“使用JMX”相比,使用编程方式更改计划值更有用。也许答案是创建一个“主路由”,不断检查更改,如果更改,则销毁当前路由并使用新值重新创建一个新路由?也许这可以由API内部处理,这样用户就不必破解它了?