set JAVA_CLASSPATH=%JAVA_HOME%\lib\classes.zip;.\classes\boot;.\eval\cloudscape\lib\cloudscape.jar;D:\Oracle\Ora81\jdbc\lib\classes12.zip
set Weblogic_CLASSPATH=.\license;.\classes;
.\lib\Weblogicaux.jar;.\myserver\serverclasses;D:\Oracle\Ora81\jdbc\lib\classes12.zip;
工程建好后,点击Project→project property,打开Enterprise标签,确保选中的Application server 是Weblogic5.1,再打开Build标签下的Weblogic标签,确保选中Use Weblogic EJBC to generate stub files选项。
// 容器管理的持久性字段
public abstract void setIdentity(int
identity);
public abstract int getIdentity();
public abstract void setFirstName(String
firstName);
public abstract String getFirstName();
public abstract void setLastName(String
lastName);
public abstract String getLastName();
// 容器管理的关系字段
public abstract void
setContactInfo(ContactInfo info);
public abstract ContactInfo
getContactInfo();
public abstract class ContactInfo {
// 家庭地址信息
public abstract void setStreet(String street);
public abstract String getStreet();
public abstract void setState(String state);
public abstract String getState();
public abstract void setZip(String zip);
public abstract String getZip();
public abstract void setHomePhone(String phone);
public abstract String getHomePhone();
// 工作地址信息
public abstract void setWorkPhone(String phone);
public abstract String getWorkPhone();
public abstract void setEMail(String email);
public abstract String getEMail();
...
}
// Employee bean 的远程接口
public interface Employee extends javax.ejb.EJBObject {
public Address getHomeAddress();
public void setHomeAddress(Address address);
public int getIdentity() throws RemoteException;
public void setFirstName(String firstName) throws
RemoteException;
public String getFirstName()throws RemoteException;
public void setLastName(String lastName) throws
RemoteException;
public String getLastName() throws RemoteException;
}
// Employee bean 的 bean 类
public abstract EmployeeBean implements
javax.ejb.EntityBean {
...
public Address getHomeAddress(){
ContactInfo info = getContactInfo();
Address addr = new Address();
addr.street = info.getStreet();
addr.city = info.getCity();
addr.state = info.getState();
addr.zip = info.getZip();
return addr;
}
public void setHomeAddress(Address addr){
ContactInfo info = getContactInfo();
info.setStreet(addr.street);
info.getCity(addr.city);
info.getState(addr.state);
info.getZip(addr.zip);
}
....
// 容器管理的关系字段
public abstract void setContactInfo(ContactInfo
info);
public abstract ContactInfo getContactInfo();
...
}
public interface MessageDrivenBean extends
MessageListener{
public void onMessage(Message message);
public void ejbCreate();
public void ejbRemove();
public void
setMessageDrivenContext(MessageDrivenContext mdc);
}
"A Beginner's Guide to Enterprise JavaBeans," Mark Johnson(JavaWorld,1998 年 10 月):
Richard Monson-Haefel 的 EJB 开发者网站,EJBNow.com
EJB 2.0,规范
Thought 的 CocoBase
IBM 的 MQ Series
BEA 的 WebLogic JMS Service
Progess Sonic MQ
Richard Monson-Haefel 所写的其它文章:
"Create forward-compatible beans in EJB, Part 1"(JavaWorld,1999 年 12 月)
"Create forward-compatible beans in EJB, Part 2"(JavaWorld,2000 年 1 月)
作者简介
Richard Monson-Haefel 是最近发布的 Enterprise JavaBeans 第二版的作者。他是 OpenEJB 的首席设计师(OpenEJB 是一种开放源代码的 Enterprise JavaBeans 2.0 容器),他曾经以设计师身份为 Enterprise JavaBeans、CORBA、Java RMI 以及其它 Java 方案提供咨询。Monson-Haefel 还维护着一个网站,供人们讨论 Enterprise JavaBeans 和相关的分布式计算技术。可以通过 richard.monson-haefel@javaworld.com 与 Richard Monson-Haefel 联系。