David Turanski

David Turanski

校友
博文David Turanski

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

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

本文是探討基於 Java 函式重新設計的 Spring Cloud Stream 應用程式的系列部落格文章的一部分。本集分為兩部分,探討了用於實現流應用程式的函式的測試策略。我們將特別關注與外部資源整合的函式,這會帶來額外的測試挑戰。大多數預打包的源和接收器應用程式都屬於這種情況。為了說明這一點,我們將詳細介紹一個示例 couchbase-sink 應用程式。在第 1 部分中,我們將重點介紹接收器所基於的核心函式……

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

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

這是測試流應用程式的第 2 部分。在第 1 部分中,我們實現了並測試了示例 couchbase-sink 應用程式所需的核心功能。函式級別的測試涵蓋了預期的成功和錯誤場景,並依賴 Testcontainers 來配置 Couchbase 叢集。本文假設您已閱讀第 1 部分,並從第 1 部分結束的地方繼續。

Couchbase 接收器

在第 1 部分中,我們驗證了為將資料插入 Couchbase 而編寫的函式按預期工作。我們現在可以使用該函式(作為 java.util.Consumer 公開)來實現一個接收器,用於構建資料管道……

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

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

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

到目前為止,部落格系列中包含的內容如下:

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

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

簡介

我們以介紹基於 Java 函式的新流應用程式函式組合來開始本系列。之前的文章提供了一個構建簡單流應用程式並在 Spring Cloud Data Flow 中執行的教程。今天,我們將探討 HTTP 請求函式,並提供如何使用它的示例。

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

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

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

簡介

到目前為止,在本系列中,我們已經介紹了基於 Java 函式的新流應用程式以及函式組合。我們還提供瞭如何從供應商構建源以及從消費者構建接收器的詳細示例。在這裡,我們繼續接下來的幾個案例研究中的第一個。每個案例研究都演示瞭如何在各種場景中使用一個或多個可用的預打包 Spring Boot 流應用程式來構建資料流管道。

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

介紹 Spring Cloud Stream 應用程式的 Java 函式 - 第 1 部分

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

介紹 Spring Cloud Stream 應用程式的 Java 函式 - 第 1 部分

上週我們釋出了介紹 Spring Cloud Stream 應用程式的 Java 函式 - 第 0 部分
以宣佈 Spring Cloud Stream 應用程式 2020.0.0-M2 的釋出。
在這裡,我們探討了函式組合,這是第 0 部分中介紹的面向函式架構所啟用的更強大功能之一。如果您還沒有機會閱讀第 0 部分,現在正是時候!

函式組合

函式組合在數學和計算機科學中擁有堅實的理論基礎。
實際上,它是一種……

介紹 Spring Cloud Stream 應用程式的 Java 函式 - 第 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 月 3 日 | ...

本文旨在向 Java 開發人員介紹 Groovy Bean Builder,作為 Java @Configuration 和 XML 配置的強大替代或補充。Spring Framework 4.0 版本包含 Grails Bean Builder 移植到核心 Spring Framework 的內容,為配置 Spring 應用程式提供了 Groovy DSL。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 應用程式變得更加容易

函式註解支援

GemFire 透過提供遠端函式執行框架,實現了“將程式碼帶到資料”的能力。秉承 Spring 的核心價值,Spring Data GemFire 隱藏了註冊和執行遠端函式所需的樣板程式碼,讓您可以編寫 POJO 並專注於應用程式邏輯。有關詳細資訊,請參閱 Spring Data GemFire 參考指南中的函式執行註解支援章節。

簡化與 GemFire 資料來源的連線

GemFire 提供了許多選項來調整其連線池的效能,以及配置本地資料如何管理和同步。Spring Data GemFire 名稱空間支援所有這些選項,但是許多應用程式是客戶端,只需對 GemFire 資料網格進行讀/寫訪問。對於此類應用程式,現在可以作為客戶端連線到 GemFire,而無需顯式配置池或客戶端區域

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

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

JSON 支援

GemFire 7.0 提供了儲存 JSON 並具有完整查詢支援的能力。通常,這需要應用程式使用 JSONFormatter 將 GemFire 的內部格式轉換為 JSON 字串,反之亦然。Spring Data GemFire 現在提供了一個選項,可以對選定的區域自動執行此轉換,以及使用 Jackson 的 ObjectMapper 從 Object 到 JSON 的單向轉換。此功能使用 Spring AOP 攔截 Region 和 GemFireTemplate 上的適當操作。有關詳細資訊,請參閱 Spring Data GemFire 參考指南

Spring Integration 的 Groovy DSL

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

Spring Integration 使用 Spring 程式設計模型實現企業整合模式,以在基於 Spring 的應用程式中啟用訊息傳遞。Spring Integration 還透過支援 jms、http、amqp、tcp、ftp(s)、smtp 等的宣告式介面卡提供與外部系統的整合。目前,訊息流的配置主要透過 Spring XML 完成,Spring Integration 支援多個名稱空間以使其儘可能簡潔。今年早些時候,SpringSource 釋出了 Spring Integration 的 Scala DSL。現在,我們很高興地宣佈第一個里程碑版本……

領先一步

VMware 提供培訓和認證,助您加速進步。

瞭解更多

獲得支援

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支援和二進位制檔案,只需一份簡單的訂閱。

瞭解更多

即將舉行的活動

檢視 Spring 社群所有即將舉行的活動。

檢視所有