Şu satırı dahil ederiz
import com.hazelcast.nio.serialization.Portable;
Açıklaması şöyle. Yani farklı diller arasında kullanılabilir.
The Portable serialization mechanism allows us to store data in one stack and to access it from the other – and the other way around. Its main benefit is that it doesn’t require reflection.
Adımlar şöyle
1. Nesnemiz Portable arayüzünden kalıtır ve getFactoryId(), getClassId(), readPortable(), writePortable() metodlarını gerçekleştirir
2. Nesnemiz için PortableFactory arayüzünden kalıtan bir Factory nesnesi kodlarız
3. Bu yeni factory nesnesini SerializationConfig nesnesi ile Hazelcast' tanıtırız
Örnek
Burada bir örnek var
Örnek
Şöyle yaparız
public class Foo implements Portable {final static int ID = 5;private String foo;@Overridepublic int getFactoryId() {return 1;}@Overridepublic int getClassId() {return ID;}@Overridepublic void writePortable(PortableWriter writer) throws IOException {writer.writeString("foo", foo);}@Overridepublic void readPortable(PortableReader reader) throws IOException {foo = reader.readString("foo");}}
Factory şöyledir
import com.hazelcast.nio.serialization.PortableFactory; public class MyPortableFactory implements PortableFactory { @Override public Portable create(int classId) { if (Foo.ID == classId ) return new Foo(); else return null; } }
Daha sonra SerializationConfig nesnesine eklemek için şöyle yaparız
Config config = new Config(); config.getSerializationConfig().addPortableFactory(1, new MyPortableFactory());
Hiç yorum yok:
Yorum Gönder