@ -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 ProtoWithJavaSerializationDecodingEncoding Service implements DataDecodingEncodingService {
public class ProtoWithFST Service 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