2012-01-17 81 views
0

我收到java.util.concurrentmodificationexception我下面执行为什么我在Groovy代码中得到java.util.ConcurrentModificationException?

try{ 
     Date fromDate = new Date().parse("yyyy-MM-dd", SfromDate); 
     Date toDate = new Date().parse("yyyy-MM-dd", StoDate); 
     def sTblList = this.getMonths(SfromDate,StoDate) 
     def resourceInstance=Resources.get(res_id); 
     sTblList.each{ 
     def OnemonthList=it.createCriteria().get { 
      eq('graresource',resourceInstance) 
      between('currentdate', fromDate, toDate)   
      projections { 
      sum(sumCol,'t_cnt') 
      groupProperty(groupCol) 
      order('t_cnt', 'desc') 
      maxResults(maxCount) 
       }     
      }  
      if (OnemonthList) 
      sumMap.addAll(OnemonthList) 
      } 

      return sumMap 
    } 
     catch(Exception e){ 
      log.error("Error in SummaryUtilsService:getTop10UsersChart:" + e) 
     } 

是不是因为我试着组上的总财产,什么毛病此语法?

+0

是否说* CME在哪?你没有提供足够的细节。什么是sumMap?这段代码在哪里生活? – 2012-01-17 00:27:14

回答

1

您的sTblList正在其他地方被修改。如果引用在不同线程中共享,则会发生这种情况。尝试同步块。

+1

它不是那个。 sTblList是一个局部变量。 – Steven 2012-01-17 00:26:12

相关问题