JBoss EAP 深入淺出:從認識容器,到看懂部署與交易
Spring Boot 的工單 API 已經能用 java -jar 啟動,到了公司卻要放進 JBoss,旁邊還有 EAR、MDB、JNDI 與一堆 XML。要補的知識是:哪些責任原本由應用自己處理,現在交給哪個容器。這個系列沿著部署與資源往下走,不先要求你背完整設定檔。
JBoss、WildFly、EAP:先把名字對上
JBoss 常被當成歷史名稱或產品家族的簡稱,口頭說「放到 JBoss」還不足以確定版本。WildFly 是社群應用伺服器專案;JBoss EAP 是 Red Hat 以社群成果為基礎,經過整合、穩定化與支援的企業產品。WildFly 的版本與 EAP 不可直接畫等號,找到網路範例前先核對產品、版本與修補層級。
這裡以 EAP 8.1、Jakarta EE 10 與 Java 21 升級情境教學,文件查核日為 2026-10-04。Java 廠商、作業系統、EAP update 與 IBM MQ/DB2 的精確支援組合,仍要查各家矩陣。這個系列不是 EAP 認證課程,也沒有聲稱已完成你的企業系統整合。
接著學的六件事
| 課程 | 主要問題 | 練習產物 |
|---|---|---|
| 01 模式 | 我連到的是哪個 server? | 模式與管理位置表 |
| 02 部署 | 上傳 WAR 與 API 可用差在哪? | 產物到 URL 的路徑 |
| 03 模組 | 明明有 jar,為何還找不到類別? | 函式庫提供者表 |
| 04 資料 | JNDI 找得到,是否就代表交易正確? | 資料來源與交易邊界 |
| 05 訊息 | MDB 收到訊息後,誰決定提交與重送? | MQ/DB 失敗案例 |
| 06 驗證 | 要拿哪些證據說明升級前後一致? | 一個完整比對案例 |
先分開三種證據
離線練習讀本機的合成 XML,幫你認出宣告;管理 CLI 觀察指定實例目前的模型或 runtime;業務案例才觀察 HTTP、DB、MQ 與 log 的結果。三者各自回答不同問題。工具讀到 enabled="true",不能說明某個 WAR 此刻已啟動,更不能說它處理訂單沒有重複。
下載包不包含 EAP、MQ 或 DB2,也不需要公司憑證。Python 工具只讀選定欄位;假 XML 使用教學 namespace,不能當成 EAP 設定部署。有環境時再按照每課提示收集管理資料,先確認實例與權限,不要把練習命令整包貼到正式站。
與 Spring Boot 系列怎麼接
Controller、Service 與依賴注入仍在應用裡;EAP 多了外部 HTTP 容器、部署、模組與企業資源的管理責任。EJB、CDI 與 Spring 的物件生命週期也要分開看。若目前還說不出一個 HTTP 請求怎麼走到 Service,先補 Spring Boot 第一、二課,再回來讀部署。
回到 Spring Boot 深入淺出系列下載 EAP 離線學習包:盤點工具、練習與工作表下一課:01:伺服器、模式與管理面第 07 課實作:執行升級行為比對練習第 08 課實作:建立並檢查 Spring Boot WAR第 09 課:Spring XML 與交易對照第 10 課:MDB 與重送模型