commons-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Oliver Heger <oliver.he...@oliver-heger.de>
Subject Re: [commons-configuration] About reloading and thread-safety
Date Tue, 28 Sep 2010 20:37:53 GMT
Am 28.09.2010 22:19, schrieb Siddhartha S:
> Hi,
>
> Thank you for your response. An additional question :
>
> "The lock you mention is just for protecting reload operations (i.e. if
> the file on disk has changed). There is no protection against concurrent
> updates by multiple threads. "
>
> Are there examples in documentation/code that illustrate this? The addProperty
> method, for example, appears to have a synchronized block. Is it still unsafe to
> use this method across multiple threads without (explicit, additional)
> serialization? What am I missing?

The getProperty() methods are not synchronized. Therefore it is not safe 
to update a configuration in one thread while other threads may read data.

Oliver

>
> thanks,
> -Sidharta S
>
>
>
>
>> As per documentation, most of the concrete implementations of the
> Configuration
>> interface are not thread-safe when modifications are involved. However,
> looking
>> at AbstractFileConfiguration (
>> http://svn.apache.org/repos/asf/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractFileConfiguration.java
>> a
>>    ) and
>> (http://svn.apache.org/repos/asf/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/AbstractHierarchicalFileConfiguration.java)
>> )
>>    , it appears that access *is* synchronized through a reload lock. Do the
>> concrete implementations (e.g XMLConfiguration) do something that makes them
>> non
>> thread-safe with respect to reloads?
>
> The lock you mention is just for protecting reload operations (i.e. if
> the file on disk has changed). There is no protection against concurrent
> updates by multiple threads. This is in the responsibility of the developer.
>
> Oliver
>
>>
>>
>> thanks,
>> -Sidharta S
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
> For additional commands, e-mail: user-help@commons.apache.org


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


Mime
View raw message