Spring 支持 Apache Geode (spring-data-geode)

Spring support for Apache Geode (spring-data-geode)

能否请您告诉我在哪里可以找到 Apache Geode? There is a spring-data-gemfire 项目的 spring 数据包,该项目为 Pivotal Gemfire 定期发布。 spring-data-geode 应该是这个项目的一部分,但我找不到任何相关信息。 Maven Central 中只有一个版本为 1.0.0.INCUBATING-RELEASE 的工件。

提前致谢, 瓦迪姆

问得好!

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

作为 Spring Data Geode 项目负责人,我敏锐地意识到 Apache Geode 发布了 1.1.0 版本2 月底发布后续的 1.1.1 补丁(参见 Releases on the Apache Geode page)。

此外,我已经有一段时间没有剪下 new 版本的 Spring Data Geode 以匹配当前版本Apache Geode 的版本(即 1.1.1)。这有几个原因...

  1. 首先,我正在增强 Spring Data Geode 的 新的基于注释的配置模型(Spring Boot 样式)以允许在使用注释时动态配置关键注释属性(例如考虑客户端和服务器之间使用的端口号),同时仍然保留属性的强类型性质(即并非所有 Strings).简而言之,我使用 Spring、“Configurers”以及 "well-known and documented" 属性而不是我之前的意图(属性 注释属性中的占位符和 SpEL 表达式,然后要求它们是 Strings,糟糕)。

NOTE: The beginnings of this new Annotation model in SD Geode and GemFire was described in 1 of my blogs. A subsequent follow-up blog entry specifically covered Annotation support for Geode's new Integrated Security Framework.

  1. 其次,我为 Apache Geode 的 添加了 support in SD Geode Lucene Integration.

  2. 最后,Spring Data Geode 曾经存在于 apache-geode branch in the Spring Data GemFire's GitHub Repository. However, since the last SD Geode release (i.e. 1.0.0.INCUBATING-RELEASE), @Oliver Gierke (Spring Data Team Lead) has agreed to make Spring Data Geode a top-level Spring Data project, like Spring Data GemFire, and so, Spring Data Geode will join the Spring Data Release Train, hopefully in the next Spring Data Kay Milestone 4 (M4) release. However, this depends entirely on the upcoming Apache Geode 1.2.0 release being released, first. As you can see, there is already a dedicated GitHub Repository 中,专门用于 Spring Data Geode 现在项目。

NOTE: While all my doc references here have been to Spring Data GemFire, they equally apply to Spring Data Geode, especially as of the Spring Data GemFire 2.0.0 Milestone releases (SD Kay) since SD GemFire is based on Pivotal GemFire 9.x, which is based on Apache Geode 1.0.0-incubating.

这意味着几件事...

首先,也是最重要的,Spring Data Geode 将拥有自己的 spring.io project page (under Spring Data) 和自己的文档,与 分开Spring Data GemFire,将其标识为 separate/individual 和正确的 Spring Data 项目。

其次,Spring Data 中有很多变化...与 Java 8 对齐, 核心 Spring Framework 5 Reactive/Functional 架构和 Spring 的重大变化数据 本身。有关详细信息,请参阅 "core themes" in SD Kay。因此,基于 Apache Geode 1.2.0 的 Spring Data Geode 将是 2.0.0 版本(不同于 Apache Geode),因此,Spring Data GeodeApache Geode 之间的版本号将不再对齐。

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

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

在此期间,您可以将 Spring Data Geode 1.0.0.INCUBATING-RELEASE 与最新版本的 Apache Geode[=105] 一起使用=](即1.1.1),通过简单地包含 SD Geode 1.0.0.INCUBATING-RELEASE 依赖项并声明对 Apache Geode 1.1.1 的直接依赖性而不会发生任何事件,这将在你的应用程序 POM 文件中覆盖由 SD Geode 引入的 Apache Geode 的版本...

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

无论如何,希望这对您有所帮助,对于延迟,我深表歉意;目前要处理许多优先事项。

干杯, 约翰