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 3e20e7787081555550ca1433a58691b6f8648130..c51b14dc4d53826b3c570e837dbe5bdec28b9d17 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."); }