项目使用个是spring,起了几个线程处理数据(查询数据,保存数据到库),刚启动没问题,但是过一段时间后,大概过了5-7分钟左右,就报错:java.lang.IllegalStateException: BeanFactory not initialized or already closed – call “”refresh”” before accessing beans via the ApplicationContext,很奇怪,各位大神,遇到这种事情过吗
ps:服务器上部署了多个tomcat,不知道是不是这个原因影响的。
20分
错误原因:BeanFactory没有实例化或者已经关闭。原因很简单:ApplicationContext ctx = new ClassPathXmlApplicationContext();Spring实例化BeanFactory的时候是默认到classPath下面查找名为applicationContext.xml的文件。
这正是这个错误的原因,修改为:ApplicationContext ctx = new ClassPathXmlApplicationContext(“applicationContext.xml”);
你是不是写了获取xml的方式来创建服务,类似于下面的这种:
ApplicationContext ctx = new ClassPathXmlApplicationContext();
UserService service = (UserService)ctx.getBean(“bean.xml”);