diff --git a/pom.xml b/pom.xml
index 57a6c6d..3dff388 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,7 +47,7 @@
2.2.8.RELEASE
4.0.3
3.0.2
- Dysprosium-RELEASE
+ 2020.0.6
@@ -190,7 +190,7 @@
io.projectreactor
reactor-test
- 3.3.12.RELEASE
+ 3.4.13
test
diff --git a/src/main/java/org/jetlinks/protocol/official/TopicMessageCodec.java b/src/main/java/org/jetlinks/protocol/official/TopicMessageCodec.java
index e4aec67..ccd3aec 100644
--- a/src/main/java/org/jetlinks/protocol/official/TopicMessageCodec.java
+++ b/src/main/java/org/jetlinks/protocol/official/TopicMessageCodec.java
@@ -297,9 +297,9 @@ public enum TopicMessageCodec {
@SneakyThrows
private MqttRoute.Builder toRoute() {
- String[] topics = new String[1 + pattern.length];
+ String[] topics = new String[pattern.length];
+ System.arraycopy(pattern, 0, topics, 0, pattern.length);
topics[0] = "{productId:产品ID}";
- System.arraycopy(pattern, 0, topics, 1, pattern.length);
topics[1] = "{deviceId:设备ID}";
transMqttTopic(topics);
StringJoiner joiner = new StringJoiner("/", "/", "");
diff --git a/src/test/java/org/jetlinks/protocol/official/JetLinksMqttDeviceMessageCodecTest.java b/src/test/java/org/jetlinks/protocol/official/JetLinksMqttDeviceMessageCodecTest.java
index 6143cdc..7f1235e 100644
--- a/src/test/java/org/jetlinks/protocol/official/JetLinksMqttDeviceMessageCodecTest.java
+++ b/src/test/java/org/jetlinks/protocol/official/JetLinksMqttDeviceMessageCodecTest.java
@@ -395,6 +395,10 @@ public class JetLinksMqttDeviceMessageCodecTest {
}
+ public void testTopic(){
+
+ }
+
public MessageEncodeContext createMessageContext(Message message) {
System.out.println(message.toString());
return new MessageEncodeContext() {
diff --git a/src/test/java/org/jetlinks/protocol/official/TopicMessageCodecTest.java b/src/test/java/org/jetlinks/protocol/official/TopicMessageCodecTest.java
index 3da78ef..e4783df 100644
--- a/src/test/java/org/jetlinks/protocol/official/TopicMessageCodecTest.java
+++ b/src/test/java/org/jetlinks/protocol/official/TopicMessageCodecTest.java
@@ -1,10 +1,12 @@
package org.jetlinks.protocol.official;
import com.fasterxml.jackson.databind.ObjectMapper;
+import org.jetlinks.core.codec.defaults.TopicPayloadCodec;
import org.jetlinks.core.message.ChildDeviceMessage;
import org.jetlinks.core.message.DeviceMessage;
import org.jetlinks.core.message.event.EventMessage;
import org.jetlinks.core.message.property.ReportPropertyMessage;
+import org.jetlinks.core.route.Route;
import org.junit.Test;
import reactor.test.StepVerifier;
@@ -38,6 +40,15 @@ public class TopicMessageCodecTest {
}
+ @Test
+ public void testRoute() {
+ for (TopicMessageCodec value : TopicMessageCodec.values()) {
+ Route route = value.getRoute();
+ if (null != route)
+ System.out.println(route.getAddress());
+ }
+ }
+
@Test
public void doTest() {
testChild(ObjectMappers.JSON_MAPPER);
@@ -58,6 +69,6 @@ public class TopicMessageCodecTest {
DeviceMessage msg = TopicMessageCodec
.decode(ObjectMappers.JSON_MAPPER, payload.getTopic(), payload.getPayload())
.blockLast();
- assertEquals(msg.toJson(),eventMessage.toJson());
+ assertEquals(msg.toJson(), eventMessage.toJson());
}
}
\ No newline at end of file