| | | | Browse by category |
Question
Why do I get a "ConcurrentModificationException" during a diagram refresh in a JSF application?
Answer
The following ConcurrentModificationException
could occur when using diagrammer.refresh()
in a JSF diagrammer application:
"The IlvGraphicVector was modified while enumerating its contents. If you are using multiple threads, probably some synchronization is missing. Synchronize adding, removing, accessing and enumerating over elements.
If you are using only a single thread, probably some objects were added or removed while enumerating over elements. In this case consider using ilog.views.IlvBufferedGraphicEnumeration. To debug this situation, set the static flag ilog.views.IlvGraphicVector.DEBUG to true and check the stack trace."
If you get this exception, you can try synchronizing the associated grapher of the SDM engine. If this does not help then follow the instructions provided in the exception by double checking to ensure the objects are not being added or removed while enumerating over an ilog.views.IlvGraphicVector
. In this case, you should consider using ilog.views.IlvBufferedGraphicEnumeration
as the exception message suggests to safely add or remove objects while enumerating.
If that still does not help then set the static flag ilog.views.IlvGraphicVector.DEBUG
to true and check the stack trace. You can send the stack trace to RogueWave Support for further analysis.