修复topic 路由错误

This commit is contained in:
zhouhao 2022-03-27 11:58:19 +08:00
parent d344dba0f1
commit 8b2e692868
4 changed files with 20 additions and 5 deletions

View File

@ -47,7 +47,7 @@
<spring.boot.version>2.2.8.RELEASE</spring.boot.version>
<hsweb.framework.version>4.0.3</hsweb.framework.version>
<hsweb.expands.version>3.0.2</hsweb.expands.version>
<reactor.version>Dysprosium-RELEASE</reactor.version>
<reactor.version>2020.0.6</reactor.version>
</properties>
<profiles>
@ -190,7 +190,7 @@
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<version>3.3.12.RELEASE</version>
<version>3.4.13</version>
<scope>test</scope>
</dependency>

View File

@ -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("/", "/", "");

View File

@ -395,6 +395,10 @@ public class JetLinksMqttDeviceMessageCodecTest {
}
public void testTopic(){
}
public MessageEncodeContext createMessageContext(Message message) {
System.out.println(message.toString());
return new MessageEncodeContext() {

View File

@ -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());
}
}