Skip to content

Martini Server Runtime File System

Understanding the file system structure of your Martini Server Runtime installation is crucial for effective management and configuration. Below is a diagram illustrating the folder structure:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
Martini Server Runtime
├── bin
├── conf
│   ├── application.properties
│   ├── broker
│   ├── cache
│   ├── ceji
│   ├── db-pool
│   ├── gloopPlugins.properties
│   ├── log4j2.template
│   ├── overrides
│   ├── package.xml
│   └── solr
├── core
├── data
│   ├── hsql
│   ├── indexes
│   ├── jms
│   ├── queries
│   ├── tracker
│   └── transaction-logs
├── lib
├── logs
├── Martini-Runtime
├── Martini-Runtime.vmoptions
├── tmp
├── uninstall
└── web
    ├── api-explorer
    ├── favicon.ico
    ├── favicon_old.ico
    └── WEB-INF

Folder Overview

bin

The bin folder contains executable scripts essential for starting and stopping the Martini Server Runtime, along with the Martini CLI tool.

conf

The conf folder holds configuration files that dictate the server's operation. Key files and subfolders include application.properties for default application settings, db-pool for database connections, broker for JMS message broker connections, and overrides for all custom application settings.

core

In the core folder, you will find the core configuration files necessary for the server's functionality.

data

The data folder contains the data storage for Martini's embedded databases and message brokers. These are typically used for development purposes or small production deployments. The hsq folder is designated for the embedded HSQLDB (HyperSQL Database), which is a lightweight relational database. The jms folder holds data for the embedded ActiveMQ Classic JMS message broker, facilitating messaging between components. Additionally, the tracker folder contains data for the embedded Nitrite NoSQL database, which is utilized for the Tracker transaction log.

Note: Martini will create file locks on these files if in use, making them unsuitable for load-balanced environments. It is recommended to use external databases and message brokers for production deployments.

lib

The lib folder contains the third-party libraries used by Martini. These libraries are essential for the functionality of the Martini Server Runtime and support various features and integrations within the platform.

logs

The logs folder is where the application logs will be written. This folder provides important insights into the operation of the Martini Server Runtime, including error messages, warnings, and other significant events that occur during runtime. Monitoring these logs is crucial for troubleshooting and maintaining the health of your applications.

Martini-Runtime

The Martini-Runtime file contains a startup script that is used to initiate the Martini Server Runtime. This script is essential for launching the application and ensuring that it runs with the appropriate configurations. It sets up the environment and manages the execution of the Martini Server Runtime, making it a crucial component for starting your server.

Martini-Runtime.vmoptions

The Martini-Runtime.vmoptions file contains the memory settings for the Java Virtual Machine (JVM) used by the Martini Server Runtime. These settings define how much memory the JVM should allocate for its operation, influencing the performance and resource utilization of the application. The values specified in this file will be applied unless overridden by parameters specified in a Docker start command, allowing for flexibility in configuring the memory allocation based on deployment needs.

uninstall

The uninstall script provides a method to remove the Martini Server Runtime from your system.

web

The web folder is used to serve files under the web context of the application server. This includes the api-explorer, which is the web-based user interface for exploring the APIs available on your Martini instance. It allows developers to easily test and interact with the APIs configured within the environment.

For a standalone instance of Martini Server Runtime, mount the following folders:

  • /logs
  • /data
  • /conf/db-pool
  • /conf/overrides

Where multiple instances of Martini Server Runtime are running in the same environment with a shared configuration, mount the following folders only:

  • /logs
  • /conf/db-pool
  • /conf/overrides

Note: The /data folder contains files related to Martini's embedded databases and message queues. It is not recommended to use these embedded databases and message queues for larger production environments or where two or more Martini Server Runtime instances are running. Martini Server Runtime creates locks on these files, and as such, the /data folder should not be mounted where two or more instances would be sharing the same folder.

Editable Files

You can edit the following files to customize your Martini Server Runtime configuration:

  • Database Connection Files: Each database connection has an associated dbxml file located in the /conf/db-pool folder. You can edit these files to adjust the settings for your database connections.

  • Overrides Folder: Any files within the /conf/overrides folder can be modified to customize application behavior.

Note: It is important to make any changes to the application.properties in the /conf/overrides/overrides.properties file. This practice preserves the integrity of the original application.properties and ensures that your changes are not overwritten during upgrades of the Martini Server Runtime.