Understood. I am now getting an increasing number of ConcurrentModificationException's for errors that have nothing to do with database interactions. So I am trying to delve a bit deeper......
I have attached a stack trace for the following example.
function index( event, rc, prc )
prc.test1 = checkinService.newCriteria().list();
prc.test2 = bookingSimpleService.newCriteria().list();
event.setView( "test/index" ).noLayou();
This gives ConcurrentModificationException - but when I add the "t" (making "noLayout"), everything is fine. One thing to note: bookingSimple can have many checkin's.
Individually, prc.test1 and prc.test2 throw the correct exception.
Correcting noLayout, and putting an incorrect variable name in the view, also results in ConcurrentModificationException rather than a unknown variable error.
I have tried a variety of other 'services' and but it looks like something specific to bookingSimple and checkin, so I have also attached these.
However, once the error has been triggered once, it does not matter which service I replace for test1 and test2. Any 2 x calls to any 2 x services will fail with ConcurrentModificationException (unless the noLayout corrrection is applied). There's no difference in the symptoms with a fwreinit, so a server restart is required to allow non-related services to throw the correct error.