Merge pull request #1394 from janbols/fst
Use a fast serialization library like FST for serialization of TbActo…
This commit is contained in:
commit
b1849e98f7
@ -41,6 +41,10 @@
|
|||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>de.ruedigermoeller</groupId>
|
||||||
|
<artifactId>fst</artifactId>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.netty</groupId>
|
<groupId>io.netty</groupId>
|
||||||
<artifactId>netty-transport-native-epoll</artifactId>
|
<artifactId>netty-transport-native-epoll</artifactId>
|
||||||
|
|||||||
@ -17,8 +17,8 @@ package org.thingsboard.server.service.encoding;
|
|||||||
|
|
||||||
import com.google.protobuf.ByteString;
|
import com.google.protobuf.ByteString;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.nustaq.serialization.FSTConfiguration;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.util.SerializationUtils;
|
|
||||||
import org.thingsboard.server.common.msg.TbActorMsg;
|
import org.thingsboard.server.common.msg.TbActorMsg;
|
||||||
import org.thingsboard.server.common.msg.cluster.ServerAddress;
|
import org.thingsboard.server.common.msg.cluster.ServerAddress;
|
||||||
import org.thingsboard.server.gen.cluster.ClusterAPIProtos;
|
import org.thingsboard.server.gen.cluster.ClusterAPIProtos;
|
||||||
@ -30,13 +30,14 @@ import static org.thingsboard.server.gen.cluster.ClusterAPIProtos.MessageType.CL
|
|||||||
|
|
||||||
@Slf4j
|
@Slf4j
|
||||||
@Service
|
@Service
|
||||||
public class ProtoWithJavaSerializationDecodingEncodingService implements DataDecodingEncodingService {
|
public class ProtoWithFSTService implements DataDecodingEncodingService {
|
||||||
|
|
||||||
|
|
||||||
|
private final FSTConfiguration config = FSTConfiguration.createDefaultConfiguration();
|
||||||
@Override
|
@Override
|
||||||
public Optional<TbActorMsg> decode(byte[] byteArray) {
|
public Optional<TbActorMsg> decode(byte[] byteArray) {
|
||||||
try {
|
try {
|
||||||
TbActorMsg msg = (TbActorMsg) SerializationUtils.deserialize(byteArray);
|
TbActorMsg msg = (TbActorMsg) config.asObject(byteArray);
|
||||||
return Optional.of(msg);
|
return Optional.of(msg);
|
||||||
|
|
||||||
} catch (IllegalArgumentException e) {
|
} catch (IllegalArgumentException e) {
|
||||||
@ -47,7 +48,7 @@ public class ProtoWithJavaSerializationDecodingEncodingService implements DataDe
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public byte[] encode(TbActorMsg msq) {
|
public byte[] encode(TbActorMsg msq) {
|
||||||
return SerializationUtils.serialize(msq);
|
return config.asByteArray(msq);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
6
pom.xml
6
pom.xml
@ -84,6 +84,7 @@
|
|||||||
<delight-nashorn-sandbox.version>0.1.14</delight-nashorn-sandbox.version>
|
<delight-nashorn-sandbox.version>0.1.14</delight-nashorn-sandbox.version>
|
||||||
<kafka.version>2.0.0</kafka.version>
|
<kafka.version>2.0.0</kafka.version>
|
||||||
<bucket4j.version>4.1.1</bucket4j.version>
|
<bucket4j.version>4.1.1</bucket4j.version>
|
||||||
|
<fst.version>2.57</fst.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
<modules>
|
<modules>
|
||||||
@ -789,6 +790,11 @@
|
|||||||
<artifactId>bucket4j-core</artifactId>
|
<artifactId>bucket4j-core</artifactId>
|
||||||
<version>${bucket4j.version}</version>
|
<version>${bucket4j.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>de.ruedigermoeller</groupId>
|
||||||
|
<artifactId>fst</artifactId>
|
||||||
|
<version>${fst.version}</version>
|
||||||
|
</dependency>
|
||||||
<dependency>
|
<dependency>
|
||||||
<groupId>io.springfox.ui</groupId>
|
<groupId>io.springfox.ui</groupId>
|
||||||
<artifactId>springfox-swagger-ui-rfc6570</artifactId>
|
<artifactId>springfox-swagger-ui-rfc6570</artifactId>
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user