C ++客户端中的缓存Java对象

时间:2016-08-04 14:32:19

标签: gemfire

我希望有一个C ++客户端应用程序来维护来自Java服务器的对象缓存。对象需要兼容。我知道Gemfire以可序列化的格式维护它们。这意味着Java类需要等同于C ++类。

是否有一种通用的做法,即在与语言无关的规范中定义类结构,并生成可序列化为PDX或Gemfire使用的任何其他形式的等效Java和C ++类?

的问候,
佳日

1 个答案:

答案 0 :(得分:1)

在PDX之前,我曾经创建了一个与语言无关的域表示,同时使用DataSerializable生成Java,C ++和.Net类。但是,PDX在大多数情况下都不需要这样做。我附上下面的示例配置。

如果您遇到Java不支持的类型,您仍然不必使用生成序列化程序,但您可以专注于序列化这一类型(请参阅{{3}}的第564页

当您对速度有疯狂需求时,请考虑生成自己的序列化程序,因为自动序列化程序可能会产生阻力。通常不需要这样做,但如果您这样做,请遵循以下说明:{{3}}

以下是使用pdx自动序列化程序的配置:

<!-- Cache configuration configuring auto serialization behavior -->
<cache>
 <pdx>
   <pdx-serializer>
     <class-name>com.gemstone.gemfire.pdx.ReflectionBasedAutoSerializer
     </class-name>
     <parameter name="classes">
       <string>com.company.domain.DomainObject</string>
     </parameter>
   </pdx-serializer>
 </pdx>
 ...
</cache>

如果我回答了您的问题,请勾选“已回答”。感谢。