File tree Expand file tree Collapse file tree 3 files changed +40
-3
lines changed
spring-boot/hazelcast/hazelcast-embedded-cache/src/main/java/io/refectoring/cache/embedded Expand file tree Collapse file tree 3 files changed +40
-3
lines changed Original file line number Diff line number Diff line change 22
33import com .hazelcast .config .Config ;
44import com .hazelcast .config .MapConfig ;
5+ import com .hazelcast .config .SerializerConfig ;
56import com .hazelcast .core .Hazelcast ;
67import com .hazelcast .core .HazelcastInstance ;
78import com .hazelcast .map .IMap ;
89import io .refectoring .cache .embedded .rest .Car ;
10+ import io .refectoring .cache .embedded .serializer .CarSerializer ;
911import org .springframework .stereotype .Component ;
1012
1113@ Component
@@ -27,9 +29,16 @@ public Car get(String key){
2729 public Config createConfig () {
2830 Config config = new Config ();
2931 config .addMapConfig (mapConfig ());
32+ config .getSerializationConfig ().addSerializerConfig (serializerConfig ());
3033 return config ;
3134 }
3235
36+ private SerializerConfig serializerConfig () {
37+ return new SerializerConfig ()
38+ .setImplementation (new CarSerializer ())
39+ .setTypeClass (Car .class );
40+ }
41+
3342 private MapConfig mapConfig () {
3443 MapConfig mapConfig = new MapConfig (CARS );
3544 mapConfig .setTimeToLiveSeconds (360 );
Original file line number Diff line number Diff line change 55import lombok .Data ;
66import lombok .NoArgsConstructor ;
77
8- import java .io .Serializable ;
9-
108@ Data
119@ Builder
1210@ NoArgsConstructor
1311@ AllArgsConstructor
14- public class Car implements Serializable {
12+ public class Car {
1513 private String number ;
1614 private String name ;
1715}
Original file line number Diff line number Diff line change 1+ package io .refectoring .cache .embedded .serializer ;
2+
3+ import com .hazelcast .nio .ObjectDataInput ;
4+ import com .hazelcast .nio .ObjectDataOutput ;
5+ import com .hazelcast .nio .serialization .StreamSerializer ;
6+ import io .refectoring .cache .embedded .rest .Car ;
7+
8+ import java .io .IOException ;
9+
10+ public class CarSerializer implements StreamSerializer <Car > {
11+
12+ @ Override
13+ public void write (ObjectDataOutput out , Car object ) throws IOException {
14+ out .writeUTF (object .getName ());
15+ out .writeUTF (object .getNumber ());
16+ }
17+
18+ @ Override
19+ public Car read (ObjectDataInput in ) throws IOException {
20+ return Car .builder ()
21+ .name (in .readUTF ())
22+ .number (in .readUTF ())
23+ .build ();
24+ }
25+
26+ @ Override
27+ public int getTypeId () {
28+ return 1 ;
29+ }
30+ }
You can’t perform that action at this time.
0 commit comments