- Taipei, Taiwan
-
SpringBoot - 第三十四章 | @Async 實現異步調用:自定義線程池
我們在前面 SpringBoot - 第三十三章 | @Async 實現異步調用 ,介紹過如何使用 @Async 註解來實現異步調用了。但是,對於這些異步執行的控制是我們保障自身應用健康的基本技能。本文我們就來學習一下,如果通過自定義線程池的方式來控制異步調用的並發。 這邊繼續沿用 ch...
-
SpringBoot - 第三十三章 | @Async 實現異步調用
同步、異步我們經常用到,在Java中我們大部分時間都是在做同步編程,因為Java天生就是同步的,然而我們在某些場景下是需要考慮吞吐量和延遲,也就是我們經常提起的性能問題,那異步避免不了會被提起。 同步調用/異步調用 同步調用:指程序按照定義順序依次執行,每一行程序都必須等待上一行...
-
SpringBoot - 第三十二章 | @Scheduled 建立計劃任務
不管在大大小小的專案上,都會遇到一些需要定時去處理的事務,例如:提醒、寄信、結算⋯等等之類的操作;或是在一個固定的循環時間上需進行的動作,例如:檢查、更新、刪除⋯等等。 建立計劃任務 依照官方範例,構建一個應用程序,使用Spring的@Scheduled註釋每五秒打印一次當前時間。 ...
-
SpringBoot - 第三十一章 | CXF 調用 WebService
在上一章針對WebService用Spring-WS建立客戶端調用, SpringBoot - 第三十章 | WebService簡介及應用 (Client) ,下面這邊要簡單使用CXF來做調用。 這邊繼續沿用 chapter30 的專案來做範例。 CXF 簡單調用 WebSer...
-
SpringBoot - 第三十章 | WebService簡介及應用 (Client)
在上一章針對WebService做了簡單的介紹和Server的架設, SpringBoot - 第二十九章 | WebService簡介及應用 (Server) ,這邊將要繼續Clinet的建置和使用。 Spring-WS建立客戶端調用 加入pom的依賴 1 2 ...
-
SpringBoot - 第二十九章 | WebService簡介及應用 (Server)
在專案開發過程中,常常需要與其他系統做介接,而這些系統往往都有一點年紀了,雖然上了年紀,但是相對他們的穩定度基本上經的起考驗,所以不能說技術老舊就是不好;而在考量到不同的程式語言、架構、環境下,這些系統之間的溝通,我們就會選擇一個比較普羅大眾的一些協議,例如使用SOAP⋯下面將會介紹Spring-...
-
SpringBoot - 第二十八章 | WebSocket簡介及應用
在現實生活中,常常有些需求需要做到全雙工的模式下進行溝通,例如:聊天室、多人線上遊戲(多人卡牌),但是基於 請求/響應 模式的 HTTP/HTTPS 下,如果是對實時性要求較高的場景,客戶端就需要不停的詢問服務端有無可用的資料,這在各方面都是笨拙而不划算的。 而在 WebSocket 的全雙...
-
SpringBoot - 第二十七章 | JavaMailSender發送信件
在開發一些註冊功能、訂閱功能、訂票功能、驗證功能⋯⋯等等,都會透過發送簡訊或是信件的方式通知使用者,基本上內容就是包括了驗證資訊、訂單資訊之類的,而這些內容基本上都是透過模板的方式去做呈現,且可以根據實際上的需求去做調整。例如:我在某網站註冊後,會收到一封需要驗證信箱的信件,或是在網站上訂購了票卷...
-
SpringBoot - 第二十六章 | RabbitMQ的集成和使用
上兩篇文章講了緩存資料庫Redis的使用,在開發過程中,一般上在系統或者應用間通信或者進行異步通知(登錄後發送短信或者郵件等)時,都會使用消息隊列進行解決此業務場景的解耦問題。常見的MQ有kafka、activemq、zeromq、rabbitmq 等等,各大MQ的對比和優劣勢可以自行Google...
-
Docker - 第六章 | 安裝RabbitMQ
後面會使用到RabbitMQ,讓我們直接開始使用Docker啟動一個RabbitMQ環境吧。 在 docker hub 上 rabbitmq 的 tag 很多,但是我們使用 management ,因為可以看到監控頁面。 搜尋 Image 1 docker sear...