Class EsbBrokerNames

java.lang.Object
com.kingsrook.qqq.esb.management.EsbBrokerNames

public final class EsbBrokerNames extends Object
The broker-side names of queues that brokers make for QQQ - so they can be browsed and managed like any other queue.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final String
    //////////////////////////////////////////////////////////////////
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    subscriptionQueue(EsbProviderType providerType, String topicBrokerName, String subscriptionName)
    The broker-side name of the queue a broker keeps a shared durable topic subscription's messages on - to browse it (EsbMessageBrowser) or manage it (EsbBrokerAdapter) like any other queue: - Artemis: the fully qualified queue name TOPIC::QUEUE, where QUEUE is the subscription name with each backslash and dot escaped by a backslash (e.g., orderEvents::syncOrder\.orderEvents).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • ARTEMIS_FQQN_SEPARATOR

      public static final String ARTEMIS_FQQN_SEPARATOR
      //////////////////////////////////////////////////////////////////
      See Also:
  • Method Details

    • subscriptionQueue

      public static String subscriptionQueue(EsbProviderType providerType, String topicBrokerName, String subscriptionName)
      The broker-side name of the queue a broker keeps a shared durable topic subscription's messages on - to browse it (EsbMessageBrowser) or manage it (EsbBrokerAdapter) like any other queue: - Artemis: the fully qualified queue name TOPIC::QUEUE, where QUEUE is the subscription name with each backslash and dot escaped by a backslash (e.g., orderEvents::syncOrder\.orderEvents). The queue is on the topic's address, and a JMS queue named without its address is taken as a queue on an address of the same name - so browsing needs the full name. - RabbitMQ (JMS client): the subscription name, as is (topicBrokerName isn't used). On both brokers the queue itself is named after the subscription alone, given no JMS client id (the ESB never sets one on its connections; a clientID in an Artemis url would prefix it) - which is why effective subscription names must be unique per provider. Throws IllegalArgumentException without a provider type or subscription name, or, for Artemis, a topic name.