David Turanski

David Turanski

校友
由…撰寫的部落格文章David Turanski

測試 Spring Cloud Stream 應用程式 - 第一部分

工程 | 2020年12月15日 | ...

這篇文章是一個部落格系列的一部分,探討了基於 Java Function 新近重新設計的 Spring Cloud Stream 應用程式。本集(分為兩個部分)探討了用於實作 Stream 應用程式的 Function 的測試策略。我們將特別關注與外部資源整合的 Function,這帶來了額外的測試挑戰。大多數的 預先封裝的來源和接收器應用程式都是這種情況。為了說明這一點,我們將逐步介紹一個範例 couchbase-sink 應用程式。在第一部分中,我們將重點關注接收器的核心 Function…

測試 Spring Cloud Stream 應用程式 - 第二部分

工程 | 2020年12月15日 | ...

這是測試 Stream 應用程式的第二部分。在 第一部分 中,我們實作並測試了範例 couchbase-sink 應用程式所需的核心 Function。Function 層級的測試涵蓋了預期的成功和錯誤情境,並依賴 Testcontainers 來配置 Couchbase 集群。這篇文章假設您已閱讀第一部分,並從中斷的地方繼續。

Couchbase Sink

在第一部分中,我們驗證了我們為將資料更新插入 Couchbase 而編寫的 Function 能否如預期般運作。我們現在可以使用 Function(以 java.util.Consumer 的形式公開)來實作一個接收器,以用於使用…建置的資料管線中

案例研究:使用 Spring Cloud Data Flow 遠端檔案擷取

工程 | 2020年9月29日 | ...

這篇文章是一個部落格系列的一部分,探討了基於 Java Function 新近重新設計的 Spring Cloud Stream 應用程式。在本章中,我們探討如何使用 Spring Cloud Stream 應用程式Spring Cloud Data Flow 來實作一個非常常見的 ETL 使用案例:從遠端服務擷取檔案。具體來說,我們將看看如何從 S3、SFTP 和 FTP 擷取檔案。

以下是迄今為止部落格系列中包含的內容

案例研究:HTTP 請求 Function 和處理器

工程 | 2020年8月17日 | ...

簡介

我們透過介紹新的 基於 Java Function 的串流應用程式Function 組合 開始了本系列。先前的文章 介紹了建置簡單的 Stream 應用程式並在 Spring Cloud Data Flow 中運行的教學課程。今天,我們將探討 HTTP 請求 Function,並提供如何使用它的範例。

如果您錯過了,本系列之前的文章如下

案例研究:使用 HTTP 來源和 JDBC 接收器建置並執行串流應用程式

工程 | 2020年8月10日 | ...

簡介

到目前為止,在本系列中,我們介紹了新的 基於 Java Function 的串流應用程式Function 組合。我們也提供了如何從 供應器建立來源 和從 消費者建立接收器 的詳細範例。在這裡,我們將繼續進行一系列案例研究的第一個案例研究。每個案例研究都示範了如何在各種情境中使用一個或多個可用的預先封裝的 Spring Boot Stream 應用程式來建置資料串流管線。

今天,我們將展示兩個最常用的應用程式,即 HTTP 來源JDBC 接收器。我們將使用它們來建置一個簡單的服務,該服務接受 HTTP POST 請求並將內容儲存到資料庫表中。我們將首先將它們作為獨立的 Spring Cloud Stream 應用程式執行,然後展示如何使用 Spring Cloud Data Flow 來編排相同的管線…

介紹 Spring Cloud Stream 應用程式的 Java Function - 第一部分

工程 | 2020年7月20日 | ...

介紹 Spring Cloud Stream 應用程式的 Java Function - 第一部分

上週,我們發布了 介紹 Spring Cloud Stream 應用程式的 Java Function - 第 0 部分
以宣布 Spring Cloud Stream 應用程式 2020.0.0-M2 的發布。
在這裡,我們將探討 Function 組合,這是第 0 部分中介紹的以 Function 為導向的架構所支援的更強大的功能之一。如果您還沒有機會閱讀 第 0 部分,現在是個好時機!

Function 組合

Function 組合在數學和電腦科學中具有堅實的理論基礎。
實際上,這是一種…

介紹 Spring Cloud Stream 應用程式的 Java Function - 第 0 部分

版本 | 2020年7月13日 | ...

我們很高興宣布發布 Spring Cloud Stream 應用程式 2020.0.0-M2。此版本是對舊版 Spring Cloud Stream App Starters 的完全重新設計。從此版本開始,我們將從以主題為導向的發布列車名稱(按字母順序排列的著名科學家)轉為基於日曆的版本控制。目前的 GA 版本稱為 Einstein,我們很高興介紹 2020.0.0-M2。我們也將從應用程式啟動器轉移。在重新組織、重新封裝和(在某些情況下)重新編寫基礎程式碼後,我們現在擁有一個新的 Git 儲存庫:spring-cloud/stream…

Spring Framework 4 中的 Groovy Bean 配置

工程 | 2014年3月03日 | ...

這篇文章旨在向 Java 開發人員介紹 Groovy Bean Builder,作為 Java @Configuration 和 XML 配置的強大替代方案或補充。Spring Framework 4.0 版本包括 Grails Bean Builder 到核心 Spring Framework 的移植,提供了一個 Groovy DSL 用於配置 Spring 應用程式。Groovy 和 Grails 開發人員無疑熟悉以這種方式配置 Spring 應用程式,我希望你們其餘的人已經在想「這有多酷?」

如果您不是 Groovy 專家,請不要擔心。正如許多 Java 程式設計師使用另一個流行的 Groovy DSL(Gradle)來建置應用程式一樣,您只需要了解一些基本語法即可開始。範例程式碼可在 github 上取得…

Spring Data GemFire 1.3.0 已發布

工程 | 2013年3月14日 | ...

我很高興宣布 Spring Data GemFire 1.3.0 的 GA 版本。除了許多小的錯誤修正和增強功能之外,此版本還包括一些值得注意的新功能,使使用 GemFire 編寫 Java 應用程式變得更加容易

Function 的註釋支援

GemFire 透過提供遠端 Function 執行的框架,提供「將程式碼帶到資料」的能力。為了與 Spring 的核心價值保持一致,Spring Data GemFire 隱藏了註冊和執行遠端 Function 所需的樣板程式碼,讓您可以編寫 POJO 並專注於應用程式邏輯。有關詳細資訊,請參閱 Spring Data GemFire 參考指南中的 Function 執行註釋支援 一章。

簡化連線至 GemFire 資料來源

GemFire 公開了許多用於調整其連線池效能的選項,以及配置如何管理和同步本地資料的選項。Spring Data GemFire 命名空間支援所有這些選項,但是許多應用程式是簡單地需要對 GemFire 資料網格進行讀/寫存取的用戶端。對於此類應用程式,現在可以作為用戶端連線至 GemFire,而無需明確配置集區或用戶端區域

 <gfe-data:datasource>
        <gfe-data:locator host="${host}" port="${port}"/>
 </gfe-data:datasource>

上述組態會為伺服器上所有可用的區域建立一個客戶端快取、池以及代理客戶端區域,使用合理的預設值,並將它們註冊為 Spring beans。

JSON 支援

GemFire 7.0 提供了儲存 JSON 並完全支援查詢的功能。 一般而言,這需要應用程式使用 JSONFormatter 將 GemFire 的內部格式轉換為 JSON 字串以及從 JSON 字串轉換為 GemFire 內部格式。 Spring Data GemFire 現在提供了一個選項,可以為選定的區域自動執行此轉換,以及使用 Jackson 的 ObjectMapper 從 Object 進行單向轉換為 JSON。 此功能使用 Spring AOP 攔截 Region 和 GemFireTemplate 上的適當操作。 詳情請參閱 Spring Data GemFire 參考指南

Spring Integration 的 Groovy DSL

工程 | 2012 年 11 月 06 日 | ...

Spring Integration 實作了 企業整合模式 (Enterprise Integration Patterns),使用 Spring 程式設計模型來實現基於 Spring 的應用程式中的訊息傳遞。 Spring Integration 也提供了與外部系統的整合,使用宣告式的 adapters 支援 jms、http、amqp、tcp、ftp(s)、smtp 等。 目前,配置訊息流程主要是透過 Spring XML 進行,Spring Integration 支援多個命名空間,以盡可能簡潔地完成配置。 今年稍早,SpringSource 發布了一個用於 Spring Integration 的 Scala DSL。 現在,我們很高興地宣布第一個里程碑版本……

領先一步

VMware 提供培訓和認證,以加速您的進展。

了解更多

獲得支援

Tanzu Spring 在一個簡單的訂閱中提供了 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位檔案。

了解更多

即將舉行的活動

查看 Spring 社群中所有即將舉行的活動。

查看全部