commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oliver Heger (JIRA)" <j...@apache.org>
Subject [jira] Resolved: (CONFIGURATION-278) ConcurrentModificationException in PropertiesConfigurationLayout
Date Sun, 17 Jun 2007 19:44:26 GMT

     [ https://issues.apache.org/jira/browse/CONFIGURATION-278?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Oliver Heger resolved CONFIGURATION-278.
----------------------------------------

    Resolution: Won't Fix

The Javadocs of the most popular configuration classes were updated with notes about threading
issues. A similar note was also added to the user guide.

PropertiesConfiguration is not thread-safe per se, so closing this issue as won't fix.

If desired, a new ticket can be created for requesting means of supporting synchronized configurations.

> ConcurrentModificationException in PropertiesConfigurationLayout
> ----------------------------------------------------------------
>
>                 Key: CONFIGURATION-278
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-278
>             Project: Commons Configuration
>          Issue Type: Bug
>    Affects Versions: 1.4
>            Reporter: Emmanuel Bourg
>             Fix For: 1.5
>
>
> PropertiesConfigurationLayout is not thread safe, if a configuration event is received
when the configuration is being saved, a ConcurrentModificationException is thrown :
> java.util.ConcurrentModificationException
>     at org.apache.commons.collections.map.AbstractLinkedMap$LinkIterator.nextEntry(AbstractLinkedMap.java:555)
>     at org.apache.commons.collections.map.AbstractLinkedMap$KeySetIterator.next(AbstractLinkedMap.java:455)
>     at org.apache.commons.configuration.PropertiesConfigurationLayout.save(PropertiesConfigurationLayout.java:455)
>     at org.apache.commons.configuration.PropertiesConfiguration.save(PropertiesConfiguration.java:410)
>     at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:517)
>     at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:484)
>     at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:451)
>     at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:425)
>     at org.apache.commons.configuration.AbstractFileConfiguration.save(AbstractFileConfiguration.java:373)
>     at org.apache.commons.configuration.AbstractFileConfiguration.possiblySave(AbstractFileConfiguration.java:725)
>     at org.apache.commons.configuration.AbstractFileConfiguration.clearProperty(AbstractFileConfiguration.java:764)
>     at org.apache.commons.configuration.DataConfiguration.clearProperty(DataConfiguration.java:109)
>     at org.apache.commons.configuration.AbstractConfiguration.setProperty(AbstractConfiguration.java:483)
> This happens easily in a multi threaded application using a central configuration with
auto saved enabled.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message