Hazelcast序列化器/解串器

问题描述 投票:0回答:2

如何在群集级别配置序列化程序/反序列化程序。我可以使用以下Java代码在客户端级别设置序列化器/解串器。

ClientConfig clientConfig = new ClientConfig();
SerializerConfig userDataSerializer = new
SerializerConfig().setTypeClass(UserData.class).setImplementation(new
UserDataSerializer()); clientConfig.getSerializationConfig().addSerializerConfig(userDataSerializer);

但是当make SQL查询它时会抛出以下错误。

Exception in thread "main" com.hazelcast.nio.serialization.HazelcastSerializationException: There is no suitable de-serializer for type 2. This exception is likely to be caused by differences in the serialization configuration between members or between clients and members.

发生上述错误是因为Hazelcast集群不知道如何对对象进行序列化/反序列化。

我使用Kryo自定义序列化程序进行序列化(基于此博客http://blog.hazelcast.com/comparing-serialization-methods/

请帮忙!

serialization hazelcast in-memory-database kryo in-memory-data-grid
2个回答
0
投票

如果您正在运行查询,则群集的服务器端将需要能够反序列化该对象。

服务器端的序列化机制必须与客户端匹配才能工作;如此有帮助,你可以在两者上使用相同的。

您需要做的是在服务器端扩展Config,就像在客户端扩展ClientConfig一样。

This大致是你想要的。


0
投票

在集群中,每个节点都需要知道序列化器/反序列化器以执行Predicate / SQLPredicate。为此,所需的序列化程序类(作为Java jar文件)应存在于启动命令Java CLASSPATH中。

© www.soinside.com 2019 - 2024. All rights reserved.