0
HazelcastでConcurrentHashMapにDataSerializableを適用する方法は?HazelcastでConcurrentHashMapにDataSerializableを適用するにはどうすればよいですか?
public class User implements DataSerializable{
public User() {
}
private Date date;
private Long id;
@Override
public void writeData(ObjectDataOutput out) throws IOException {
out.writeLong(this.date.getTime());
out.writeLong(this.id);
}
@Override
public void readData(ObjectDataInput in) throws IOException {
this.date = new Date(in.readLong());
this.id = in.readLong();
}
}
<hz:serialization>
<hz:serializers>
<hz:serializer type-class="java.util.concurrent.ConcurrentHashMap" class-name="ConcurrentHashMap" implementation="HashMapStreamSerializer"/>
</hz:serializers>
</hz:serialization>
User user = new User();
user.setId(1L);
Map<Long, User> concurrentHashMap= new ConcurrentHashMap<>();
concurrentHashMap.put(1L, user);
iMap.put(1L, concurrentHashMap);//IMap is a distributed map of Hazelcast
私はすでにDataSerializable
を実装し、分散IMap
とUser
クラスにconcurrentHashMap
を載せていきたいと思います。 私はあなたがDataSerialisableを実装していないクラスに対してCustom Serializer
を実装することができ例外
com.hazelcast.nio.serialization.HazelcastSerializationException: Failed to serialize 'java.util.concurrent.ConcurrentHashMap'.
私はHashMapStreamSerializerを使用しますが、まだその例外が発生しました。私はHashMapStreamSerializerとユーザークラスの質問を更新します –