首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

EJB 3.0 定時服務開發指南:基於 JBoss 實作範例

     編輯:Java 相關知識

核心改進

EJB 3.0 移除強制實作 ejbTimeout 等回調方法,僅在需要時實作,大幅簡化開發模型。

完整範例結構

  • NewsTimer — 遠端業務介面
  • NewsTimerBean — 無狀態 Session Bean 實作
  • Client — 測試客戶端
  • jndi.properties — JNDI 設定
  • build.xml — Ant 建構腳本

關鍵程式碼

@Remote
public interface NewsTimer {
    void fiveNews();
}

@Stateless
public class NewsTimerBean implements NewsTimer {
    @Resource SessionContext ctx;

    public void fiveNews() {
        ctx.getTimerService().createTimer(
            new Date(System.currentTimeMillis() + 300000),
            "5分鐘新聞提醒"
        );
    }

    @Timeout  // EJB 3.0 以 @Timeout 取代 ejbTimeout
    public void onTimeout(Timer timer) {
        System.out.println("時間到: " + timer.getInfo());
        timer.cancel();
    }
}

部署與測試步驟

  1. 啟動 JBoss: run.bat -c all
  2. Ant 執行 ejbjar 打包部署
  3. Ant 執行 run 啟動 Client 測試

注意事項

  • JBoss 預設以介面全名為 JNDI Name,無需額外配置。
  • 定時器服務依賴資料庫持久化,確保 hypersonic 或外部 DB 正常運行。
  • 叢集環境下定時器需配置 HA 定時器服務避免重複觸發。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved