[jira] [Commented] (CONFIGURATION-523) DefaultConfigurationBuilder is not reloading its base file

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

[jira] [Commented] (CONFIGURATION-523) DefaultConfigurationBuilder is not reloading its base file

ASF GitHub Bot (Jira)

    [ https://issues.apache.org/jira/browse/CONFIGURATION-523?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13559105#comment-13559105 ]

Oliver Heger commented on CONFIGURATION-523:

Hm, it seems that the support for reloading the definition file of a {{DefaultConfigurationBuilder}} is quite limited. The problem is that a reload check is only performed when a property of a configuration is accessed. But this is typically not the case for a {{DefaultConfigurationBuilder}} after it has created its result configuration.

A workaround may be to query a synthetic property on the builder to manually trigger a reload check. But then you also have to find out whether a reload actually happened and - if so - query the builder for a new configuration.

That said, there is currently work going on for a version 2.0 of Configuration, and one area which is to be improved is reloading support (see also CONFIGURATION-520). There is already some code in SVN which allows for periodic, timer-based reload checks. It will also work for a {{CombinedConfigurationBuilder}} (which is the replacement for {{DefaultConfigurationBuilder}} in 2.0). However, unfortunately, this is all work in progress and still in an early stage.

> DefaultConfigurationBuilder is not reloading its base file
> ----------------------------------------------------------
>                 Key: CONFIGURATION-523
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-523
>             Project: Commons Configuration
>          Issue Type: Bug
>          Components: File reloading
>    Affects Versions: 1.9
>         Environment: Windows / Eclipse
>            Reporter: Jean-Marc
>            Priority: Critical
>              Labels: DefaultConfigurationBuilder, reloading
>   Original Estimate: 2h
>  Remaining Estimate: 2h
> Create a DefaultConfigurationBuilder with this example file master-config.xml :
> <?xml version="1.0" encoding="UTF-8" ?>
> <configuration>
> <header>
> <result forceReloadCheck="true"/>
> </header>
> <system/>
> <override>
> <properties fileName="webapp-commons.properties"  throwExceptionOnMissing="true">
> <reloadingStrategy refreshDelay="1000" config-class="org.apache.commons.configuration.reloading.FileChangedReloadingStrategy"/>
> </properties>
> </override>
> </configuration>
> A modification to "webapp-commons.properties" is well detected and the file is reloaded.
> But if you modify the master-config.xml itself, nothing is reloaded, no event are thrown.

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira