Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Next »

The YOUnite API server, YOUnite Adaptors, and YOUnite UI communicate with each other using JMS. JMS messages are sent via the message broker. Use the following steps to configure the JMS communication:

  1. Update the docker-compose files so that ACTIVE_MQ_URI  uses the SSL connector as follows:
    ACTIVE_MQ_URI=nio+ssl://openmdm-amq:61617
    * 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.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 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 above.


Naming convention for message Queues and Topics

  1. Names are of the form: <producer><consumer>-<Type>-<Id>
  2. Letter 'A' is used to denote Adaptor and letter 'R' is used for Router.
  3. Type can be:
    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. Id 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 the Id. For a topic that may have multiple consumers the Id field is used to specify the scope or zone subtree that consumers may belong to. Topics intended for all use the Id of "root".
    For example:
    1. RA-Ops-root: Topic for communicating operational messages, for which the producer is Router and consumers are all the Adaptors in the subtree below root (which is the entire tree)
    2. RA-Data-Uuid: Queue for communicating data and data related errors from Router to Adaptor which is uniquely identified using the Uuid.
    3. AR-Data: Queue for communicating data and data related errors from Adaptor to Router.
    4. AR-Ops: Queue for communicating operational messages from Adaptor to Router.
  • No labels