# How to Set Application Initialization Options

## Background

**Note:** This feature is available in Capstorm application versions 10.56.6 and above.

Capstorm applications allows you to add supplementary Java options. These options serve to dynamically alter the operational parameters of the application prior to its initiation. One frequent utilization, which serves as an example throughout this article, is the facilitation of user-driven control over memory allocation for any of Capstorm’s applications. This capability gives users the control to finely calibrate the memory resources dedicated to the operation of Capstorm’s applications.

## Configuration File Creation and Placement

**Note:** Application must be restarted for these configuration files to be applied.

### **Step 1 – File Creation and initial template setup:**

1. First create a XML file named “AppLoader.xml”

### **Step 2 – File Placement:**

Two recommended placement options:

* Option 1: If you followed CopyStorm’s Best Practice Directory Structure then we recommend placing this configuration file in CapstormConfig directory.
  * [copystorm-directory-structure](/best-practices/copystorm-directory-structure.md)
* Option 2: Inside of one of Capstorm’s application installation directory there should be a directory called “config”. You can also place this configuration file in the “config” directory.

## How to Customize Application Memory

**Note:** For versions older than 10.56.6 please visit: [out-of-memory-java-heap-space-error](/frequently-asked-questions/problems-solutions/out-of-memory-java-heap-space-error.md) on how to configure memory settings.

* Once you have completed “Configuration File Creation and Placement” steps you can simply copy the snippet below into the AppLoader.xml configuration file.
* The example below shows how to set the min and max memory allocations to 300 and 1000 megabytes, respectively.

```
<AppLoader>
	<JavaArgument arg="-Xms300m" />
	<JavaArgument arg="-Xmx1000m" />
</AppLoader>
```

## How to Add Custom Java Properties

The AppLoader also allows for custom Java Properties. Below is an example of setting the HTTPS Protocols to TLSv1.1 and TLSv1.2.

```
<AppLoader>
	<SystemProperty name="https.protocols" value="TLSv1.1,TLSv1.2" />
</AppLoader>
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://learn.capstorm.com/reference/configuration-files/how-to-set-application-initialization-options.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
