spring quartz不自动运行的问题

ldms1980 2007-07-02 01:55:23
配置如下:

<bean id="teleCommuService" parent="txProxyTemplate">
<property name="target">
<bean class="j1.steelex.bo.TeleCommuServiceImpl">
</bean>
</property>
</bean>


<bean id="timer1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="teleCommuService"/>
</property>
<property name="targetMethod">
<value>exeTeleVarieties</value>
</property>
</bean>



<bean id="Trigger1" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="timer1"/>
</property>
<property name="cronExpression">
<value>10,15,20,25,30,35,40,45,50,55 * * * * ?</value>
</property>

</bean>


<bean id="schedulerFactoryBean" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="Trigger1"/>
<ref local="Trigger2"/>
</list>
</property>
</bean>



web服务启动后,spring quartz并不自动运行,是怎么回事?
总要我在代码中执行显式的向spring请求SchedulerFactoryBean对象后,
才开始有自动运行.

请问怎么让它在服务器启动后马上就运行起来?感觉好象是我没配置好,请问还要配置什么位置?
...全文
2252 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
jiangyuyuan 2010-06-09
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 chulei104 的回复:]

是这个吗?lazy-init="true"使得bean没有被初始化???
[/Quote]

是这个原因的
chulei104 2009-08-28
  • 打赏
  • 举报
回复
是这个吗?lazy-init="true"使得bean没有被初始化???
ldms1980 2007-07-04
  • 打赏
  • 举报
回复
一个晚上过去了,还是没人说说,人都哪去了?
ldms1980 2007-07-03
  • 打赏
  • 举报
回复
DispatcherServlet是个分发器,我的分发器是webwork,spring只是起个bean容器作用
ldms1980 2007-07-03
  • 打赏
  • 举报
回复
我的web.xml已经有了下面的配置:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:j1/mocca/conf/spring/app_context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

还需要配置DispatcherServlet么?
ldms1980 2007-07-03
  • 打赏
  • 举报
回复
报错Context initialization failed
Could not open ServletContext resource [/WEB-INF/spring-servlet.xml]
请问,这个spring-servlet.xml,是个什么样的格式?
flyonsea 2007-07-03
  • 打赏
  • 举报
回复
看起来,你的配置部分没什么问题。
配置DispatcherServlet一般在web.xml中,类似于
<servlet>
<servlet-name>spring</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
ldms1980 2007-07-03
  • 打赏
  • 举报
回复
晕,没人看啊,顶顶
ldms1980 2007-07-03
  • 打赏
  • 举报
回复
问题用一个没办法的办法解决了,希望有人能帮忙解释下

在web.xml配置一个servlet:
<servlet>
<description>This is the description of my J2EE component</description>
<display-name>This is the display name of my J2EE component</display-name>
<servlet-name>StartupServlet</servlet-name>
<servlet-class>j1.steelex.bo.StartupServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>




servlet代码:

public void init() throws ServletException {
initScheduler();
}

protected void initScheduler(){
try{
WebApplicationContext ctx=WebApplicationContextUtils
.getWebApplicationContext(super.getServletContext());
ctx.getBean("schedulerBean");
}catch(Exception e){
log.debug("Quartz Init Servlet failed");
}
}


schedulerBean 就是后台quartz的ID,这样问题是解决了,可就是别扭,到底为什么,非要我请求一次了?
jlzxjk 2007-07-03
  • 打赏
  • 举报
回复
帮你顶上去```IT Serf
ldms1980 2007-07-02
  • 打赏
  • 举报
回复
问题还没解决!
ldms1980 2007-07-02
  • 打赏
  • 举报
回复
我这个架构没用DispatcherServlet,DispatcherServlet好象总需要一个xml文件,类似啥样子啊?
dixing 2007-07-02
  • 打赏
  • 举报
回复
首先spring加载bean有几种方式,用的最多就是用分发器:DispatcherServlet
因为一个系统不可能只是用到quartz,肯定还有其它的bean,其它的bean就肯定用到分发器了,你就把这个bean文件当作是普通的bean.xml配到DispatcherServlet中就可以了.
wlp_8228 2007-07-02
  • 打赏
  • 举报
回复
可以在web.xml中配置DispatcherServlet,或者自己写一个servlet都行,在servlet的初始化代码中初始化bean
ldms1980 2007-07-02
  • 打赏
  • 举报
回复
应该是你这个问题,但是,我不知道怎么配置,请讲讲
dixing 2007-07-02
  • 打赏
  • 举报
回复
是不是没有用spring加载这些对象?
比如:
DispatcherServlet
ldms1980 2007-07-02
  • 打赏
  • 举报
回复
大哥们赏脸看看啊
Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个Jobs这样复杂的程序。Jobs可以做成标准的Java组件或 EJBs。 Quartz的优势: 1、Quartz是一个任务调度框架(库),它几乎可以集成到任何应用系统中。 2、Quartz是非常灵活的,它让您能够以最“自然”的方式来编写您的项目的代码,实现您所期望的行为 3、Quartz是非常轻量级的,只需要非常少的配置 —— 它实际上可以被跳出框架来使用,如果你的需求是一些相对基本的简单的需求的话。 4、Quartz具有容错机制,并且可以在重启服务的时候持久化(”记忆”)你的定时任务,你的任务也不会丢失。 5、可以通过Quartz,封装成自己的分布式任务调度,实现强大的功能,成为自己的产品。6、有很多的互联网公司也都在使用Quartz。比如美团 Spring是一个很优秀的框架,它无缝的集成了Quartz,简单方便的让企业级应用更好的使用Quartz进行任务的调度。   课程说明:在我们的日常开发中,各种大型系统的开发少不了任务调度,简单的单机任务调度已经满足不了我们的系统需求,复杂的任务会让程序猿头疼, 所以急需一套专门的框架帮助我们去管理定时任务,并且可以在多台机器去执行我们的任务,还要可以管理我们的分布式定时任务。本课程从Quartz框架讲起,由浅到深,从使用到结构分析,再到源码分析,深入解析QuartzSpring+Quartz,并且会讲解相关原理, 让大家充分的理解这个框架和框架的设计思想。由于互联网的复杂性,为了满足我们特定的需求,需要对Spring+Quartz进行二次开发,整个二次开发过程都会进行讲解。Spring被用在了越来越多的项目中, Quartz也被公认为是比较好用的定时器设置工具,学完这个课程后,不仅仅可以熟练掌握分布式定时任务,还可以深入理解大型框架的设计思想。

67,513

社区成员

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

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