Message Queues

    This section provides a summary about the configuration of the default message handling solutions. There are two major areas of the application of JMS (ActiveMQ) solutions in Compound Registration:

    1. Queue(s) for the bulk input of the system - the bulk upload feature splits the uploaded file into individual records, which are submitted one-by-one to a queue; the application consumes these messages in the defined order using a specified number of threads.

    2. All the modifications that happen within the system are published regularly as JMS messages - downstream consumers can subscribe to this topic and process the messages later. An example implementation of the downstream consumer is provided that can be easily modified according to local needs.

    Configuration

    The settings of the downstream solution can be altered in two places. The connection related options are exposed in the registry.properties file, while the publishing itself can be enabled via the administration web interface (requires a restart of the application after changing the setting).

    The relevant entries in the registry.properties file: JMS settings

    
    #DOWNSTREAM JMS
    #Real activemq: RegDownstreamJmsBrokerURL=failover:(tcp://localhost:61616)
    #embedded: vm://localhost?broker.persistent=false&broker.useShutdownHook=false&broker.useJmx=false
    #Local JMS broker settings
    RegDownstreamJmsBrokerURL=tcp://0.0.0.0:61616
    RegDownstreamJmsBrokerJmxEnabled=true
    #Where to send ds messages. By default we use vm://localhost which means we use the local JMS broker. 
    RegDownstreamJmsDestinationURL=vm://localhost
    #Destination queue name(s). If you have multiple DS clients, add one for each of them in this format:RegDownstreamJmsDestinationName=REGISTRATION.DS1,REGISTRATION.DS2 and configure the clients to use their dedicated queue  
    RegDownstreamJmsDestinationName=REGISTRATION.DS
    RegDownstreamJmsPersistent=true
    
    #BULKLOADER
    #Number of consumer threads
    BulkloaderConsumerThreads=1

    For further information about the solutions please consult the JMS specifications and/or the documentation of ActiveMQ.

    Since version 21.3.0-2103251330 we separated the configuration of the Downstream ActiveMQ client and our Embedded ActiveMQ Broker Service.

    This enables our clients to use remote ActiveMQ brokers while the embedded broker retained and used by our Bulk Upload feature.

    The default configuration is backward compatible, although if the client added authentication by setting up RegDownstreamJmsUser and RegDownstreamJmsPassword and they want to retain the usage of the embedded broker, they have set up the authentication on the embedded broker too.

    Introduced properties:

    • RegEmbeddedJmsBrokerURL (default: [tcp://0.0.0.0:61616])
    • RegEmbeddedJmsUser (default: null)
    • RegEmbeddedJmsPassword (default: null)