Java 从不同的基于web的应用程序管理quartz作业

Java 从不同的基于web的应用程序管理quartz作业,java,spring,quartz-scheduler,Java,Spring,Quartz Scheduler,我有一个核心java应用程序,它使用Quartz 2.2.1和JDBC作业库。所有作业都安排在同一个位置 我正在使用Appfuse、maven和Quartz构建另一个基于Spring的应用程序。 我想从spring应用程序重新安排在前一个应用程序中运行的作业。 在这样做时,我得到了类未发现异常,因为我没有在类路径中添加作业类。如果我添加它们,我可以更新作业 是否有任何方法可以管理Spring应用程序中的作业,而无需在类路径中添加作业类 我不想使用jdbc或hibernate更新quartz数据库

我有一个核心java应用程序,它使用Quartz 2.2.1和JDBC作业库。所有作业都安排在同一个位置

我正在使用Appfuse、maven和Quartz构建另一个基于Spring的应用程序。 我想从spring应用程序重新安排在前一个应用程序中运行的作业。 在这样做时,我得到了类未发现异常,因为我没有在类路径中添加作业类。如果我添加它们,我可以更新作业

是否有任何方法可以管理Spring应用程序中的作业,而无需在类路径中添加作业类


我不想使用jdbc或hibernate更新quartz数据库。

是的,这是quartz远程API的已知限制。如果您必须远程与多个Quartz scheduler版本通信或管理多个Quartz scheduler版本,这将变得非常痛苦。当管理应用程序在内部使用Quartz API时,它会变得更加痛苦,这似乎就是您的情况

如果您看看我创建的项目,您会发现它非常优雅地解决了这个问题,它公开了一个JAX-WSSOAP接口,您可以通过该接口与外部Quartz调度器实例进行通信和管理。它隐藏了石英调度器API的复杂性和石英差异,隐藏在一个简单的类似石英的API后面


这里描述了JAX-WS接口,还有相关的WSDL文件可供下载。

感谢您的回复。但是你能给我建议其他解决这个问题的方法吗?你可以试试JMXAPI。这并不一定需要在应用程序的类路径上存在Qartz API,但是,有两个问题需要解决。1当涉及到触发器操作时,JMX API非常有限,例如,您不能使用它来获取特定于触发器的属性,例如cron表达式或CronTrigger等。。2您需要在应用程序中实现自定义JMX数据转换器。作为起点,您可以克隆Quartz转换器,请参阅org.Quartz.core.jmx stuff并修改它们以使用您的数据模型。这是相当多的工作。。。