2012-01-17 3 views
0

Я получаю java.util.concurrentmodificationexception для моей реализации нижеПочему я получаю java.util.ConcurrentModificationException в коде Groovy?

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? Где находится этот код? –

ответ

1

Ваш sTblList изменяется в другом месте. Это происходит, если ссылка используется для разных потоков. Попробуйте синхронизировать блок.

+1

Это не может быть. sTblList - локальная переменная. – Steven

Смежные вопросы