You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "David Citron (Jira)" <ji...@apache.org> on 2020/03/18 21:31:00 UTC

[jira] [Updated] (CONFIGURATION-786) ReloadingCombinedConfigurationBuilder needs to clear the reloadingController on resetParameters()

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

David Citron updated CONFIGURATION-786:
---------------------------------------
    Description: 
Modifying the _configuration definition file_ causes {{CombinedConfigurationBuilder.resetParameters()}} to be called. This cleans up and clears the {{sourceData}} variable which causes the next invocation of {{initResultInstance()}} to create new child {{ConfigurationBuilder}} instances.

However, {{ReloadingCombinedConfigurationBuilder.reloadingController}} is not cleared (not set to null) and, as such, reloading stops working until a full restart.

I have worked around this by using reflection to set {{ReloadingCombinedConfigurationBuilder.reloadingController}} to null when {{resetParameters()}} is called, but perhaps further thought is required vis-a-vis a fix because re-creating the {{reloadingController }} means that any attached \{{PeriodicReloadingTrigger}} instances need to be shut down and re-created too (which is what I'm currently doing to make all this work).

  was:
Modifying the _configuration definition file_ causes {{CombinedConfigurationBuilder.resetParameters()}} to be called. This cleans up and clears the {{sourceData}} variable which causes the next invocation of {{initResultInstance()}} to create new child \{{ConfigurationBuilder}} instances.

However, {{ReloadingCombinedConfigurationBuilder.reloadingController}} is not cleared (set to null) and, as such, reloading stops working until a full restart.

I have worked around this by using reflection to set {{ReloadingCombinedConfigurationBuilder.reloadingController}} to null when {{resetParameters()}} is called, but perhaps further thought is required vis-a-vis a fix because re-creating the {{reloadingController }} means that any attached \{{PeriodicReloadingTrigger}}s need to be shut down and re-created too (which is what I'm currently doing to make all this work).


> ReloadingCombinedConfigurationBuilder needs to clear the reloadingController on resetParameters()
> -------------------------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-786
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-786
>             Project: Commons Configuration
>          Issue Type: Bug
>          Components: File reloading
>    Affects Versions: 2.6
>            Reporter: David Citron
>            Priority: Major
>
> Modifying the _configuration definition file_ causes {{CombinedConfigurationBuilder.resetParameters()}} to be called. This cleans up and clears the {{sourceData}} variable which causes the next invocation of {{initResultInstance()}} to create new child {{ConfigurationBuilder}} instances.
> However, {{ReloadingCombinedConfigurationBuilder.reloadingController}} is not cleared (not set to null) and, as such, reloading stops working until a full restart.
> I have worked around this by using reflection to set {{ReloadingCombinedConfigurationBuilder.reloadingController}} to null when {{resetParameters()}} is called, but perhaps further thought is required vis-a-vis a fix because re-creating the {{reloadingController }} means that any attached \{{PeriodicReloadingTrigger}} instances need to be shut down and re-created too (which is what I'm currently doing to make all this work).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)