Example usage for org.apache.commons.configuration.reloading FileAlwaysReloadingStrategy getMonitoredFile

List of usage examples for org.apache.commons.configuration.reloading FileAlwaysReloadingStrategy getMonitoredFile

Introduction

In this page you can find the example usage for org.apache.commons.configuration.reloading FileAlwaysReloadingStrategy getMonitoredFile.

Prototype

public File getMonitoredFile() 

Source Link

Document

Returns the file that is watched by this strategy.

Usage

From source file:io.datalayer.conf.XmlConfigurationTest.java

/**
 * Tests collaboration between XMLConfiguration and a reloading strategy.
 */// w  w  w .  ja  va2s .  c  o  m
@Test
public void testReloading() throws Exception {
    assertNotNull(conf.getReloadingStrategy());
    assertTrue(conf.getReloadingStrategy() instanceof InvariantReloadingStrategy);
    PrintWriter out = null;

    try {
        out = new PrintWriter(new FileWriter(testSaveConf));
        out.println("<?xml version=\"1.0\"?><config><test>1</test></config>");
        out.close();
        out = null;
        conf.setFile(testSaveConf);
        FileAlwaysReloadingStrategy strategy = new FileAlwaysReloadingStrategy();
        strategy.setRefreshDelay(100);
        conf.setReloadingStrategy(strategy);
        assertEquals(strategy, conf.getReloadingStrategy());
        assertEquals("Wrong file monitored", testSaveConf.getAbsolutePath(),
                strategy.getMonitoredFile().getAbsolutePath());
        conf.load();
        assertEquals(1, conf.getInt("test"));

        out = new PrintWriter(new FileWriter(testSaveConf));
        out.println("<?xml version=\"1.0\"?><config><test>2</test></config>");
        out.close();
        out = null;

        int value = conf.getInt("test");
        assertEquals("No reloading performed", 2, value);
    } finally {
        if (out != null) {
            out.close();
        }
    }
}