You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 19 Next »

config overlay el

Some Grouper properties files can have overlays so that only the changes from the defaults of the config files need to be tracked in the institution specific config file.  Also, configs can be centrally stored on a server across multiple webapps or standalone Grouper applications.  This is available in v2.2+ for the following config files:

  • grouper.properties
  • grouper.hibernate.properties
  • grouper-loader.properties
  • grouper-ui.properties
  • grouper-ws.properties
  • grouper.client.properties

In the future we can add this feature to other config files as well.

How it works

Each of the properties files has an example file, and a config file.  For example, there is a grouper.example.properties, and a grouper.properties.  Both of these are located on the classpath in the default package.  e.g. WEB-INF/classes/grouper.example.properties and WEB-INF/classes/grouper.properties.  Generally all the default settings will be located in the example config file, and only the things that are overridden are in the grouper.properties.  This is a change in v2.2+ since before that all properties are in the grouper.properties, and the example file is not really used.

config overlay high level

Specify the hierarchy

If you do not want to use the example and the overlay in the classpath, you can specify which files are used for the properties.  This must be specified in the example or config file.  Each config file has its own key for this hierarchy, but it is listed in the example config file.  Here is an example for the grouper.properties.  Note, it is recommended to include the classpath example properties, though it is up to you.  You can specify config files by classpath or file location.

grouper config overlay specify hierarchy

Edge cases

If you override a key with an empty value, that will blank out that config value

config overlay edge case 1

Config file reloading

You can specify the number of seconds that the config file will be checked to see if there are differences.  This is not a trivial check, so it is recommended not to be more often than every 60 seconds.  If -1 is specified, then it will never be checked.  If it is 0 then it will be checked each time a config param is referenced.  Note, this is another properties that must be specified in the example or config file, it cannot be put in other places specified in the hierarchy.  Here is an example for grouper.properties:

grouper.config.secondsBetweenUpdateChecks = 60

Expression language in property values

You can specify the property key in such a way that you can have value include expression language scriplets.  The class edu.internet2.middleware.grouperClient.util.GcElUtilsSafe can be referenced as "elUtils"

sdf

  • No labels