文档介绍:Enterprise JavaBeans
写EJB项目步骤:
。
(类路径):
EJB目录/lib/ //编译时
EJB目录/lib/appserv- //运行时
如:liunx下配置
export CLASSPATH=.:opt/EJB/lib/:opt/EJB/lib/appserv-:$CLASSPATH
,需要暴露的接口:Remote,Local
必须要有接口与实现类;远程通过接口中暴露的方法,向服务器发起调用,用服务器调用具体的实现类
public interface BeanRemote{
String m1(String v);
}
//只在服务器端有
//无状态模式
***@Stateless
***@Remote()
public Bean implements BeanRemote{
String m1(String v){
//方法实现的代码
};
}
。
7.(可选)写一个测试类测试
public class BeanTest {
public BeanTest() {}
public static void main(String[] args) throws NamingException {
//设置远程访问的IP地址
("","");
InitialContext context=new InitialContext();
//在上下文中查询
BeanRemote beanRemote=(BeanRemote) (());
//调用BeanRemote的方法
String s=("abc");
}
}
==============================================================================================
EJB day2 Thursday
Session Bean
特点:存入Bean pool,无成员属性保存数据
Stateful Session Bean
特点:存入cache中,成员属性保存数据,只供各自客户端使用
of Session Bean(生命周期)
------------------------------------------------
Stateless and Stateful 注释
***@Stateless :声明该Session Bean是无状态的
***@Stateful :声明该Session Bean是有状态的
*写这些注释的方法的标准:public void method() //只有method可自己命名
***@PostConstruct :在Session Bean创建后,调用该方法
***@PreDestroy :在Session Bean销毁前,调用该方法
***@Remove :(Stateless 中无用)接口中暴露该方法,由客户端主动调用该方法,调用后会销毁Session Bean,销毁前会调用***@PreDestroy(有则调用)
Stateful 注释
***@PrePassivate :内存cache中Session Bean被用完时,回根据配置的策略选一个Session Bean存到磁盘中(叫遁化)前调用该方法
***@PostActivate :从磁盘中取回数据到内存cache中后,调用该方法
三中策略:
LRU:最近最少使用策略
FIFO:先进先出策略
NRU:(Not Recently Used)这种近似LRU算法,已经退化成一种"最近不用"的算法
Beans
一般端口设置:
Admin port:4848
Domain Http port:8080
ORB Listener Port:3700
HTTPS port 8181
用NetBeans写EJB
选择新建项目:企业(Enterprise)->企业应用(Enterpr