# Ignition.conf Java Additional Parameters recommendations

**URL:** <https://forum.inductiveautomation.com/t/ignition-conf-java-additional-parameters-recommendations/82856>\
**Category:** Ignition\
**Tags:** ignition81\
**Created:** [December 7, 2023, 5:16pm UTC](https://forum.inductiveautomation.com/t/ignition-conf-java-additional-parameters-recommendations/82856 "2023-12-07T17:16:34Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![cesrom](https://avatars.discourse-cdn.com/v4/letter/c/ea666f/32.png) [@cesrom](https://forum.inductiveautomation.com/u/cesrom)\
**Post date:** [December 7, 2023, 5:16pm UTC](https://forum.inductiveautomation.com/t/ignition-conf-java-additional-parameters-recommendations/82856/1 "2023-12-07T17:16:34Z")

</div>

Hello community.

Yesterday I tried to upgrade one of the Gateways I maintain from 8.1.28 to 8.1.35 but the Ignition Service failed to start. After looking at the logs it was clear that a Java Additional Parameter inherited from previous versions was the culprit.

I started looking at all of our Gateways' `ignition.conf` settings and found big differences between them, so I come to ask for recommendations.

Example 1:

```auto
# Java Additional Parameters
wrapper.java.additional.1=-Ddata.dir=data
#wrapper.java.additional.2=-Xdebug
#wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000

```

Example 2:

```auto
# Java Additional Parameters
#wrapper.java.additional.1=-XX:PermSize=64m
#wrapper.java.additional.2=-XX:MaxPermSize=128m
wrapper.java.additional.3=-XX:+UseConcMarkSweepGC
#wrapper.java.additional.4=-XX:+CMSClassUnloadingEnabled
#wrapper.java.additional.5=-XX:+CMSPermGenSweepingEnabled
wrapper.java.additional.6=-Ddata.dir=data
wrapper.java.additional.7=-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false
#wrapper.java.additional.8=-Xdebug
#wrapper.java.additional.9=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000

```

Example 3:

```auto
# Java Additional Parameters
wrapper.java.additional.1=-XX:+UseConcMarkSweepGC
#wrapper.java.additional.2=-XX:+CMSClassUnloadingEnabled
wrapper.java.additional.3=-Ddata.dir=data
wrapper.java.additional.4=-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false
#wrapper.java.additional.5=-Xdebug
#wrapper.java.additional.6=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
wrapper.java.additional.7=-Dedition=

```

In the docs I could only find a suggestion on how to [modify Java Additional Parameters](https://docs.inductiveautomation.com/display/DOC81/Gateway+Configuration+File+Reference#GatewayConfigurationFileReference-ChangingJavaAdditionalParameters).

Would it be possible to make the installer "smart" enough to remove or flag problematic settings?

E.g., `UseConcMarkSweepGC` inherited from Ignition 7.

Apparently one can only have `-Ddata.dir=data` as the only additional parameter, but I am wondering if there are any recommendations from IA.

Thanks.

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [December 7, 2023, 5:18pm UTC](https://forum.inductiveautomation.com/t/ignition-conf-java-additional-parameters-recommendations/82856/2 "2023-12-07T17:18:06Z")

</div>

> [@cesrom](#):
>
> but I am wondering if there are any recommendations from IA.

Look at whatever a fresh install Ignition of 8.1.x does, and do that.

---

<div class="post-metadata">

**Author:** ![cesrom](https://avatars.discourse-cdn.com/v4/letter/c/ea666f/32.png) [@cesrom](https://forum.inductiveautomation.com/u/cesrom)\
**Post date:** [December 7, 2023, 5:18pm UTC](https://forum.inductiveautomation.com/t/ignition-conf-java-additional-parameters-recommendations/82856/3 "2023-12-07T17:18:44Z")

</div>

Here's one taken from the docs.

Add parameters like this:

```auto
wrapper.java.additional. 1 = - Ddata. dir = data
#wrapper.java.additional.2=-Xdebug
#wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000
wrapper.java.additional. 2 = - some.thing = foo
wrapper.java.additional. 3 = - some.other.thing = bar

```

Avoid skipping commented numbers:

```auto
wrapper.java.additional. 1 = - Ddata. dir = data
#wrapper.java.additional.2=-Xdebug
#wrapper.java.additional.3=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000
wrapper.java.additional. 4 = - some.thing = foo

```

---

<div class="post-metadata">

**Author:** ![cesrom](https://avatars.discourse-cdn.com/v4/letter/c/ea666f/32.png) [@cesrom](https://forum.inductiveautomation.com/u/cesrom)\
**Post date:** [December 7, 2023, 5:23pm UTC](https://forum.inductiveautomation.com/t/ignition-conf-java-additional-parameters-recommendations/82856/4 "2023-12-07T17:23:14Z")

</div>

8.1.35's fresh `ignition.conf` looks like this:

```auto
# Java Additional Parameters
wrapper.java.additional.1=-Ddata.dir=data
wrapper.java.additional.2=--add-opens=java.base/java.lang=ALL-UNNAMED
wrapper.java.additional.3=--add-opens=java.base/java.io=ALL-UNNAMED
wrapper.java.additional.4=--add-opens=java.base/java.security.cert=ALL-UNNAMED
wrapper.java.additional.5=--add-opens=java.base/java.util=ALL-UNNAMED
wrapper.java.additional.6=--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED
#wrapper.java.additional.6=-Xdebug
#wrapper.java.additional.7=-Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:8000

```

---

<div class="post-metadata">

**Author:** ![Kevin.Herron](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/kevin.herron/32/7259_2.png) [@Kevin.Herron](https://forum.inductiveautomation.com/u/Kevin.Herron)\
**Post date:** [December 7, 2023, 5:25pm UTC](https://forum.inductiveautomation.com/t/ignition-conf-java-additional-parameters-recommendations/82856/5 "2023-12-07T17:25:12Z")

</div>

There must be some kind of upgrade logic in the installer, because those params became necessary starting with 8.1.33 when we upgraded to JDK 17.

I wouldn't be surprised if it can't handle all the permutations of all the old or custom parameters it might encounter.

You certainly don't need these any more in Ignition 8:

- `-XX:+UseConcMarkSweepGC`
- `-Dorg.apache.catalina.loader.WebappClassLoader.ENABLE_CLEAR_REFERENCES=false`

or anything that's commented out, really.
