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

View File

@ -297,9 +297,9 @@ public enum TopicMessageCodec {
@SneakyThrows @SneakyThrows
private MqttRoute.Builder toRoute() { 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}"; topics[0] = "{productId:产品ID}";
System.arraycopy(pattern, 0, topics, 1, pattern.length);
topics[1] = "{deviceId:设备ID}"; topics[1] = "{deviceId:设备ID}";
transMqttTopic(topics); transMqttTopic(topics);
StringJoiner joiner = new StringJoiner("/", "/", ""); StringJoiner joiner = new StringJoiner("/", "/", "");

View File

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

View File

@ -1,10 +1,12 @@
package org.jetlinks.protocol.official; package org.jetlinks.protocol.official;
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.ObjectMapper;
import org.jetlinks.core.codec.defaults.TopicPayloadCodec;
import org.jetlinks.core.message.ChildDeviceMessage; import org.jetlinks.core.message.ChildDeviceMessage;
import org.jetlinks.core.message.DeviceMessage; import org.jetlinks.core.message.DeviceMessage;
import org.jetlinks.core.message.event.EventMessage; import org.jetlinks.core.message.event.EventMessage;
import org.jetlinks.core.message.property.ReportPropertyMessage; import org.jetlinks.core.message.property.ReportPropertyMessage;
import org.jetlinks.core.route.Route;
import org.junit.Test; import org.junit.Test;
import reactor.test.StepVerifier; 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 @Test
public void doTest() { public void doTest() {
testChild(ObjectMappers.JSON_MAPPER); testChild(ObjectMappers.JSON_MAPPER);
@ -58,6 +69,6 @@ public class TopicMessageCodecTest {
DeviceMessage msg = TopicMessageCodec DeviceMessage msg = TopicMessageCodec
.decode(ObjectMappers.JSON_MAPPER, payload.getTopic(), payload.getPayload()) .decode(ObjectMappers.JSON_MAPPER, payload.getTopic(), payload.getPayload())
.blockLast(); .blockLast();
assertEquals(msg.toJson(),eventMessage.toJson()); assertEquals(msg.toJson(), eventMessage.toJson());
} }
} }