Many applications intentionally expose configuration files to their users so that they may tweak and dictate the
behavior of the application during runtime. In Martini, the
<martini-home>/conf/properties/application.properties file is one such file. In this file,
we define what we call application properties (sometimes called instance properties) whose values are taken in by
Martini, during start-up or runtime, to instruct how Martini should set itself up or to direct how its
components should operate.
For example, you can indicate the location of your Solr cores
properties for example; the value of these properties help Martini determine whether to fetch
linked Solr cores from a local, remote, or cloud instance of Solr and the
location of that Solr instance (by providing the Solr instance's URL).
Aside from application properties which are global to an instance, we also have properties that are local to a package. These properties work very much like Martini's properties, except their scope is limited to a package.
Application properties are especially handy because they also help externalize Martini's configuration
properties, allowing you to run Martini in different modes or environments without having to do much except for
You can choose whether to use development or production environment-specific package properties
Packages allow you to have multiple
.properties files. For testing purposes, you can have one
specifically for development environments and another for production environments in each of your packages. You can
tell Martini which one to use via the
package.prefix instance property.
To help you easily go back to using the original configured application properties, Martini allows you to leave
application.properties file untouched and define values you want to change in an override file. If
you want to restore properties back to their original state, you have to remove them from the override file.
By default, the override file is named
<martini-home>/conf/properties/override.properties. Add a property to the
override file with the same key as the property in the main
.properties file to have Martini use the overridden
What if I want to change the name of the
If you want to use an override file with a different name or location, you must specify the new file via
a system property called
To create a system property, look at the
toro-martini (if you're using OSX or *NIX) or
(if you're using Windows) file. There are placeholders there and comments that tell you where to add the
configuration parameters. These files are in the
Restarts may be required
Changes you make in the application
.properties file may not reflect immediately unless you restart Martini
or reload the properties via the UI. However, some properties (like HTTP/S port numbers, local/remote broker
settings, and others) will not take effect at all until Martini is restarted.
Editing application properties
There are plenty of ways to modify an instance's application properties:
- Directly editing the application
.propertiesfile via the file system
- Using the CLI tool
- Using the REST API
- Via the Martini IDE
- Using the Martini Runtime Admin UI
Via Martini IDE
Editing via the UI
Using any of Martini's editors to edit the
application.properties file automatically
pushes changes to the underlying
If the value has not changed from what is set in the default,
its entry will be removed in the
override.properties file needs to exist to trigger this behavior.
To modify application properties using Martini Desktop or Online, right click the instance whose
application properties you want to modify and then click Edit Martini Properties from the appearing context menu.
<martini-home>/conf/properties/application.properties file should open up in the editor.
Another way to access the
application.properties file is by locating the
conf directory in the
(visible in the Navigator view), and then double-clicking on the
.properties file you wish to edit.
Via the Martini Runtime Admin UI
To open up the application
.properties file in the Martini Runtime Admin interface,
hover your cursor over the Configuration menu and then select Martini Properties from the sub-menu that appears.
You will be redirected to a page where you can then edit the file in the editor.
Via RESTful API
Martini also provides RESTful endpoints for maintaining application properties. This API allows you to remotely do things such as:
- Retrieve application properties
- Add, remove, or update application properties
- Reload application properties