Posted on 2008-04-28 15:37
沙漠中的魚(yú) 閱讀(685)
評(píng)論(0) 編輯 收藏 所屬分類:
開(kāi)源框架
上周五kate提出一個(gè)BUG,說(shuō)儀表盤有時(shí)候能取出數(shù)據(jù)有時(shí)又不能取出數(shù)據(jù),今天camby說(shuō)需要在儀表盤添加一個(gè)URL鏈接,我也改了一下我自己這部的代碼,但是運(yùn)行程序的時(shí)候,儀表盤上面的數(shù)據(jù)很亂,而且報(bào)出java.util.ConcurrentModificationException異常,在網(wǎng)上找了一下,原來(lái)是在Iterator的實(shí)現(xiàn)類,比如Hashtable里面的內(nèi)部類private class Enumerator<T> implements Enumeration<T>, Iterator<T> 會(huì)在next,或者remove的時(shí)候檢查當(dāng)前集合是否會(huì)在修改狀態(tài),如果是的話,就會(huì)拋出 ConcurrentModificationException,而他自己remove則是使用了同步的方法,而且同步了modCount;expectedModCount;
問(wèn)了一下hunk,他說(shuō)是由于異步取數(shù)據(jù)的時(shí)候,同時(shí)訪問(wèn)一個(gè)對(duì)象所產(chǎn)生的異常,需要對(duì)每一個(gè)對(duì)象都創(chuàng)建一個(gè)新的實(shí)例,所以我在spring的配置文件中相關(guān)的bean都加上一個(gè)scope="prototype"屬性,問(wèn)題就解決了
PS一下自己,寫程序?qū)δ切┗绢愋偷母拍疃疾磺宄遣恍械模喽嗔私庖幌略?/span>