沙漠中的鱼

欲上天堂,先下地狱
posts - 0, comments - 56, trackbacks - 0, articles - 119
  BlogJava :: 首页 ::  :: 联系 :: 聚合  :: 管理

关于在SSH中异步读取数据的问题

Posted on 2008-04-28 15:37 沙漠中的鱼 阅读(669) 评论(0)  编辑  收藏 所属分类: 开源框架
       上周五kate提出一个BUG,说仪表盘有时候能取出数据有时又不能取出数据,今天camby说需要在仪表盘添加一个URL链接,我也改了一下我自己这部的代码,但是运行程序的时候,仪表盘上面的数据很乱,而且报出java.util.ConcurrentModificationException异常,在网上找了一下,原来是在Iterator的实现类,比如Hashtable里面的内部类private class Enumerator<T> implements Enumeration<T>, Iterator<T> 会在next,或者remove的时候检查当前集合是否会在修改状态,如果是的话,就会抛出 ConcurrentModificationException,而他自己remove则是使用了同步的方法,而且同步了modCount;expectedModCount;

    问了一下hunk,他说是由于异步取数据的时候,同时访问一个对象所产生的异常,需要对每一个对象都创建一个新的实例,所以我在spring的配置文件中相关的bean都加上一个scope="prototype"属性,问题就解决了

PS一下自己,写程序对那些基本类型的概念都不清楚,是不行的,多多了解一下原理


只有注册用户登录后才能发表评论。


网站导航: