- Allow the specification of system properties in context.xml in addition to in environment variables
- Avoid having to edit tomcat's systemd.service file to run Jenkins with flags.
- Avoid having to restart app server if flags are changed in context.xml.
- Makes it easier for Jenkins to coexist with other apps on the same app server.
- Centralize parsing of system properties:
- over time, consistent error reporting can be implemented for malformed system properties. Right now, that code is all over the place (e.g. what is and isn't true or false in boolean values is implemented differently)
- access to system properties is now logged, which helps with debugging setups