領先一步
VMware 提供培訓和認證,加速您的進步。
瞭解更多對於與 Apache Geode M3 釋出公告相關的延遲,我向 Spring 和 Apache Geode 社群表示歉意,但我非常激動和高興地在此之後釋出了 Apache Geode 1.0.0-incubating.M3 的 Spring Data。
您可以透過在應用的 Maven 或 Gradle 構建檔案中包含以下依賴項來從 Maven Central 獲取包...
<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-geode</artifactId>
<version>1.0.0.APACHE-GEODE-INCUBATING-M3</version>
</dependency>
compile 'org.springframework.data:spring-data-geode:1.0.0.APACHE-GEODE-INCUBATING-M3'
包含 spring-data-geode
依賴項將傳遞性地引入所有必需的 Apache Geode 工件,以便您今天就可以開始構建使用 Apache Geode 的 Spring 應用。
雖然 Apache Geode M2 和 M3 之間在功能上沒有太多變化(主要是錯誤修復),但 Spring Data Geode 中確實改變了很多。其中一個關鍵特性尤為突出。
由於 Apache Geode(以及延伸的 Pivotal GemFire)的重點一直是提供足夠的功能廣度和靈活性,以解決各種 複雜的客戶需求和用例(點選“用例”),這使得使用者難以儘可能快、儘可能容易地啟動執行。而且,儘管它具有更強的一致性保證,並且通常效能更好,但與使用替代的、可比較的解決方案時所提供的“開箱即用”體驗相比,它很難競爭。
要更深入地瞭解這個問題以及我們如何致力於為 Apache Geode 和 Pivotal GemFire 解決它,請檢視我在 8 月份 Apache Geode 俱樂部會議上的演講。
問題的根源在於 Apache Geode 缺乏一個有主見且一致的程式設計/配置模型,尤其是在應用開發方面。所以實際上,我們只需要看看 Spring Framework 就行了。然而,這仍然留下了“主見”的問題。
再一次,Spring 為我們帶來了 Spring Boot,這是一個多麼精美的工程傑作,如此優雅,如此簡單。正如您在下面將看到的,它確實為 Spring Data Geode 的工作帶來了靈感。
過去,Spring 開發者不得不透過 XML 或 Java 配置 來配置 Geode,然後使用像 Gfsh 或 Spring Boot 這樣的引導機制來啟動執行。這甚至在指南中有所演示。直到現在,兩者之間並沒有真正的顯著優勢。
從這個里程碑版本開始,Spring Data Geode 將包含一組新的註解,它們在形式/功能上與 Spring Boot 註解非常相似且互補,但專門用於 SD/Apache Geode,只有一個簡單的目標...
簡化“開箱即用”體驗,以便使用者能夠儘可能快速、輕鬆地啟動執行
所以,讓我們再來看一下我們的 XML 和 Java 配置示例...
@SpringBootApplication
@PeerCacheApplication
@WithReplicateRegions("myDistributedMap")
public class ExampleApplication implements CommandLineRunner {
public static void main(String[] args) {
SpringApplication.run(ExampleApplication.class, args);
}
@Resource(name = "myDistributedMap")
private Region<String, String> myDistributedMap;
@Override
public void run(String... strings) throws Exception {
assertThat(myDistributedMap.put("key", "value")).isNull();
assertThat(myDistributedMap.get("key")).isEqualTo("value");
assertThat(myDistributedMap.putIfAbsent("somekey", "somevalue")).isNull();
assertThat(myDistributedMap.replace("key", "value", "newvalue")).isTrue();
}
}
非常容易。這個示例相當簡單,但您可能可以想象某些應用配置(例如這個示例;只需遵循層次結構)很快就會變得相當複雜。
這只是個預告,敬請關注更多內容。
將會有許多不同的註解,以一致且健壯的方式解決所有獨特的問題,提供開箱即用的預設設定以及許多便利的“啟用”功能。這種新的註解配置模型的許多細節仍在進行中,例如適當的示例和文件。
在此期間,我已經開始了參考實現的初步工作,它將展示同時使用 Spring 和 Apache Geode 的許多特性和功能(例如新的註解配置模型)。
請留意我們不久後釋出的更多溝通。
一如既往,非常歡迎反饋,您可以在 JIRA 或 StackOverflow 上與我們聯絡。
謝謝大家!