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();
}
}
run.bat -c allejbjar 打包部署run 啟動 Client 測試hypersonic 或外部 DB 正常運行。