JAVA_HOMEj2sdkee-1_2_1-win.exe (SDK) 、j2sdkee-1_2_1-doc-win.exe (文檔)C:\j2sdkee1.2.1,建議改為 C:\j2ee 便於配置C:\j2ee\docJAVA_HOME=C:\JDK (你的 JDK 目錄)J2EE_HOME=C:\j2eeCLASSPATH 追加 C:\j2ee\lib\j2ee.jar;.C:\j2ee\bin> j2ee -verbose
J2EE server Listen Port: = 1049
Naming service started: :1050
Published the configuration object ...
Binding DataSource, name = jdbc/Cloudscape, url = jdbc:cloudscape:rmi:Cloudscape DB;create=true
Web service started: 9191
Web service started: 8000
Web service started: 7000
J2EE server startup complete.
瀏覽器訪問 https://localhost:8000 確認 Web 容器運行。
// Converter.java (Remote Interface)
public interface Converter extends EJBObject {
double dollarToYen(double dollars) throws RemoteException;
double yenToEuro(double yen) throws RemoteException;
}
// ConverterHome.java (Home Interface)
public interface ConverterHome extends EJBHome {
Converter create() throws RemoteException, CreateException;
}
// ConverterEJB.java (Bean Implementation)
public class ConverterEJB implements SessionBean {
public double dollarToYen(double dollars) { return dollars * 121.6; }
public double yenToEuro(double yen) { return yen * 0.0077; }
// EJB 生命週期方法
public void ejbCreate() {}
public void ejbRemove() {}
public void ejbActivate() {}
public void ejbPassivate() {}
public void setSessionContext(SessionContext sc) {}
}
C:\MYEJB\converter> javac *.java
C:\j2ee\bin> deploytoolc:\MYEJB\converter\test.ear, Display Name: testC:\MYEJB\converterConverterEJB, Home: ConverterHome, Remote: Converter, Display Name: MyTest, Type: Stateless SessionMyConverter (需與 Client 程式碼一致) → Finish// ConverterClient.java
public class ConverterClient {
public static void main(String[] args) {
try {
Context initial = new InitialContext();
Object objref = initial.lookup("MyConverter");
ConverterHome home = (ConverterHome) PortableRemoteObject.narrow(objref, ConverterHome.class);
Converter converter = home.create();
System.out.println(converter.dollarToYen(100.00)); // 12160.0
System.out.println(converter.yenToEuro(100.00)); // 0.77
} catch (Exception ex) { ex.printStackTrace(); }
}
}
C:\MYEJB\converter> java -classpath C:\j2ee\lib\j2ee.jar;.;testClient.jar ConverterClient
12160.0
0.77
j2ee.jar 或 testClient.jardeploytool 設定不一致deploytool -J-Xmx256m文中路徑反斜線 \ 為全形字元,實際使用請改為半形 \ (Windows) 或 / (跨平台)。