diff --git a/application/pom.xml b/application/pom.xml index d7b560189e..bc0856beb1 100644 --- a/application/pom.xml +++ b/application/pom.xml @@ -41,6 +41,10 @@ + + de.ruedigermoeller + fst + io.netty netty-transport-native-epoll diff --git a/application/src/main/java/org/thingsboard/server/service/encoding/ProtoWithJavaSerializationDecodingEncodingService.java b/application/src/main/java/org/thingsboard/server/service/encoding/ProtoWithFSTService.java similarity index 86% rename from application/src/main/java/org/thingsboard/server/service/encoding/ProtoWithJavaSerializationDecodingEncodingService.java rename to application/src/main/java/org/thingsboard/server/service/encoding/ProtoWithFSTService.java index 2cf9299743..92235cb7cd 100644 --- a/application/src/main/java/org/thingsboard/server/service/encoding/ProtoWithJavaSerializationDecodingEncodingService.java +++ b/application/src/main/java/org/thingsboard/server/service/encoding/ProtoWithFSTService.java @@ -17,8 +17,8 @@ package org.thingsboard.server.service.encoding; import com.google.protobuf.ByteString; import lombok.extern.slf4j.Slf4j; +import org.nustaq.serialization.FSTConfiguration; import org.springframework.stereotype.Service; -import org.springframework.util.SerializationUtils; import org.thingsboard.server.common.msg.TbActorMsg; import org.thingsboard.server.common.msg.cluster.ServerAddress; import org.thingsboard.server.gen.cluster.ClusterAPIProtos; @@ -30,13 +30,14 @@ import static org.thingsboard.server.gen.cluster.ClusterAPIProtos.MessageType.CL @Slf4j @Service -public class ProtoWithJavaSerializationDecodingEncodingService implements DataDecodingEncodingService { +public class ProtoWithFSTService implements DataDecodingEncodingService { + private final FSTConfiguration config = FSTConfiguration.createDefaultConfiguration(); @Override public Optional decode(byte[] byteArray) { try { - TbActorMsg msg = (TbActorMsg) SerializationUtils.deserialize(byteArray); + TbActorMsg msg = (TbActorMsg) config.asObject(byteArray); return Optional.of(msg); } catch (IllegalArgumentException e) { @@ -47,7 +48,7 @@ public class ProtoWithJavaSerializationDecodingEncodingService implements DataDe @Override public byte[] encode(TbActorMsg msq) { - return SerializationUtils.serialize(msq); + return config.asByteArray(msq); } @Override diff --git a/pom.xml b/pom.xml index 2cf62185b1..a4de43b616 100755 --- a/pom.xml +++ b/pom.xml @@ -84,6 +84,7 @@ 0.1.14 2.0.0 4.1.1 + 2.57 @@ -789,6 +790,11 @@ bucket4j-core ${bucket4j.version} + + de.ruedigermoeller + fst + ${fst.version} + io.springfox.ui springfox-swagger-ui-rfc6570