Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. Add a line similar to the following to the data/ignition.conf file but replace the 'XX' with the proper index per the wrapper.java.additional statements. This must be done on both the MQTT Transmission side as well as the MQTT Engine side.

    Code Block
    wrapper.java.additional.XX=--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED


  2. Restart Ignition.
  3. Set 'Alarm Event Enable' in the MQTT Transmission Transmitter configuration to true.
  4. Set up an Alarm Journal in Ignition on the MQTT Engine side.
  5. Set up a tag on the Transmission side with an alarm.
  6. Trigger the alarm
  7. After doing so, you should see something similar to the following in the alarm journal on the MQTT Engine side:

Troubleshooting

If you have not updated the data/ignition.conf file on the Ignition instance(s) running MQTT Transmission and MQTT Engine correctly you will see this error in the Ignition logs from the com.cirruslink.mqtt.common.gateway.agent.alarm.AgentAlarmListener

Code Block
Failed to handle the event
com.inductiveautomation.ignition.common.gson.JsonIOException: Failed making field 'java.util.concurrent.atomic.AtomicReference#value' accessible; either increase its visibility or write a custom TypeAdapter for its declaring type.


Double check that

...

the wrapper.java.additional.XX=--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED syntax has been added to the ignition.conf file wrapper.java.additional statements and indexed correctly on both the MQTT Transmission and MQTT Engine instance

Code Block
#********************************************************************
# Wrapper Java Properties
#********************************************************************
# Java Application
#  Locate the java binary on the system PATH:
#  Specify a specific java binary:
set.JAVA_HOME=lib/runtime/jre-win
wrapper.java.command=%JAVA_HOME%/bin/java

# Tell the Wrapper to log the full generated Java command line.
#wrapper.java.command.loglevel=INFO

# Java Main class.  This class must implement the WrapperListener interface
#  or guarantee that the WrapperManager class is initialized.  Helper
#  classes are provided to do this for you.  See the Integration section
#  of the documentation for details.
wrapper.java.mainclass=org.tanukisoftware.wrapper.WrapperSimpleApp
...
# Java Classpath (include wrapper.jar)  Add class path elements as
#  needed starting from 1
wrapper.java.classpath.1=lib/wrapper.jar
wrapper.java.classpath.2=lib/core/common/*
wrapper.java.classpath.3=lib/core/gateway/*

# Java Library Path (location of Wrapper.DLL or libwrapper.so)
wrapper.java.library.path.1=lib
wrapper.java.library.path.2=lib/core/gateway

# Java Bits.  On applicable platforms, tells the JVM to run in 32 or 64-bit mode.
#wrapper.java.additional.auto_bits=TRUE
wrapper.java.additional.auto_bits.macosx=FALSE

# 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
wrapper.java.additional.7=--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED

# Initial Java Heap Size (in MB)
wrapper.java.initmemory=1024

...


Excerpt Include
CLD80:FAQ: Ignition Modules
CLD80:FAQ: Ignition Modules
nopaneltrue