ConcurrentModificationException Accessing WorkItem List Returned By WaitForAny On WorkManager
Last updated on NOVEMBER 02, 2017
Applies to:Oracle WebLogic Server - Version 10.3.6 and later
Information in this document applies to any platform.
ConcurrentModificationException thrown when accessing the completed WorkItem list returned by waitForAny on WorkManager in WebLogic 10.3.6.
The issue reproduces with a simple session bean, a remote interface, and a standalone client. Executing the client invokes the test EJB on the server. This is deployed to a vanilla development domain with a test WorkManger which has a test MaxThreadConstraint of 10. The test EJB schedules some work on a work manager and then calls wait for any. It then loops until no more work is available. When accessing the completed WorkItem list, a ConcurrentModificationException is thrown.
It appears that additional WorkItems are added to the list as they complete. As a workaround if you copy the list before accessing it this prevents the ConcurrentModificationException (assumes time to copy is less than next update).
Sign In with your My Oracle Support account
Don't have a My Oracle Support account? Click to get started
My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms