如何使用Apache Geode快照区域并使用Spring Data GemFire存储库?

时间:2017-08-17 10:46:29

标签: spring apache spring-data gemfire spring-data-gemfire

我正在尝试执行以下用例,但我无法找到有关如何使用Apache Geode执行此操作的任何解释。

例如:

我有一个叫做A(1000条记录)的Apache Geode区域,它有SD 存储库" crudRepoA"。

在运行期间,我想将此Region快照到另一个名为A1的区域(1000条记录),并使用我在A区定义的类似CRUD Repository

使用Apache Geode的开箱即用功能可以实现实时快照吗?

是否可以使用" crudRepoA"在这个新创建的地区?

有没有办法创建一个新的" crudRepoA1" (与#34; crudRepoA"相同)并在这个新创建的区域上运行我的查询?

1 个答案:

答案 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