QConfig extends AbstractConfig { public QConfig() { config.addPropertiesListener(new MapConfig.PropertiesChangeListener() { @Override public void onChange(PropertiesChange change) { for(Map.Entry<String, PropertyItem> entry : change.getItems().entrySet()) { notifyConfigChange(entry.getKey(), entry.getValue().getOldValue(), entry.getValue().getNewValue()); } } }); } QConfig(); @Override String get(String key); @Override int getOrder();  }
@Test public void testQConfig(){ Config config = Config.DEFAULT; Assert.assertTrue(config instanceof QConfig); String result = config.get("test"); logger.info("test value:{}", result); config.addConfigChangeListener(new ConfigChangeListener() { @Override public void onChange(String key, String oldValue, String newValue) { logger.info("{}:{}->{}", key, oldValue, newValue); } }); }