J2EE 規範龐雜、技術棧豐富,且無「銀彈」。結合 JBoss 3.2.1 實戰經驗,提煉四大開發鐵律,助團隊在商業需求與技術實現間找到平衡。
→ 採用 Entity Beans + CMP 2.x + Cache(Commit Option D),同步外部數據源,配置 Read-Only Bean 提升讀性能。或引入 TopLink 等 O/R Mapping。
→ 採用 CMP Entity Beans + Local Interface + CMR + Session Facade。EJB 2.x 已大幅改善 1.1 時代惡名,關鍵在於 standardjboss.xml 中的 Bean Lock Strategy 調優,將性能關注點從 DB 層上移至 EJB 容器層,兼顧移植性。
拒絕「為技術而技術」,每個技術選型必須對應具體業務約束(數據來源、併發量、遷移需求、團隊能力)。
| 框架 | 定位 | 適用建議 |
|---|---|---|
| Struts 1.x | MVC Web 框架 | 成熟穩定,利於 JSF 遷移,首選 |
| Log4j | 日誌門面 | 簡單高效靈活,JBoss 內建採用,必選 |
| realMethods | 全棧 J2EE 框架 | 開源且源碼可讀,適合研究設計模式落地 |
| BC4J | Oracle 商業組件 | 企業級支援,成本高,視預算而定 |
現實團隊常只有:美工、JSP 開發、EJB 開發三角色。關鍵實踐:
| 測試層級 | 工具/手段 | 關注點 |
|---|---|---|
| 單元測試 | JUnit | 功能正確性、邊界條件 |
| 集成測試 | OptimizeIt Suite (Profiler/Code Coverage/Thread Debugger) | 內存洩漏、性能瓶頸、線程死鎖 |
| 壓力/性能測試 | Rational Robot | 吞吐量、響應時間、穩定性 |
成功的 J2EE 專案 = 正確架構選型 × 克制框架慾望 × 適配團隊流程 × 嚴守工程質量。四者缺一不可。