关于Spring 任务调度的问题

fantasylgd 2008-04-23 11:42:18
我最近有个项目需要定时,周期触发某个程序。我在网上看到了这个Spring 的任务调度。于是自己写了个简单的测试。
代码如下:
public class QuartTest implements org.quartz.Job {
public void tt(){
System.out.println("测试");
}
public void execute(JobExecutionContext arg0) throws JobExecutionException {
// TODO Auto-generated method stub
System.out.println("YYY");
tt();
}

}

applicationContext.xml:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans default-lazy-init="true">


<bean id="SessionFactory"
class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
<property name="configLocation">
<value>file:src/hibernate.cfg.xml</value>
</property>
</bean>
<bean id="testQuarz" class="com.jandar.test.Test"/>



<bean name="contentarbitrateservicejob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>com.jandar.test.QuartTest</value>
</property>

</bean>

<bean id="gengenDashboardCronTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="contentarbitrateservicejob"/>
</property>
<property name="cronExpression">
<value>0/10 * * * * ?</value>
</property>
</bean>

<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="gengenDashboardCronTrigger" />
</list>
</property>
</bean>
</beans>


现在是开了服务它啥都没发生。我不知道哪里有什么东西漏了还是怎么的。
我是个新手,请各位高手指点指点。谢谢
...全文
118 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuboming2005 2008-04-26
  • 打赏
  • 举报
回复
<bean name="contentarbitrateservicejob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>com.jandar.test.QuartTest </value>
</property>
</bean>
这段代码有问题你没有配置所要任务调度的方法。
建议改用二楼配置,比较正规。记得配置完任务调度文件之后,要在web.xml文件中加载配置文件哦
sunyujia 2008-04-26
  • 打赏
  • 举报
回复
你的spring上下文配置文件被加载了吗?
fantasylgd 2008-04-26
  • 打赏
  • 举报
回复
2楼 你的意思是另建一个XML,那spring配置文件里要写什么 不用写了??
caibaoying 2008-04-24
  • 打赏
  • 举报
回复
不懂```进来学习下```
yibunengjing 2008-04-24
  • 打赏
  • 举报
回复
0/10 * * * * ?
看你的这个配置应该是每10秒运行一次,给你个例子,实际用过的,你试下吧:
首先,如果你在web.xml文件中的配置是这样的:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext-*.xml
</param-value>
</context-param>
那么需要在工程下创建一个以applicationContext- 为开头的xml文件eg:applicationContext-jobconfig.xml
xml的头和结尾部分跟其他spring配置文件相似,就不赘述,正文如下:
<bean id="youJobName(类别名)" class="com.******.YourJobClassLocation(类的定位)" />
<bean id="doYourJob(别名)" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="youJobName(类别名)""/>
</property>
<property name="targetMethod">
<value>runMethodName(定时执行的方法名)</value>
</property>
</bean>

<bean id="youJobNameTrigger(触发器别名)" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="doYourJob(别名)""/>
</property>
<property name="cronExpression">
<value>0 0/20 * * * ?(定时的时间配置)</value>
</property>
</bean>
<bean id="doScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="youJobNameTrigger(触发器别名)"/>
</list>
</property>
</bean>

67,538

社区成员

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

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