ActiveMQ¶
Overview¶
ActiveMQ is the middleware in charge of handling OMS_UCI messages.
Running ActiveMQ¶
To download ActiveMQ, go to https://activemq.apache.org/components/classic/download/ and select the desired version. Once downloaded, follow the instructions located here: https://activemq.apache.org/getting-started. These instructions describe the steps to run ActiveMQ.
Note
ActiveMQ must be started before the plugin can be used.
Connecting ActiveMQ to a Simulation¶
To connect a simulation to ActiveMQ, a Reference CAL configuration file is required. The CAL configuration file is set using the environment variable CAL_ACTIVEMQ_CONFIG. This file configures all platform and component Universally Unique Identifiers (UUIDs), so the simulation can send messages/commands to the correct platforms, sensors, etc.
Example configuration file:
<?xml version="1.0" encoding="UTF-8"?>
<!--Sample XML file generated by XMLSpy v2012 rel. 2 sp1 (x64) (http://www.altova.com)-->
<RefCppCalConfiguration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ActiveMQBroker>tcp://127.0.0.1:61616</ActiveMQBroker>
<ActiveMQNoEchoMode>1</ActiveMQNoEchoMode>
<ReaderQueueMax>1000</ReaderQueueMax>
<ReaderSleepMicroseconds>1000</ReaderSleepMicroseconds>
<ServiceList>
<Service Name="<disMvr>1:1:1" UUID="CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC">
<System Label="uci" UUID="AA020000-0000-0000-0000-000000000000"/>
<Domain ID="10"/>
</Service>
<Service Name="sense" UUID="CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCD">
<System Label="uci" UUID="AA020000-0000-0000-0000-000000000000"/>
<Domain ID="10"/>
</Service>
</ServiceList>
</RefCppCalConfiguration>
Warning
Every platform that can communicate using UCI must have a corresponding Service block in the ServiceList.