create cache --permanent=true --template=org.infinispan.DIST_SYNC dcachecreate cache --file=qcache.xml qcache<infinispan>
<cache-container>
<distributed-cache name="qcache">
<encoding>
<key media-type="application/x-protostream"/>
<value media-type="application/x-protostream"/>
</encoding>
</distributed-cache>
</cache-container>
</infinispan>cache ___protobuf_metadata
put --file=person.proto person.protopackage org.infinispan.rest.search.entity;
message Address {
required string street = 1;
required string postCode = 2;
}
message PhoneNumber {
required string number = 1;
}
message Person {
optional int32 id = 1;
required string name = 2;
required string surname = 3;
optional Address address = 4;
repeated PhoneNumber phoneNumbers = 5;
optional uint32 age = 6;
enum Gender {
MALE = 0;
FEMALE = 1;
}
optional Gender gender = 7;
}put --cache=qcache --file=lukecage.json lukecagejessicajones.json
{
"_type":"org.infinispan.rest.search.entity.Person",
"id":1,
"name":"Jessica",
"surname":"Jones",
"gender":"FEMALE",
"address":{"street":"46th St","postCode":"NY 10036"},
"phoneNumbers":[{"number":1111},{"number":2222},{"number":3333}]
}matthewmurdock.json
{
"_type":"org.infinispan.rest.search.entity.Person",
"id":3,
"name":"Matthew",
"surname":"Murdock",
"gender":"MALE",
"address":{"street":"57th St","postCode":"NY 10019"},
"phoneNumbers":[]
}lukecage.json
{
"_type":"org.infinispan.rest.search.entity.Person",
"id":2,
"name":"Luke",
"surname":"Cage",
"gender":"MALE",
"address":{"street":"Malcolm X Boulevard","postCode":"NY 11221"},
"phoneNumbers":[{"number":4444},{"number":5555}]
}