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对象后,
才开始有自动运行.

请问怎么让它在服务器启动后马上就运行起来?感觉好象是我没配置好,请问还要配置什么位置?
...全文
2265 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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
  • 打赏
  • 举报
回复
大哥们赏脸看看啊

67,549

社区成员

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

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