[ https://issues.apache.org/jira/browse/JEXL-194?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15274208#comment-15274208 ]
Henri Biestro commented on JEXL-194: ------------------------------------ There is no requirement to synchronize simple Collections if they are used only for iteration/access (i.e. readonly and/or unmodifiable) and it is not JEXL's role to solve concurrent iteration/write access to user structures. Besides, protecting iteration but not modification or access (array{S,G}et/property{S,G}et) leaves the concurrency hole wide open in most cases. I'll try and seek an alternative route that could allow an easy specialization of iteration through operators, something like a forEach method that would return a (Closable) Iterator. > synchronize on iterableValue in foreach statement > ------------------------------------------------- > > Key: JEXL-194 > URL: https://issues.apache.org/jira/browse/JEXL-194 > Project: Commons JEXL > Issue Type: Improvement > Affects Versions: 3.0 > Reporter: Dmitri Blinov > Priority: Minor > > Since it is a requirement to synchronize on simple Collections and > synchronized Collections while iterating over them and since jexl has no > instrument to control synchronization in script, I think its reasonable to > implement synchronization in jexl itself on iterableValue. In case of > concurrent collections it will possibly block other threads only if they are > synchronizing on those collections themselves, which will be complementary to > required synchronization in jexl. -- This message was sent by Atlassian JIRA (v6.3.4#6332)