搜索墙首页  编程技术  java  asp  ajax  php  c/c#/c++  数据库  oracle  mysql  db2  操作系统  windows  linux  股吧
首页 > 编程 > java > Spring
 1         
1楼  eyeqq 2008-09-30

我们是小公司新组建的一个开发团队,公司从我们开始从零做起。所以大家在项目的开发过程中有时候会遇到一些莫敏其妙的问题,搞得大家十分头痛.......-_-!

有的问题我们经过些时日也能解决,但有的问题我们至今不解决,类似这个《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 这个错误,还是不懂发生的原因在哪里,换成现在的解决方案也没在追究这个问题了。

 1         
您的发言将按有关规定都会存档,您须为所发表后果负责,请您遵纪守法并注意语言文明。
标题:Quartz无故报错
热门关注
标题回复点击
商业J2EE中间件价值何在?74364
GoogleGuice-比Spring快100倍的IoC容器50322
Hibernate和Spring的决裂以及Spring和EJB3之争48299
关于pojo、dao、service的困惑49298
ThreadLocal与synchronized83287
请教Spring的分布式事务管理44255
spring的事务不起作用?无法和当前sessin绑定?31247
spring+Hibernate中异常如何处理19244
请问这样的细粒度权限能否用acegi实现?47236
用spring的queryForList方法取结果集,字段中含有CLOB怎么办?0226
搜索墙@2009 www.pkwall.com all rights reserved QQ:276471788 [京ICP备09111534号]
声明:本站部分数据来源于网络,仅供参考,如有版权问题,请联系我们,我们将及时删除!转载本站请注明来源