我们是小公司新组建的一个开发团队,公司从我们开始从零做起。所以大家在项目的开发过程中有时候会遇到一些莫敏其妙的问题,搞得大家十分头痛.......-_-!
有的问题我们经过些时日也能解决,但有的问题我们至今不解决,类似这个《Quartz无故报错》。我们的问题积累了有一些,但一直没有记录一下。
So.....今天来写一篇。希望有遇到类似问题的朋友能帮我们解决问题,或是与我们分享经验。
项目中要用到任务调度的地方比较多。我们选择的是使用Quartz来解决这个问题。刚开始项目规模比较小,任务调度只有几个的时候是没有发生过什么异常。但随着后面项目规模的扩大与定时器的增加,在项目启动的时候抛出了一个莫名其妙问题。
Could not invoke method 'myMethod' on target object [xxx.xxx.QuartzXXX@3f4ve3] java.lang.ExceptionInInitializerError
QuartzXXX是ref的bean。
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="quartzXXX"/>
<property name="targetMethod" value="myMethod"/>
</bean>
myMethod方法在QuartzXXX中是肯定存在的,并且只要服务器重启就没问题了。-_-!
有想过是什么spring的bean加载顺序问题,调整配置文件的加载顺序让Quartz最后加载也没效果。
找了很多资料都没有找到相应的解决方法。然后这个问题就这样已重启服务器的方式解决了。
后面有一天看到robbin写的一篇文章《应该如何正确使用Quartz》虽然没有指出我们的问题解决办法但是我们决定更改我们的定时器。
由于项目中已经使用了webservice所以就打算用webservice的方式。通过一个Quartz服务器来调用webservice来实现任务的调度。
这样的做法确实完全避免了我们之前的错误,并且给我们的开发带来了不少的方便,大家不用每台机器都开启一个定时器在那边跑了(跑一下HQL一大堆,很烦人。),只要在QuartzServer登记一下IP就行了。
置于为什么会报Could not invoke method 这个错误,还是不懂发生的原因在哪里,换成现在的解决方案也没在追究这个问题了。
分享到:
相关推荐
在IT行业中,Spring框架是Java企业级应用开发的首选,而Quartz则是一个强大的作业调度框架,常用于执行定时任务。本篇文章将详细介绍如何将Spring 3.2.3版本与Quartz 2.2版本进行整合配置,以便在Spring应用中实现...
只需基本的spring包即可 注:要是项目报错 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener 缺少jar包,这个jar包在以上压缩包中就有
在Spring框架中,Quartz是一个强大的任务调度库,可以用于执行定时任务。本文将深入探讨如何在Spring中配置Quartz以实现多个定时任务。 首先,我们需要理解Quartz的基本概念。Quartz是一个开源的工作调度框架,它...
Quartz是一款开源的作业调度框架,它允许开发者在应用程序中安排任务执行,比如定时执行某个方法或服务。在“quartz实例sqlserver数据库连接”这个主题中,我们主要讨论如何配置Quartz与SQL Server数据库进行交互,...
quartz scheduler 入门教程 Quartz Scheduler 是一种功能丰富、开源的任务调度程序库,可以在任何 Java 程序中使用。它可以用来创建简单或者复杂的执行次数可以达成千上万的任务。任务可以是任何 Java 可以做的事情...
postgres quatrz初始化sql脚本文件、pg、quartz、qrtz_开头的表 配置文件需求修改 #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate org.quartz.jobStore....
Quartz是Java领域的一款强大的开源任务调度框架,它允许开发者创建和管理定时任务,从而实现应用程序的自动执行功能。在给定的压缩包文件中,我们有两个版本为1.6.0的Quartz JAR包:`quartz-1.6.0.jar`和`quartz-all...
Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。它提供了丰富的API和灵活性,使得开发者可以方便地定义、安排和管理各种任务。版本1.8.6是Quartz的一个稳定版本,它包含了对数据库...
Quartz是一款广泛使用的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Quartz 2.2.3版本中,初始化数据库是使用Quartz的关键步骤,因为Quartz依赖于一个持久化存储来保存作业和触发器的信息...
Quartz是一款广泛使用的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Quartz中,任务和触发器的配置信息是通过数据库存储的,这使得任务调度具有高可用性和可扩展性。这里我们将详细探讨...
quartz输入前缀自动建表sql语句,适用于linux环境,与quartz完美匹配,有报错你找我
Quartz 是一个开源的作业调度框架,广泛应用于Java应用程序中,用于执行定时任务。它允许开发者灵活地定义作业和触发器,实现复杂的时间调度。在2.3.0这个版本中,Quartz 提供了针对不同数据库系统的初始化脚本,...
赠送jar包:quartz-2.3.2.jar; 赠送原API文档:quartz-2.3.2-javadoc.jar; 赠送源代码:quartz-2.3.2-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.2.pom; 包含翻译后的API文档:quartz-2.3.2-javadoc-API...
Quartz 是一个开源的作业调度框架,广泛应用于Java企业级应用中,用于自动化任务执行,如定时触发工作流、发送邮件、数据同步等。在Quartz的部署和配置过程中,为了存储作业和触发器的信息,我们需要在关系型数据库...
在Quartz中,作业(Job)是需要执行的任务,它实现了`org.quartz.Job`接口或其子类,例如`QuartzJobBean`。触发器(Trigger)则是定义任务执行的时间规则,它可以是简单触发器(SimpleTrigger)或cron触发器...
在Spring框架中集成Quartz是一款常见的任务调度解决方案,它允许开发者在应用中安排定时任务的执行。Quartz是一个开源的作业调度框架,可以用来在Java应用程序中安排复杂的作业任务。以下将详细介绍如何在Spring中...
**Android Studio下的Quartz工程详解** Quartz是一个开源的作业调度框架,广泛应用于Java环境中的任务调度。在Android Studio中使用Quartz,可以为应用程序添加定时执行的任务功能,例如定期发送通知、更新数据或者...
Spring Quartz 动态暂停、恢复、修改定时任务的一个demo,使用maven构建,框架采用spring springmvc jpa,数据库mysql,含数据库脚本,运行可用,页面访问地址http://localhost:8080/quartz_demo/quartz/list
Quartz 批量下载源码,Quartz 批量下载源码Quartz 批量下载源码Quartz 批量下载源码Quartz 批量下载源码Quartz 批量下载源码Quartz 批量下载源码Quartz 批量下载源码Quartz 批量下载源码Quartz 批量下载源码
Quartz是一款开源的作业调度框架,它允许开发者创建、组织和执行计划任务。这个实例是为初学者设计的,用于帮助理解Quartz的基本概念和使用方式。在MyEclipse 6.0.1环境下,你可以直接运行这个Spring整合Quartz的...