技術棧與工具鏈
- GlassFish v2 b58d
- NetBeans IDE 6.0 (含 Mevenide Maven 插件)
- Apache Maven 2.0.7
多模塊項目結構
ejb3-remove-stateless (pom, 父項目)
├── ejb3-remove-stateless-ejb3 (ejb, EJB 模塊)
└── ejb3-remove-stateless-client (jar, 客戶端模塊)
關鍵配置要點
- 父項目:`packaging=pom`,配置 Java 版本、公共依賴版本。
- EJB 模塊:`packaging=ejb`,引入 `geronimo-ejb_3.0_spec`,配置 `maven-ejb-plugin` 指定 `ejbVersion=3.0`。
編寫 `@Remote` 接口 `RemovableRemote` 與 `@Stateless(mappedName="Removable")` 實現類 `RemovableBean`。
- 客戶端模塊:依賴 EJB 模塊 + GlassFish `appserv-rt.jar`、`javaee.jar` (system scope)。
編寫 `RemovableClient` 通過 JNDI 查找 `Removable` 調用遠程業務。
配置 `maven-surefire-plugin` 在 `integration-test` 階段運行 `RemovableClientTest`。
部署與驗證流程
- 啟動 GlassFish:`asadmin start-domain domain1`。
- 部署 EJB:`asadmin deploy ejb3-remove-stateless-ejb3/target/ejb3-remove-stateless-ejb3-1.0.jar`。
- 管理控制台 (4848) 確認 Bean 已註冊。
- Maven 構建全項目 → 執行 `integration-test` 階段運行客戶端測試。
控制台輸出 `Look at the server's log`,服務端日誌同步顯示,驗證成功。
總結
Maven 多模塊管理依賴與構建生命周期,NetBeans 圖形化操作降低門檻,GlassFish 原生支援 EJB 3.0,三者結合實現標準化企業級開發交付流程。