提问者:小点点

对Apache Geode(spring-data-gede)的Spring支持


您能告诉我在哪里可以找到Apache Geode的spring-data包吗?有一个spring-data-gemfire项目,它为Pivotal Gemfire生成定期版本。spring-data-gede应该是这个项目的一部分,但我无法找到任何信息。只有一个版本为1.0.0的工件。在Maven Central中的INCUBATING-RELEASE。

先谢谢你,瓦迪姆


共1个答案

匿名用户

好问题!

有一个Spring Data Geode项目,你是对的,Spring Data Geode的最新版本是1.0.0。INCUBATING-RELEASE(如Maven Central中所见)。该特定版本的SDGeode基于Apache Geode1.0.0-孵化,匹配版本,以便用户在声明对SDGeode的依赖时清楚他们得到的是哪个版本的Apache Geode。

作为Spring Data Geode项目的负责人,我敏锐地意识到Apache Geode在2月底发布了1.1.0版本,并在3月份发布了后续的1.1.1补丁版本(请参阅Apache Geode页面上的发布)。

此外,自从我剪切Spring Data Geode的新版本以匹配当前版本的Apache Geode(即1.1.1)以来,已经有一段时间了。这有几个原因…

  1. 首先,我正在增强Spring Data Geode新的基于注解的配置模型(Spring Boot样式),以便在使用注解时允许动态配置关键注解属性(例如,考虑客户端和服务器之间使用的端口号),同时仍然保留属性的强类型特性(即并非所有Strings)。简而言之,我正在使用Spring中经常使用的标准约定“配置者”以及“众所周知的和有文档证明的”属性来实现这一点,而不是我以前的意图(注解属性中的属性占位符和SpEL表达式,这将要求它们是Strings,恶心)。

注意:我在一篇博客中描述了SDGeode和GemFire中这种新注释模型的开始。随后的博客文章专门介绍了对Geode新集成安全框架的注释支持。

其次,我在SDGeode中添加了对Apache Geode的Lucene集成的支持。

最后,Spring Data Geode曾经存在于Spring Data GemFire的GitHub存储库中的apache-Geode分支中。然而,自从上一个SDGeode版本(即1.0.0. INCUBATING-RELEASE)以来,@Oliver Gierke(Spring Data团队负责人)已经同意让Spring Data Geode成为一个顶级的Spring Data项目,就像Spring Data GemFire一样,因此,Spring Data Geode将加入Spring Data Release Train,希望在下一个Spring Data Kay Milestone 4(M4)版本中。然而,这完全取决于即将发布的Apache Geode 1.2.0版本,首先。如您所见,现在已经有一个专门针对Spring Data Geode项目的专用GitHub存储库。

注意:虽然我在这里引用的所有文档都是Spring Data GemFire,但它们同样适用于Spring Data Geode,尤其是在Spring Data GemFire 2.0.0 Milestone版本(SDKay)中,因为SDGemFire基于Pivotal GemFire 9. x,它基于Apache Geode 1.0.0孵化。

这意味着几件事…

首先,也是最重要的,Spring Data Geode将有自己的spring.io项目页面(在Spring Data下)和自己的留档,与Spring Data GemFire分开,将其标识为单独/单独和适当的Spring Data项目。

其次,Spring Data中有许多变化…与Java8、核心Spring Framework 5的响应式/函数式架构以及Spring Data本身的重大变化保持一致。有关更多详细信息,请参阅SD中的“核心主题”。因此,基于Apache Geode 1.2.0的Spring Data Geode将在2.0.0版(与Apache Geode不同),因此,Spring Data Geode和Apache Geode之间的版本号将不再对齐。

然而,积极的一面是,一旦到位,Spring Data Geode将与其他Spring Data模块(包括Spring Data GemFire)一起以可预测的发布节奏移动。这意味着将有一个过渡期来整理所有位,因此Spring对最新版本Apache Geode(即1.1.1)的支持似乎存在差距。

话虽如此,我仍计划再发布一个基于Apache Geode 1.1.1的Spring Data Geode版本(即1.1.1. RELEASE),希望很快。

在此期间,您可以使用Spring Data Geode1.0.0。INCUBATING-RELEASE与最新版本的Apache Geode(即1.1.1)一起使用,只需简单地包含SDGeode1.0.0。INCUBATING-RELEASE依赖关系并声明对Apache Geode1.1.1的直接依赖关系,这将覆盖SDGeode拉入的Apache Geode版本,在您的应用程序POM文件中,如下所示…

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-geode</artifactId>
  <version>1.0.0.INCUBATING-RELEASE</version>
</dependency>
<dependency>
  <groupId>org.apache.geode</groupId>
  <artifactId>geode-core</artifactId>
  <version>1.1.1</version>
</dependency>
<!-- along with any other geode dependencies you need -->

无论如何,希望这能有所帮助,我对延迟感到抱歉;目前正在处理许多优先事项。

干杯约翰