如何在集群级别配置序列化/反序列化。我可以使用以下Java代码在客户端级设置序列化程序/反序列化程序。
ClientConfig clientConfig = new ClientConfig();
SerializerConfig userDataSerializer = new
SerializerConfig().setTypeClass(UserData.class).setImplementation(new
UserDataSerializer()); clientConfig.getSerializationConfig().addSerializerConfig(userDataSerializer);但是在执行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/)
请帮帮我!
发布于 2019-03-14 18:31:18
在集群中,每个节点都需要知道序列化程序/反序列化程序来执行谓词/SQLPredicate。为此,所需的序列化程序类(作为Java jar文件)应该出现在启动命令Java CLASSPATH中。
发布于 2019-03-12 02:14:29
如果您正在运行查询,集群的服务器端将需要能够反序列化对象。
服务器端的序列化机制必须与客户端匹配才能工作;因此,在这里,您可以在两者上使用相同的序列化机制。
您需要做的是以与在客户端扩展Config相同的方式在服务器端扩展ClientConfig。
This大致就是您想要的。
https://stackoverflow.com/questions/55107590
复制相似问题