项目使用spring,起了几个线程处理数据(查询数据,保存数据到库),刚启动没问题,过段时间后,大致过了5-7分钟左右,报错:java.lang.IllegalStateException: BeanFactory not initialized or already closed – call “”refresh”” before accessing beans via the ApplicationContext,很奇怪
ps:服务器上部署了多个tomcat,不知道是不是这个原因影响的。
ps:服务器上部署了多个tomcat,不知道是不是这个原因影响的。
解决方案:20分
错误原因:BeanFactory没有实例化或已经关闭。原因很简单:ApplicationContext ctx = new ClassPathXmlApplicationContext();Spring实例化BeanFactory的时候是默认到classPath下面查找名为applicationContext.xml的文件。
这正是这个错误的原因,修改为:ApplicationContext ctx = new ClassPathXmlApplicationContext(“applicationContext.xml”);
假如这样的话就不会出现这样的错误了。
applicationContext.xml,可以是本人命名的xml。
来自网络:http://blog.sina.com.cn/s/blog_80e498b10100w10b.html
这正是这个错误的原因,修改为:ApplicationContext ctx = new ClassPathXmlApplicationContext(“applicationContext.xml”);
假如这样的话就不会出现这样的错误了。
applicationContext.xml,可以是本人命名的xml。
来自网络:http://blog.sina.com.cn/s/blog_80e498b10100w10b.html
解决方案:10分
你是不是写了获取xml的方式来创建服务,相似于下面的这种:
ApplicationContext ctx = new ClassPathXmlApplicationContext();
UserService service = (UserService)ctx.getBean(“bean.xml”);
ApplicationContext ctx = new ClassPathXmlApplicationContext();
UserService service = (UserService)ctx.getBean(“bean.xml”);
解决方案:10分