[jira] Created: (CONFIGURATION-341) FileChangedReloadingStrategy not working for SubnodeConfiguration with a CombinedConfiguration parent

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

[jira] Created: (CONFIGURATION-341) FileChangedReloadingStrategy not working for SubnodeConfiguration with a CombinedConfiguration parent

AD_LB (Jira)
FileChangedReloadingStrategy not working for SubnodeConfiguration with a CombinedConfiguration parent
-----------------------------------------------------------------------------------------------------

                 Key: CONFIGURATION-341
                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-341
             Project: Commons Configuration
          Issue Type: Bug
          Components: File reloading
    Affects Versions: 1.5
            Reporter: Brian Pugh


A SubnodeConfiguration that has a CombinedConfiguration as its parent, doesn't "hot" reload properties even if the combined configuration consists of XMLConfigurations that have the FileChangedReloadingStrategy set, the combined configuration has the setForceReloadCheck flag set and the SubnodeConfiguration was obtained by calling configurationAt method and passing in true for the "supportUpdates" flag.  

Here's some code that shows the problem where the final assertion will fail.

 @Test
  public void testSubnodeReadload() throws ConfigurationException {
    XMLConfiguration xmlConfiguration = new XMLConfiguration("service.xml");
    FileChangedReloadingStrategy fileReloadStrategy = new FileChangedReloadingStrategy();
    fileReloadStrategy.setRefreshDelay(1000);
    xmlConfiguration.setReloadingStrategy(fileReloadStrategy);
    XMLConfiguration config2 = new XMLConfiguration("environment.xml");
    FileChangedReloadingStrategy fileReloadStrategy2 = new FileChangedReloadingStrategy();
    fileReloadStrategy2.setRefreshDelay(1000);
    xmlConfiguration.setReloadingStrategy(fileReloadStrategy2);

    CombinedConfiguration combinedConfig = new CombinedConfiguration();
    combinedConfig.setForceReloadCheck(true);
    combinedConfig.addConfiguration(xmlConfiguration);
    combinedConfig.addConfiguration(config2);
    int queue0threads2 = xmlConfiguration.getInt("messaging-new.queue(0).threads");
    assert 2 == queue0threads2;

    //change the value in service.xml to 4
    int queue0threads4 = xmlConfiguration.getInt("messaging-new.queue(0).threads");
    assert 4 == queue0threads4;


    SubnodeConfiguration subConfigHier = xmlConfiguration.configurationAt("messaging-new.queue(0)", true);
    int queue0threadsCombinedSub4 = subConfigHier.getInt("threads");
    assert queue0threadsCombinedSub4 == 4;

    //change the value service.xml to 8
    int queue0threadsCombinedSub8 = subConfigHier.getInt("threads");
    assert queue0threadsCombinedSub8 == 8;


    SubnodeConfiguration subNodeConfigParentIsCombinedConfig = combinedConfig.configurationAt("messaging-new.queue(0)", true);
    int queue0threadsSub8 = subNodeConfigParentIsCombinedConfig.getInt("threads");
    assert queue0threadsSub8 == 8;

    //change the value service.xml file to 16
    int queue0threadsSub16 = subNodeConfigParentIsCombinedConfig.getInt("threads");
    assert queue0threadsSub16 == 16;         //THIS TEST FAILS

  }



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

Reply | Threaded
Open this post in threaded view
|

[jira] Resolved: (CONFIGURATION-341) FileChangedReloadingStrategy not working for SubnodeConfiguration with a CombinedConfiguration parent

AD_LB (Jira)

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

Oliver Heger resolved CONFIGURATION-341.
----------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.6

A fix was applied to trunk and to the configuration2 branch.

> FileChangedReloadingStrategy not working for SubnodeConfiguration with a CombinedConfiguration parent
> -----------------------------------------------------------------------------------------------------
>
>                 Key: CONFIGURATION-341
>                 URL: https://issues.apache.org/jira/browse/CONFIGURATION-341
>             Project: Commons Configuration
>          Issue Type: Bug
>          Components: File reloading
>    Affects Versions: 1.5
>            Reporter: Brian Pugh
>            Assignee: Oliver Heger
>             Fix For: 1.6
>
>
> A SubnodeConfiguration that has a CombinedConfiguration as its parent, doesn't "hot" reload properties even if the combined configuration consists of XMLConfigurations that have the FileChangedReloadingStrategy set, the combined configuration has the setForceReloadCheck flag set and the SubnodeConfiguration was obtained by calling configurationAt method and passing in true for the "supportUpdates" flag.  
> Here's some code that shows the problem where the final assertion will fail.
>  @Test
>   public void testSubnodeReadload() throws ConfigurationException {
>     XMLConfiguration xmlConfiguration = new XMLConfiguration("service.xml");
>     FileChangedReloadingStrategy fileReloadStrategy = new FileChangedReloadingStrategy();
>     fileReloadStrategy.setRefreshDelay(1000);
>     xmlConfiguration.setReloadingStrategy(fileReloadStrategy);
>     XMLConfiguration config2 = new XMLConfiguration("environment.xml");
>     FileChangedReloadingStrategy fileReloadStrategy2 = new FileChangedReloadingStrategy();
>     fileReloadStrategy2.setRefreshDelay(1000);
>     xmlConfiguration.setReloadingStrategy(fileReloadStrategy2);
>     CombinedConfiguration combinedConfig = new CombinedConfiguration();
>     combinedConfig.setForceReloadCheck(true);
>     combinedConfig.addConfiguration(xmlConfiguration);
>     combinedConfig.addConfiguration(config2);
>     int queue0threads2 = xmlConfiguration.getInt("messaging-new.queue(0).threads");
>     assert 2 == queue0threads2;
>     //change the value in service.xml to 4
>     int queue0threads4 = xmlConfiguration.getInt("messaging-new.queue(0).threads");
>     assert 4 == queue0threads4;
>     SubnodeConfiguration subConfigHier = xmlConfiguration.configurationAt("messaging-new.queue(0)", true);
>     int queue0threadsCombinedSub4 = subConfigHier.getInt("threads");
>     assert queue0threadsCombinedSub4 == 4;
>     //change the value service.xml to 8
>     int queue0threadsCombinedSub8 = subConfigHier.getInt("threads");
>     assert queue0threadsCombinedSub8 == 8;
>     SubnodeConfiguration subNodeConfigParentIsCombinedConfig = combinedConfig.configurationAt("messaging-new.queue(0)", true);
>     int queue0threadsSub8 = subNodeConfigParentIsCombinedConfig.getInt("threads");
>     assert queue0threadsSub8 == 8;
>     //change the value service.xml file to 16
>     int queue0threadsSub16 = subNodeConfigParentIsCombinedConfig.getInt("threads");
>     assert queue0threadsSub16 == 16;         //THIS TEST FAILS
>   }

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