第三部分:开发Session Bean
新建EJB模块:
选择菜单:New〉Enterprise〉EJB〉EJB Designer,弹出对话框中选择New,选择Create empty EJB Module,点击next,填入名称Trader,一路OK即可。
设计EJB:
1、新建session bean:在打开的EJB Designer窗口(现在JBuilder的右边窗口)中右键菜单〉create EJB〉Session Bean。
2、修改bean基本性质:Name修改为UserInfo,interface为local,Session Type为Stateful,其他默认。
3、增加属性:右键点击bean设计图〉add〉field,分别添加userName类型String,userAge类型String,loginTime类型Sting。
4、增加方法:右键点击bean设计图〉add〉methed,添加方法showUserInfo,返回类型为HashMap,interface为local。
5、增加ejbCreate方法:右键点击bean设计图〉add〉ejbCreate,输入参数为:String userName, String userAge, String loginTime,home interfaces 为 local home。
6、查看bean的代码:右键点击bean设计图〉view bean source可以查看代码。
最终代码为:
-----------------------------------------------
UserInfoBean.java实现类:
----------------------------------------------
package trader;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import java.util.HashMap;
import org.apache.log4j.Logger;
public class UserInfoBean implements SessionBean {
private final static Logger _logger = Logger.getLogger(UserInfoBean.class);
public UserInfoBean() {
try {
jbInit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
SessionContext sessionContext;
String userName;
String userAge;
String loginTime;
public void ejbCreate(String userName, String userAge,
String loginTime) throws CreateException {
_logger.debug("Session Bean is Created.");
this.userName = userName;
this.userAge = userAge;
this.loginTime = loginTime;
}
public void ejbCreate() throws CreateException {
}
public void ejbRemove() {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void setSessionContext(SessionContext sessionContext) {
this.sessionContext = sessionContext;
}
public HashMap showUserInfo() {
HashMap userInfo = new HashMap();
userInfo.put("userName", this.userName);
userInfo.put("userAge", this.userAge);
userInfo.put("loginTime", this.loginTime);
return userInfo;
}
private void jbInit() throws Exception {
}
}
----------------------------------------------------
UserInfoLocal.java本地远程接口类:
---------------------------------------------------
package trader;
import javax.ejb.EJBLocalObject;
import java.util.HashMap;
public interface UserInfoLocal extends EJBLocalObject {
public HashMap showUserInfo();
}
-----------------------------------------------------
UserInfoLocalHome.java本地本地接口类
-----------------------------------------------------
package trader;
import javax.ejb.EJBLocalHome;
import javax.ejb.CreateException;
public interface UserInfoLocalHome extends EJBLocalHome {
public UserInfoLocal create() throws CreateException;
public UserInfoLocal create(String userName, String userAge,
String loginTime) throws CreateException;
}
OK,现在我们的EJB已经可以运行了,下一部分我们将测试这个Session Bean。(未完待续)