Versions Compared

Key

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

The YOUnite API server (API), YOUnite Adaptorsadaptors, and YOUnite UI communicate with each other using JMS. JMS messages are sent via the message brokerMessage Broker.

Use the following steps to configure the JMS communication:

  1. Update the docker-compose files so that ACTIVE_MQ_URI  uses URI uses the SSL connector as follows:

    ACTIVE_MQ_URI=nio+ssl://openmdm-amq:61617
    * If
    If you are running the API outside of Docker, then update the properties file (application.properties) to use the above mentioned uri for the property called activemq.broker.uriuri property using the above mentioned URI.

  2. Add the broker certificate to the trust store for the API as follows:

    keytool -import-alias broker -keystore client.ts -file broker_cert

    Since the only purpose of this certificate is to support SSL/TLS, we are not using a certificate signed by a CA.

  3. Update the ENTRYPOINT in the Dockerfile to include the path to the trustStore as follows:

    -Djavax.net.ssl.trustStore=/opt/certs/client.ts

    If you are running the API outside of Docker, then update the command line to include the path to the trustStore as mentioned aboveadd the above to the command line.

Naming Convention for Message Queues and Topics

  1. Names are of the form: <producer><consumer>-<Type>-[UUID]
  2. Producer and consumer can be either adaptor or router:
    1. The letter 'A' is used to denote Adaptor
    2. The letter 'R' is used for Router
  3. Type can be either:
    1. Data: For sending messages of type data or errors that are related to the data exchange.
    2. Ops: For sending operational messages like State information.
  4. UUID is used to identify the consumer of the messages, and is left blank if there is only a single instance of the consumer as in case of router. For example, if the consumer is adaptor, then the UUID for that adaptor is used. For a topic that may have multiple consumers the UUID field is used to specify the scope or zone subtree that consumers may belong to. Topics intended for all use the UUID of "root".

Queue and Topic Names

Using the conventions above, the following list describes the topics and queues used by the YOUnite MDM:

  • RA-Ops-root: Topic for communicating operational messages, for which the producer is the router and consumers are all the adaptors in the subtree below root (which is the entire tree).
  • RA-Data-UUID: Queue for communicating data and data related errors from the router to an adaptor uniquely identified by its UUID.
  • AR-Data: Queue for communicating data and data related errors from an adaptor to the router.
  • AR-Ops: Queue for communicating operational messages from and adaptor to the router.