tomcat启动,但是spring配置的bean并没有初始化
来源:互联网 发布:巴伐利亚级战列舰知乎 编辑:程序博客网 时间:2024/05/18 00:51
今天在做一个spring配置定时器的任务时,发现定时器并没有启动。
但是所有的定时器spring的配置代码是毫无错误的:
<bean id="timerBeanId" class="timerBean">
</bean>
<bean id="scheduleReportTask" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask" ref="timerBeanId" />
<property name="period">
<value>10000</value>
</property>
</bean>
<bean class="org.springframework.scheduling.timer.TimerFactoryBean">
<property name="scheduledTimerTasks">
<list>
<ref bean="scheduleReportTask"/>
</list>
</property>
</bean>
因为同样的配置我放到了其他项目里面可以运行调通。那问题就不是定时器配置的问题了,问题在于项目框架本身。
问题解决流程:
1.我以debugger模式启动服务(部署到tomcat中),在定时器run()方法上加上断点,没有执行
2.通过上一步说明定时器没有一执行的timertask中,接着在timertask类中添加无参构造,并打印信息。因为timerTask是通过spring配置文件进行初始化的,我要看看是否在服务启动的时候bean进行了初始化,结果还是没有执行。
3.通过上一步说明spring并没有初始化相应的bean类,为了证实这个结果,我在其他的bean的无参构造函数中同样加打印信息,结果还是没有打印出结果。
4.问题渐渐明朗起来,就是在服务启动的时候没有启动spring。最后发现web.xml中没有配置spring的启动Listener
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
加上此listener后服务启动,spring初始化bean然后定时器执行
- tomcat启动,但是spring配置的bean并没有初始化
- tomcat启动,但是spring配置的bean并没有初始化
- tomcat服务并没有启动成功的原因
- 【Spring】Spring常用配置-Bean的初始化和销毁(生命周期)
- Spring中配置Bean的初始化和销毁
- spring的延迟初始化bean
- Spring Bean的延迟初始化
- spring bean的配置
- Spring bean的配置
- spring-bean的配置
- spring 的 bean 配置
- 【Spring】Bean的配置
- [Spring]Spring Bean的初始化 ---- getBean方法
- 从启动日志看Spring IOC的初始化和Bean生命周期
- Web项目启动初始化监听器如何获取spring bean
- 【原创】Spring-Bean的init初始化...
- 【原创】Spring-Bean接口的初始化...
- 获得spring初始化的bean和ServletContext
- 80x86汇编学习笔记(时刻更新中)
- android check root
- Caused by: org.hibernate.TransientObjectException: object references an unsaved transient instance -
- Eclipse使用
- 初识三层结构
- tomcat启动,但是spring配置的bean并没有初始化
- mysqldump Failed to open file 'xxxl', error: 22 on windows os
- 关于AJAX/GET请求乱码的问题
- 用javascript实现观察者模式
- 浅析配置更快的Eclipse方法
- OJ循环——for循环打印图形
- 头文件重复定义的问题&宏定义
- java doc注释中添加超链接,指向某方法
- java.io.FileNotFoundException: ..\lib\commons-el.jar