We are using Gemfire PCC for one of our generic caching solution. Where clients would use gemfire as a caching service. In order to achieve we have common data model defined with name, value fields. So for n number of regions it's going to be same class.
The issue is, when a first put or putAll happens PDXType for this class type has been registered with the fields inserted. From there onwards every cache it's using the same PDXType because of same class type.
Let's say I inserted below record Region1 - foo.GenericClass
- name=FirstName, value=Abc
- name=LastName, value=Def
After this point PDXType will be registered with
info 2018/07/06 12:22:24.213 EDT <http-nio-8080-exec-4> tid=0x45] Caching PdxType[dsid=0, typenum=14294267
name=foo.GenericClass
fields=[
_cacheName:String:0:idx0(relativeOffset)=0:idx1(vlfOffsetIndex)=-1
FirstName:String:identity:1:1:idx0(relativeOffset)=0:idx1(vlfOffsetIndex)=1
LastName:String:identity:2:1:idx0(relativeOffset)=-2:idx1(vlfOffsetIndex)=-1]]
From here onwards for all the operations on foo.GenericClass using same PDXType.
When i try to insert below record instead of AddressLine1 it is store as FirstName as field name in Region2.
Region2 - foo.GenericClass
- name=AddressLine1, value=123 Main St
- name=City, value=Atlata
Is there anyway to insert data into different regions by using same domain object and register their own PDXTypes during serialization? Am i missing some simple thing here?