Commands
- Full build
mvn clean install
- Generate the local configuration file configured with default values
mvn generate-resources -Plocal
- The above command generates the file
~/.kuali/ole/fs/configuration.properties
- The above command generates the file
- Package OLE FS data into jar files
mvn clean install -Pdata
- Reset an OLE FS database
mvn clean initialize -Pdb
Property Loading
- Runtime property resolution is now possible for OLE FS!
- This means the exact same war file can be used for development as well as deployment without altering the binary
- Automatically loaded external configuration files are used to reconfigure the binary with machine specific configuration
- The default external directory used by OLE FS is now based on the system property
user.home
- Override the single property
ole.fs.home
to change this- Properties pointing to other directories needed by OLE FS can now be automatically derived at runtime
- This way only a single property needs to be overridden (instead of all of them)
- The following external locations are automatically checked and loaded, in this order, if they exist
~/.kuali/ole/fs/configuration.properties
- If the system property
olefs.configuration
is set, the properties file it points to is automatically loaded
- If the property
ole.fs.runtime.property.expansion=true
the following actions are also taken- After loading
classpath:configuration.properties
loadclasspath:olefs-default.properties
- Expand any properties containing placeholders into their fully resolved equivalents
- After loading
Logging
- A default logging configuration is now bundled into OLE FS
- This means logging will work out of the box without requiring you to point OLE FS at an external log4j.properties file
- You can still override the default log4j configuration if desired
- set the property
ole.fs.log4j.override=true
- This can be set as a system property
- Or as a property in one of the configuration files that gets automatically loaded
- create a log4j.properties containing your custom settings at
~/.kuali/ole/fs/log4j.properties
- OLE FS will use settings from the custom log4j.properties
- The custom properties file is also monitored by a background thread and reloaded if changes are made
- set the property
- Going forward, any new logging statements added to OLE FS should use the SLF4J logging api
- If existing code is modified, log4j logging calls should be replaced by SLF4J logging calls
Properties
Property |
Default Value |
Description |
---|---|---|
olefs.configuration |
None |
If this system property is set, properties are loaded from the location it points to. Properties supplied here, override internal properties |
ole.fs.runtime.property.expansion=true/false |
false |
If true, property expansion is performed at runtime instead of at build time. The resource |
ole.fs.log4j.override=true/false |
false |
Set this to true if you want to override the default log4j.properties supplied with the application. This also allows you to alter the log4j configuration at runtime without restarting the application. The log4j.properties file supplied here is monitored by a background thread. It is automatically reloaded when changes are detected. |