我正在尝试执行以下用例,但我无法找到有关如何使用Apache Geode执行此操作的任何解释。
例如:
我有一个叫做A(1000条记录)的Apache Geode区域,它有SD 存储库" crudRepoA"。
在运行期间,我想将此Region快照到另一个名为A1的区域(1000条记录),并使用我在A区定义的类似CRUD Repository 。
使用Apache Geode的开箱即用功能可以实现实时快照吗?
是否可以使用" crudRepoA"在这个新创建的地区?
有没有办法创建一个新的" crudRepoA1" (与#34; crudRepoA"相同)并在这个新创建的区域上运行我的查询?
答案 0 :(得分:0)
是否可以通过Apache Geode的开箱即用功能实现实时快照?
是。您可以使用 Apache Geode的 Cache/Region Snapshot Service(可能值得一看)。 Spring Data Geode 也很好supported。
是否可以在这个新创建的区域使用crudRepoA?
嗯,不完全是,所以......
有没有办法动态创建一个新的crudRepoA1(与crudRepoA相同)并在这个新创建的Region上运行我的查询?
是
您可以执行以下操作...
@Region("A")
class DomainTypeForRegionA {
@Id Long id;
...
}
interface RegionARepository extends GemfireRepository<DomainTypeForRegionA, Long> { ... }
@Region("A1")
interface RegionA1Repository extends RegionARepository { ... }
前一段时间(1.4.0.M1
)我添加了support for annotating the application (GemFire) Repository
interface (with @Region
)代替/也覆盖了 Region ,其中包含应用程序域对象类型的数据(由{{定义1}}关于域对象类型本身的注释,例如如上所示,@Region
)被持久化或访问。
阅读SDG 参考指南中的整个部分Entity Mapping。
希望这有帮助!
-John