From 3ede11e0a63316f8a635d8359ea95f113c4ad13c Mon Sep 17 00:00:00 2001 From: aleigh Date: Sat, 21 May 2022 10:43:59 -0700 Subject: [PATCH] lc-esp-sdk: Added support for constructing ESPAddress from a topic not just a queue --- lc-esp-sdk/src/main/java/lc/esp/sdk/ESPAddress.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lc-esp-sdk/src/main/java/lc/esp/sdk/ESPAddress.java b/lc-esp-sdk/src/main/java/lc/esp/sdk/ESPAddress.java index 3e20e7787..c51b14dc4 100644 --- a/lc-esp-sdk/src/main/java/lc/esp/sdk/ESPAddress.java +++ b/lc-esp-sdk/src/main/java/lc/esp/sdk/ESPAddress.java @@ -4,6 +4,7 @@ import lc.mecha.log.MechaLogger; import lc.mecha.log.MechaLoggerFactory; import lc.mecha.util.StringAccumulatorV2; import org.apache.activemq.command.ActiveMQQueue; +import org.apache.activemq.command.ActiveMQTopic; import javax.jms.Destination; import javax.jms.IllegalStateException; @@ -38,7 +39,15 @@ public class ESPAddress { this.name = path[3]; this.messageClass = ESPMessageClass.val(path[4]); this.addressClass = ESPAddressClass.QUEUE; - logger.trace("q name: {}", q.getQueueName()); + } else if (dst instanceof ActiveMQTopic) { + ActiveMQTopic q = (ActiveMQTopic) dst; + String[] path = q.getTopicName().split("\\."); + this.org = path[0]; + this.domain = path[1]; + this.service = path[2]; + this.name = path[3]; + this.messageClass = ESPMessageClass.val(path[4]); + this.addressClass = ESPAddressClass.TOPIC; } else { throw new IllegalStateException("Unknown destination type."); } -- GitLab