Listening for Settings Changes
You can listen for changes to the global settings object.
This is most useful when combined with other extension points, allowing extensions to define and make use of extended settings values rather than rolling their own configuration strategy.
A common pattern is to listen for changes and capture the value locally, using this to affect the main extension’s behaviour e.g.:
public class MyConfigurableServeEventListener implements ServeEventListener, GlobalSettingsListener {
private volatile String mySetting = "";
@Override public void afterGlobalSettingsUpdated( GlobalSettings oldSettings, GlobalSettings newSettings) {
mySetting = newSettings.getExtended().getString("my-setting"); }
@Override public void onEvent( RequestPhase requestPhase, ServeEvent serveEvent, Parameters parameters) {
log.debug("My setting is " + mySetting); }
@Override public String getName() { return "my-listener"; }}