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 |
|
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.
Recommended Mounting and Editable Files
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.