David Turanski

David Turanski

校友
部落格文章按作者David Turanski

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

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

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

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

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

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

Couchbase Sink

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

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

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

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

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

案例研究:HTTP 請求函式和 Processor

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

引言

本系列伊始,我們介紹了基於 Java 函式的流應用,以及函式組合上一篇文章提供了在 Spring Cloud Data Flow 中構建和執行簡單流應用的教程。今天,我們將探討 HTTP Request Function,並提供其使用示例。

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

案例研究:使用 HTTP Source 和 JDBC Sink 構建並執行流應用

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

引言

到目前為止,本系列介紹了基於 Java 函式的新流應用,以及函式組合。我們還提供了詳細的示例,說明如何從 supplier 構建 source 以及從 consumer 構建 sink。在這裡,我們繼續旅程,帶來一系列案例研究中的第一篇。每個案例研究都演示瞭如何在各種場景下使用一個或多個可用的預打包 Spring Boot 流應用來構建資料流管道。

今天,我們將展示兩個最常用的應用:HTTP sourceJDBC sink。我們將使用它們來構建一個簡單的服務,該服務接受 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。我們也在放棄 app starters。經過重新組織、重新打包以及(在某些情況下)重寫底層程式碼後,我們現在有了新的 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 版本釋出。除了許多小的 bug 修復和增強之外,此版本還包含一些顯著的新特性,使使用 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 社群所有即將舉行的活動。

檢視全部