diff --git a/jetlinks-components/common-component/pom.xml b/jetlinks-components/common-component/pom.xml index 40a707c0..4111a724 100644 --- a/jetlinks-components/common-component/pom.xml +++ b/jetlinks-components/common-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/jetlinks-components/common-component/src/main/java/org/jetlinks/community/configuration/CommonConfiguration.java b/jetlinks-components/common-component/src/main/java/org/jetlinks/community/configuration/CommonConfiguration.java index 31ff6040..2b34dfb9 100644 --- a/jetlinks-components/common-component/src/main/java/org/jetlinks/community/configuration/CommonConfiguration.java +++ b/jetlinks-components/common-component/src/main/java/org/jetlinks/community/configuration/CommonConfiguration.java @@ -6,6 +6,7 @@ import io.netty.buffer.Unpooled; import org.apache.commons.beanutils.BeanUtilsBean; import org.apache.commons.beanutils.Converter; import org.springframework.context.annotation.Configuration; +import org.springframework.http.MediaType; @Configuration public class CommonConfiguration { @@ -26,6 +27,14 @@ public class CommonConfiguration { return convert(aClass, JSON.toJSONBytes(o)); } }, ByteBuf.class); + + BeanUtilsBean.getInstance().getConvertUtils().register(new Converter() { + @Override + public T convert(Class aClass, Object o) { + return (T) MediaType.valueOf(String.valueOf(o)); + } + }, MediaType.class); + } } diff --git a/jetlinks-components/dashboard-component/pom.xml b/jetlinks-components/dashboard-component/pom.xml index 7689d18f..d0899014 100644 --- a/jetlinks-components/dashboard-component/pom.xml +++ b/jetlinks-components/dashboard-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/jetlinks-components/elasticsearch-component/pom.xml b/jetlinks-components/elasticsearch-component/pom.xml index 283092da..96a9aa39 100644 --- a/jetlinks-components/elasticsearch-component/pom.xml +++ b/jetlinks-components/elasticsearch-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-components/gateway-component/pom.xml b/jetlinks-components/gateway-component/pom.xml index 00809750..9f70469f 100644 --- a/jetlinks-components/gateway-component/pom.xml +++ b/jetlinks-components/gateway-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/jetlinks-components/io-component/pom.xml b/jetlinks-components/io-component/pom.xml index 0ede7222..ae366821 100644 --- a/jetlinks-components/io-component/pom.xml +++ b/jetlinks-components/io-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/jetlinks-components/logging-component/pom.xml b/jetlinks-components/logging-component/pom.xml index a9376024..b201f828 100644 --- a/jetlinks-components/logging-component/pom.xml +++ b/jetlinks-components/logging-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-components/network-component/mqtt-component/pom.xml b/jetlinks-components/network-component/mqtt-component/pom.xml index 82f5eff9..7e7f932d 100644 --- a/jetlinks-components/network-component/mqtt-component/pom.xml +++ b/jetlinks-components/network-component/mqtt-component/pom.xml @@ -5,7 +5,7 @@ network-component org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-components/network-component/network-core/pom.xml b/jetlinks-components/network-component/network-core/pom.xml index 44e7dec1..ece545d3 100644 --- a/jetlinks-components/network-component/network-core/pom.xml +++ b/jetlinks-components/network-component/network-core/pom.xml @@ -5,7 +5,7 @@ network-component org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-components/network-component/pom.xml b/jetlinks-components/network-component/pom.xml index 6141b48c..1d0f8756 100644 --- a/jetlinks-components/network-component/pom.xml +++ b/jetlinks-components/network-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml pom diff --git a/jetlinks-components/network-component/tcp-component/pom.xml b/jetlinks-components/network-component/tcp-component/pom.xml index 0e90ef6d..6aa7c2c5 100644 --- a/jetlinks-components/network-component/tcp-component/pom.xml +++ b/jetlinks-components/network-component/tcp-component/pom.xml @@ -5,7 +5,7 @@ network-component org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-components/network-component/tcp-component/src/main/java/org/jetlinks/community/network/tcp/server/VertxTcpServer.java b/jetlinks-components/network-component/tcp-component/src/main/java/org/jetlinks/community/network/tcp/server/VertxTcpServer.java index 62a61163..e18ba030 100644 --- a/jetlinks-components/network-component/tcp-component/src/main/java/org/jetlinks/community/network/tcp/server/VertxTcpServer.java +++ b/jetlinks-components/network-component/tcp-component/src/main/java/org/jetlinks/community/network/tcp/server/VertxTcpServer.java @@ -7,11 +7,16 @@ import lombok.Setter; import lombok.extern.slf4j.Slf4j; import org.jetlinks.community.network.DefaultNetworkType; import org.jetlinks.community.network.NetworkType; +import org.jetlinks.community.network.tcp.client.TcpClient; import org.jetlinks.community.network.tcp.client.VertxTcpClient; import org.jetlinks.community.network.tcp.parser.PayloadParser; +import reactor.core.publisher.EmitterProcessor; +import reactor.core.publisher.Flux; +import reactor.core.publisher.FluxSink; import java.time.Duration; import java.util.Collection; +import java.util.function.Function; import java.util.function.Supplier; /** @@ -19,7 +24,7 @@ import java.util.function.Supplier; * @since 1.0 **/ @Slf4j -public class VertxTcpServer extends AbstractTcpServer implements TcpServer { +public class VertxTcpServer implements TcpServer { Collection tcpServers; @@ -29,12 +34,22 @@ public class VertxTcpServer extends AbstractTcpServer implements TcpServer { private long keepAliveTimeout = Duration.ofMinutes(10).toMillis(); @Getter - private String id; + private final String id; + + private final EmitterProcessor processor = EmitterProcessor.create(false); + + private final FluxSink sink = processor.sink(FluxSink.OverflowStrategy.BUFFER); public VertxTcpServer(String id) { this.id = id; } + @Override + public Flux handleConnection() { + return processor + .map(Function.identity()); + } + private void execute(Runnable runnable) { try { runnable.run(); @@ -61,6 +76,11 @@ public class VertxTcpServer extends AbstractTcpServer implements TcpServer { protected void acceptTcpConnection(NetSocket socket) { + if (!processor.hasDownstreams()) { + log.warn("not handler for tcp client[{}]", socket.remoteAddress()); + socket.close(); + return; + } VertxTcpClient client = new VertxTcpClient(id + "_" + socket.remoteAddress()); client.setKeepAliveTimeoutMs(keepAliveTimeout); try { @@ -72,7 +92,7 @@ public class VertxTcpServer extends AbstractTcpServer implements TcpServer { }); client.setRecordParser(parserSupplier.get()); client.setSocket(socket); - received(client); + sink.next(client); log.debug("accept tcp client [{}] connection", socket.remoteAddress()); } catch (Exception e) { log.error("create tcp server client error", e); diff --git a/jetlinks-components/notify-component/notify-core/pom.xml b/jetlinks-components/notify-component/notify-core/pom.xml index b9e8ee1c..a9e7127a 100644 --- a/jetlinks-components/notify-component/notify-core/pom.xml +++ b/jetlinks-components/notify-component/notify-core/pom.xml @@ -5,7 +5,7 @@ notify-component org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/jetlinks-components/notify-component/notify-dingtalk/pom.xml b/jetlinks-components/notify-component/notify-dingtalk/pom.xml index 8640c619..7a1c3929 100644 --- a/jetlinks-components/notify-component/notify-dingtalk/pom.xml +++ b/jetlinks-components/notify-component/notify-dingtalk/pom.xml @@ -5,7 +5,7 @@ notify-component org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/jetlinks-components/notify-component/notify-email/pom.xml b/jetlinks-components/notify-component/notify-email/pom.xml index 14cecf0d..2f2386c6 100644 --- a/jetlinks-components/notify-component/notify-email/pom.xml +++ b/jetlinks-components/notify-component/notify-email/pom.xml @@ -5,7 +5,7 @@ notify-component org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/jetlinks-components/notify-component/notify-sms/pom.xml b/jetlinks-components/notify-component/notify-sms/pom.xml index 5fa50686..02ffeaa9 100644 --- a/jetlinks-components/notify-component/notify-sms/pom.xml +++ b/jetlinks-components/notify-component/notify-sms/pom.xml @@ -5,7 +5,7 @@ notify-component org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/jetlinks-components/notify-component/notify-voice/pom.xml b/jetlinks-components/notify-component/notify-voice/pom.xml index 16b0049c..b1a1f1c9 100644 --- a/jetlinks-components/notify-component/notify-voice/pom.xml +++ b/jetlinks-components/notify-component/notify-voice/pom.xml @@ -5,7 +5,7 @@ notify-component org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-components/notify-component/notify-wechat/pom.xml b/jetlinks-components/notify-component/notify-wechat/pom.xml index 41078e63..66d74ed7 100644 --- a/jetlinks-components/notify-component/notify-wechat/pom.xml +++ b/jetlinks-components/notify-component/notify-wechat/pom.xml @@ -5,7 +5,7 @@ notify-component org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT 4.0.0 diff --git a/jetlinks-components/notify-component/pom.xml b/jetlinks-components/notify-component/pom.xml index 2853393e..2aa8e3e8 100644 --- a/jetlinks-components/notify-component/pom.xml +++ b/jetlinks-components/notify-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-components/pom.xml b/jetlinks-components/pom.xml index b60f4ca1..1b5efe2b 100644 --- a/jetlinks-components/pom.xml +++ b/jetlinks-components/pom.xml @@ -5,7 +5,7 @@ jetlinks-community org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-components/rule-engine-component/pom.xml b/jetlinks-components/rule-engine-component/pom.xml index a30f9584..d35f24a7 100644 --- a/jetlinks-components/rule-engine-component/pom.xml +++ b/jetlinks-components/rule-engine-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-components/timeseries-component/pom.xml b/jetlinks-components/timeseries-component/pom.xml index 4cf231df..924996d8 100644 --- a/jetlinks-components/timeseries-component/pom.xml +++ b/jetlinks-components/timeseries-component/pom.xml @@ -5,7 +5,7 @@ jetlinks-components org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/jetlinks-manager/authentication-manager/pom.xml b/jetlinks-manager/authentication-manager/pom.xml index 64e605ff..1ce1e7ac 100644 --- a/jetlinks-manager/authentication-manager/pom.xml +++ b/jetlinks-manager/authentication-manager/pom.xml @@ -7,7 +7,7 @@ org.jetlinks.community jetlinks-manager - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml authentication-manager diff --git a/jetlinks-manager/device-manager/pom.xml b/jetlinks-manager/device-manager/pom.xml index 519602a6..966b1abc 100644 --- a/jetlinks-manager/device-manager/pom.xml +++ b/jetlinks-manager/device-manager/pom.xml @@ -7,7 +7,7 @@ org.jetlinks.community jetlinks-manager - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml device-manager diff --git a/jetlinks-manager/logging-manager/pom.xml b/jetlinks-manager/logging-manager/pom.xml index 6ee51733..ed15ab3d 100644 --- a/jetlinks-manager/logging-manager/pom.xml +++ b/jetlinks-manager/logging-manager/pom.xml @@ -7,7 +7,7 @@ org.jetlinks.community jetlinks-manager - 1.2.0 + 1.3.0-SNAPSHOT logging-manager diff --git a/jetlinks-manager/network-manager/pom.xml b/jetlinks-manager/network-manager/pom.xml index b383f784..004be385 100644 --- a/jetlinks-manager/network-manager/pom.xml +++ b/jetlinks-manager/network-manager/pom.xml @@ -7,7 +7,7 @@ org.jetlinks.community jetlinks-manager - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml network-manager diff --git a/jetlinks-manager/notify-manager/pom.xml b/jetlinks-manager/notify-manager/pom.xml index 4024a7e2..cd74c050 100644 --- a/jetlinks-manager/notify-manager/pom.xml +++ b/jetlinks-manager/notify-manager/pom.xml @@ -7,7 +7,7 @@ org.jetlinks.community jetlinks-manager - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml notify-manager diff --git a/jetlinks-manager/pom.xml b/jetlinks-manager/pom.xml index 2bc4630e..4553c7ea 100644 --- a/jetlinks-manager/pom.xml +++ b/jetlinks-manager/pom.xml @@ -5,7 +5,7 @@ jetlinks-community org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT pom 4.0.0 diff --git a/jetlinks-manager/rule-engine-manager/pom.xml b/jetlinks-manager/rule-engine-manager/pom.xml index 9f25c329..83133109 100644 --- a/jetlinks-manager/rule-engine-manager/pom.xml +++ b/jetlinks-manager/rule-engine-manager/pom.xml @@ -7,7 +7,7 @@ org.jetlinks.community jetlinks-manager - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml rule-engine-manager diff --git a/jetlinks-manager/visualization-manager/pom.xml b/jetlinks-manager/visualization-manager/pom.xml index b9262981..ac6bdcae 100644 --- a/jetlinks-manager/visualization-manager/pom.xml +++ b/jetlinks-manager/visualization-manager/pom.xml @@ -7,7 +7,7 @@ org.jetlinks.community jetlinks-manager - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml visualization-manager diff --git a/jetlinks-standalone/pom.xml b/jetlinks-standalone/pom.xml index b50473b9..90233155 100644 --- a/jetlinks-standalone/pom.xml +++ b/jetlinks-standalone/pom.xml @@ -5,7 +5,7 @@ jetlinks-community org.jetlinks.community - 1.2.0 + 1.3.0-SNAPSHOT ../pom.xml 4.0.0 diff --git a/pom.xml b/pom.xml index 02a1b759..6c33e14a 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ org.jetlinks.community jetlinks-community - 1.2.0 + 1.3.0-SNAPSHOT jetlinks-components jetlinks-manager @@ -22,7 +22,7 @@ 4.0.3 4.0.3 3.0.2 - 1.0.3 + 1.0.4-SNAPSHOT Arabba-SR3 3.8.5 4.1.46.Final