我正在使用Spring Data和Gemfire开发数据服务。
有一个注释

@Region("<region name>")


指定POJO将存储在哪个Gemfire区域中。

它需要配置的Gemfire区域的名称。
我觉得对区域名称进行硬编码是一种不好的做法,因为Gemfire集群将由一个单独的团队进行管理,并且我相信区域名称应该是完全可配置的。

有什么更好的做法可以避免对区域名称进行硬编码?

最佳答案

区域名称必须由访问该区域的所有进程共享。这类似于关系数据库中的表名。从这个意义上讲,它与声明将要存储POJO的表名的JPA或Hibernate批注没有什么不同。 IIRC使用Spring数据存储库,如果不存在@Region,它将从类名获取它。但是无论哪种方式,都必须存在相应的区域。如果您的应用程序是GemFire网格的客户端,则还必须配置一个与服务器上相应区域名称相同的客户端区域。如果是对等对象,则必须创建区域(分区或副本)。这些操作可以通过Spring配置或本机GemFire配置完成,但是无论如何,必须事先知道共享区域名称,如果更改,则必须在任何地方更改。

关于java - 使用Spring Data Gemfire时的@Region批注,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21601367/

10-13 02:22