项目使用个是spring,起了几个线程处理数据(查询数据,保存数据到库),刚启动没问题,但是过一段时间后,大概过了5-7分钟左右,就报错:java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext,很奇怪,各位大神,遇到这种事情过吗
ps:服务器上部署了多个tomcat,不知道是不是这个原因影响的。
------解决思路----------------------
错误原因: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
------解决思路----------------------
你是不是写了获取xml的方式来创建服务,类似于下面的这种:
ApplicationContext ctx = new ClassPathXmlApplicationContext();
UserService service = (UserService)ctx.getBean("bean.xml");
------解决思路----------------------
http://blog.163.com/zsq303288862@126/blog/static/93745961201111514325196/楼主看下这个,希望能帮到