EJB 入門最大的門檻在環境配置與概念理解。本文基於 Sun J2EE SDK + JBuilder,提供最簡單的無狀態會話 Bean 完整示例:遠程接口、Home 接口、Bean 實現類,附編譯部署要點。

javax.ejb.EJBObject 子接口,定義業務方法javax.ejb.EJBHome 子接口,定義創建/查找方法javax.ejb.SessionBean,含業務邏輯與生命周期回調package ejbtest;
import javax.ejb.EJBObject;
import java.rmi.RemoteException;
public interface Converter extends EJBObject {
public double dollarToYen(double dollars) throws RemoteException;
public double yenToEuro(double yen) throws RemoteException;
}
package ejbtest;
import java.rmi.RemoteException;
import javax.ejb.CreateException;
import javax.ejb.EJBHome;
public interface ConverterHome extends EJBHome {
Converter create() throws RemoteException, CreateException;
}
package ejbtest;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import java.rmi.RemoteException;
public class ConverterEJB implements SessionBean {
// 業務方法
public double dollarToYen(double dollars) {
return dollars * 121.6000;
}
public double yenToEuro(double yen) {
return yen * 0.0077;
}
// 生命周期回調(無狀態通常為空)
public ConverterEJB() {}
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext sc) {}
}
j2ee.jar(含 javax.ejb.*)j2ee.jarCLASSPATH 包含 j2ee.jar.class 文件到 bin/Error #:302 cannot access class javax.ejb → 缺少 j2ee.jarEJBObject,方法拋 RemoteExceptionEJBHome,create() 拋 CreateException + RemoteExceptionSessionBean,容器管理生命周期EJB 3.0 雖簡化了開發(註解替代 XML、引入依賴注入),但理解經典 3.0 接口模式仍是掌握 EJB 本質的基石。環境配置是入門第一關,跨過它,即可進入企業級組件開發大門。