Skip to content

Home

Introduction

Development

IDEs

Services

API Explorer

Releases

Release notes

Martini Runtime

Martini Desktop

Martini Online

Feature requests

Bug reports

Directory structure

Martini's files and directories are arranged in a certain way to allow for convenient upgrades1, seamless data management and transfer, and easy location, extraction, and configuration of application behavior. For example:

  • Retaining Martini packages through upgrades2
  • Making Solr schema and data files accessible; handy when moving embedded Solr search engine data to a remote or cloud instance
  • Performing configuration changes based on a profile

As with most software, Martini's application files are generated during installation. Seen below is Martini's hierarchy of application files and folders:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<application-home>
├── bin
├── conf
   └── properties
      └── application.properties
   └── broker
   └── ceji
   └── db-pool
├── core
├── data
   └── geoip
   └── hsql
   └── jms
   └── solr
   └── src-index
   └── transaction-logs
├── lib
   └── ext
├── logs
├── packages
├── solr
├── tmp
└── web

The table below lists the directories above their purpose:

Directory Content and Purpose
bin Scripts, batch files, and shortcuts for starting, stopping, and restarting Martini. This directory also contains the CLI tool.
conf The package.xml file for configuring the core package; the log4j.properties file for configuring application logging; and also contains the Groovy file used by Martini for customizing the Groovy compiler's behavior.
conf/broker XML files for configuring the broker.
conf/ceji Text files comprised of messages or responses used by Martini CEJI.
conf/db-pool38 XML files that contain database connection pool configuration information.
conf/properties .properties files used to configure Martini.
core Martini's Spring configuration files.
data .properties files for setting remote server configuration and overriding default Martini properties.
data/geoip3 Files used by the Tracker to add geolocation data to Tracker documents.
data/hsql3 Files used by the embedded Hypersonic databases.4
data/jms3 Files used by the embedded ActiveMQ message broker.5
data/solr3 Search indices used by the embedded Solr search engine.6
data/src-index3 Search index files used by Martini for code refactoring and searching.
data/transaction-logs3 Files used by Martini to ensure transactions are executed successfully.
lib JAR files used by Martini.
lib/ext Directory where additional JAR files can be placed so that they will be loaded by Martini.
logs Log files generated by Martini.
packages Contains Martini package directories7, each of which holds package-specific code, data, and configuration. Can be changed via the packages.home application property.
solr Configuration files for Tracker, API monetization, and API throttling.
tmp Directory used by the embedded Tomcat web server to store temporary files.
web Web pages and assets used by the web interface (Martini Runtime Admin UI) of Martini.

Upgrading Martini

If you plan on upgrading an instance of Martini, you should at a minimum copy the following files and directories before overwriting, or migrating to a new installation in order to keep existing configuration, data, and applications.

  • conf/*
  • data/*
  • packages/*
  • lib/ext/*

  1. See installation and deployment instructions

  2. Moving from one version of Martini to another; for example, from v1.0 to v1.1 whilst retaining data. 

  3. Does not appear on a fresh installation of Martini; not created until Martini's first start-up. 

  4. Martini uses HSQL for its core databases by default; for production-use, it is recommended to migrate to a better and more stable database engine. 

  5. See also Martini and ActiveMQ

  6. Martini uses Solr in custom search indices, the Monitor search index, and the Tracker search index

  7. Folders named after registered Martini packages. 

  8. Previously named jdbc-pool in TORO Integrate v3.2.x but renamed to db-pool in Martini v1.0. If the old directory name is still being used, Martini will automatically migrate jdbc-pool to the new directory upon instance start-up.