
- Taipei, Taiwan
-
SpringBoot - 第三十九章 | Spring Security 安全控制
我們在編寫Web應用時,經常需要對頁面做一些安全控制,比如:對於沒有訪問權限的用戶需要轉到登錄表單頁面。要實現訪問控制的方法多種多樣,可以通過Aop、攔截器實現,也可以通過框架實現(如:Apache Shiro、Spring Security)。 以下會使用到 Thymeleaf 模板引擎,可...
-
SpringBoot - 第三十八章 | 過濾器,監聽器,攔截器
在開發過程中,總存在著這樣的場景,比如攔截請求的ip地址,或者在所有的請求都返回相同的資料,如果每一個方法都寫出相同資料固然可以實現,但是隨著項目的變大,重複的代碼會越來越多,所以在這種情況我們可以用過濾器、監聽器、攔截器來實現以上功能。 過濾器(Filter) 過濾器Filter...
-
SpringBoot - 第三十七章 | ActiveMQ的集成和使用
於 SpringBoot - 第二十六章 | RabbitMQ的集成和使用 介紹過RabbitMQ,這章節講解下消息隊列ActiveMQ的集成和簡單使用示例。 ActiveMQ介绍 什麼是Apache ActiveMQ Artemis? Apache ActiveMQ ...
-
Docker - 第七章 | 安裝ActiveMQ
因為公司使用的是ActiveMQ,這幾天再確認ActiveMQ的一些機制和使用,讓我們直接開始使用Docker啟動一個ActiveMQ環境吧。 在 docker hub 上 activemq 的 tag 很多,但是我們使用 webcenter ,因為可以看到監控頁面。 搜尋 Image ...
-
SpringBoot - 第三十六章 | @Async 實現異步調用:使用Future以及定義超時
在前面已經閱讀研究了幾篇關於使用 @Async 實現異步調用的內容,雖然多數都是參考別人的文章,但是自己動手做實踐才是最重要的,這邊又參考了一篇使用Future以及定義超時。 關於 @Async 註解,可以看看之前的文章: SpringBoot - 第三十三章 | @Async 實現異步調用...
-
SpringBoot - 第三十五章 | @Async 實現異步調用:ThreadPoolTaskScheduler線程池的優雅關閉
我們在前面 SpringBoot - 第三十四章 | @Async 實現異步調用:自定義線程池 ,介紹如何使用 @Async 註解來實現異步調用了。但是發現了不少異步任務沒有正確處理而導致的不少問題,這邊針對ThreadPoolTaskScheduler線程池說明線程池的優雅關閉。 這...
-
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...