spring quartz配置问题,就是没有任何反应

重名又重名 2008-06-23 02:30:53
在网上搜索了一大堆,spring+quartz配置了一上午,就是没有任何反应,连个错误都不报,都快欲哭无泪了!
麻烦大虾帮小弟看看
applicationContext.xml配置-------------------------------------------------
<!-- 测试定时器 -->
<bean name="randomPriceJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>test.RandomPriceJob</value>
</property>
</bean>
<!-- 配置触发器 -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="randomPriceJob"/>
</property>
<!-- 每天的13点到13点59分中,每分钟触发RandomPriceJob,具体说明见附录 -->
<property name="cronExpression">
<value>0 * 13 * * ?</value>
</property>
</bean>

<bean name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!-- 添加触发器 -->
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>
java代码---------------------------------------------------------------------
package test;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class RandomPriceJob extends QuartzJobBean{

public RandomPriceJob() {
// TODO Auto-generated constructor stub
}

@Override
protected void executeInternal(JobExecutionContext arg0) throws JobExecutionException {
System.out.println("aaaaaaaaaaa");
}
public void doIt(){
System.out.println("aaaaaaaaaaa");
}
public static void main(String[] args){
System.out.println("ccccccccc");
}
}
先谢谢大家!
...全文
678 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
Landor2004 2008-06-24
  • 打赏
  • 举报
回复
你是把beans的default-lazy-init="true",他的默认值是false,不过还真忽略了这里

多谢楼主,又学到了点技巧
重名又重名 2008-06-24
  • 打赏
  • 举报
回复
还是得感谢Landor2004,给你加分
重名又重名 2008-06-24
  • 打赏
  • 举报
回复
问题解决了,还是配置的事,
在我的环境下,这样配置,还启动不了定时。因为spring里的Bean是需要手工调用才会生效的,也就是说,虽然quartzScheduler已经有了,但是服务启动时没有人给初始调用。
一种办法是设置lazy-init="false",如下
<bean lazy-init="false" name="quartzScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<!-- 添加触发器 -->
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>
另一种办法是用servlet初始化“quartzScheduler”。至于用哪一个就看个人需要的
我用的是第一种
Landor2004 2008-06-23
  • 打赏
  • 举报
回复
我就是按照你的配置的,就配置applicationContext.xml就行,类我也是copy你的

你就看看log下有没有错误记录吧
Landor2004 2008-06-23
  • 打赏
  • 举报
回复
你把间隔修改一下,改成我那样,否则你的也没法跑呀

还有你看看tomcat的log,看看有没有什么错误
一步一个脚印 2008-06-23
  • 打赏
  • 举报
回复
多半是因为第三方Jar包重复或缺少的原因
重名又重名 2008-06-23
  • 打赏
  • 举报
回复
是不是还需要哪些jar包啊?
真够愁人的!
重名又重名 2008-06-23
  • 打赏
  • 举报
回复
楼上的大哥,我的就是没有反应啊?欲哭无泪啊!
我用的commons-collections-2.1.1.jar,你用的是哪一版啊?
还有,除了applicationContext.xml配置外,是不是还需要其他配置啊?在web.xml中,需要配置吗?
帮忙再帮我看看!
谢谢了!
Landor2004 2008-06-23
  • 打赏
  • 举报
回复
我按照你说的配置了一下,只不过是这样的
<bean id="cronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="randomPriceJob" />
</property>
<property name="cronExpression">
<value>0/3 * * * * ?</value>
</property>
</bean>
每个三秒跑一趟,跑的很欢畅呀,
你仔细找找看看有没有异常,可能是commons-collections.jar版本有问题
这里有上面的表达式的说明
http://jwing.spaces.live.com/blog/cns!CE32B24373BFF0A8!1345.entry

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧