Tôi đang sử dụng các đối tượng bền bỉ bằng JPA. Đối tượng chính có mối quan hệ One-Many với một đối tượng khác. Đối tượng khác được lưu trữ trong HashMap. Loại đồng bộ hóa nào sẽ khắc phục vấn đề này? Nó dường như xảy ra vào thời điểm hoàn toàn ngẫu nhiên và rất khó đoán trước. Dưới đây là ngoại lệ tôi nhận được:ConcurrentModificationException và HashMap
Exception in thread "pool-1-thread-1" java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
at java.util.HashMap$ValueIterator.next(Unknown Source)
at org.hibernate.collection.AbstractPersistentCollection$IteratorProxy.next(AbstractPersistentCollection.java:555)
at org.hibernate.engine.Cascade.cascadeCollectionElements(Cascade.java:296)
at org.hibernate.engine.Cascade.cascadeCollection(Cascade.java:242)
at org.hibernate.engine.Cascade.cascadeAssociation(Cascade.java:219)
at org.hibernate.engine.Cascade.cascadeProperty(Cascade.java:169)
at org.hibernate.engine.Cascade.cascade(Cascade.java:130)
bạn có thể cung cấp một số đồng hơn ntext? Bạn có đang hợp nhất, cập nhật hoặc xóa một thực thể không? Những gì các tổ chức doest thực thể này có? Điều gì về cài đặt xếp tầng của bạn? – ordnungswidrig
Từ theo dõi ngăn xếp, bạn có thể thấy rằng Ngoại lệ xảy ra trong khi lặp qua HashMap. Chắc chắn một số chủ đề khác đang sửa đổi bản đồ nhưng ngoại lệ xảy ra trong chuỗi đang lặp lại. – Chochos
Có thể trùng lặp của [Iterating thông qua một bộ sưu tập, tránh ConcurrentModificationException khi loại bỏ trong vòng lặp] (http://stackoverflow.com/questions/223918/iterating-through-a-collection-avoiding-concurrentmodificationexception-when-re) – Raedwald