EJB3.0基本概念!!!

Enterprise JavaBean(EJB)定义了三种企业Bean,分别是会话Bean(Session Bean),实体Bean(Entity Bean)
和消息驱动Bean(MessageDriven Bean)。
Session Bean:Session Bean 用于实现业务逻辑,它分为有状态bean 和无状态bean。每当客户端请求时,容器就
会选择一个Session Bean 来为客户端服务。Session Bean 可以直接访问数据库,但更多时候,它会通过Entity Bean
实现数据访问。
无状态会话Bean 主要用来实现单次使用的服务,该服务能被启用许多次,但是由于无状态会话Bean 并不保留任
何有关状态的信息,其效果是每次调用提供单独的使用。在很多情况下,无状态会话Bean 提供可重用的单次使
用服务。
有状态Bean 是一个可以维持自身状态的会话Bean。每个用户都有自己的一个实例,在用户的生存期内,Stateful
Session Bean 保持了用户的信息,即“有状态”;一旦用户灭亡(调用结束或实例结束),Stateful Session Bean 的
生命期也告结束。即每个用户最初都会得到一个初始的Stateful Session Bean。
这两种Session Bean 都可以将系统逻辑放在方法之中执行,不同的是Stateful Session Bean 可以记录呼叫者的状态,
因此一个使用者会有自己的一个实例。Stateless Session Bean 虽然也是逻辑组件,但是他却不负责记录使用者状态,
也就是说当使用者呼叫Stateless Session Bean 的时候,EJB 容器并不会寻找特定的Stateless Session Bean 的实体来
执行这个method。换言之,很可能数个使用者在执行某个Stateless Session Bean 的methods 时,会是同一个Bean
的实例在执行。从内存方面来看,Stateful Session Bean 与Stateless Session Bean 比较,Stateful Session Bean 会消
耗J2EE Server 较多的内存,然而Stateful Session Bean 的优势却在于他可以维持使用者的状态。
实体Bean:从名字上我们就能猜到,实体bean 代表真实物体的数据,在JDBC+JavaBean 编程中,通常把JDBC
查询的结果信息存入JavaBean,然后供后面程序进行处理。在这里你可以把实体Bean 看作是用来存放数据的
JavaBean。但比普通JavaBean 多了一个功能,实体bean 除了担负起存放数据的角色,还要负责跟数据库表进行
对象与关系映射(O/R Mapping)。
消息驱动Bean(MDB):是设计用来专门处理基于消息请求的组件。它能够收发异步JMS 消息,并能够轻易地与
其他EJB 交互。它特别适合用于当一个业务执行的时间很长,而执行结果无需实时向用户反馈的这样一个场合。
因为JNDI 是一组接口,所以我们只需根据接口规范编程就可以。要通过JNDI 进行资源访问,我们必须设置初始化上下文的参数,主要是设置JNDI 驱动的类名。因为Jndi 的实现产品有很多。
下面是访问Jboss 服务器的例子代码:
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
props.setProperty("java.naming.provider.url", "localhost:1099");
下面是访问Sun 应用服务器的例子代码:
Properties props = new Properties();
props.setProperty("java.naming.factory.initial","com.sun.enterprise.naming.SerialInitContextFactory");
props.setProperty("java.naming.provider.url", "localhost:3700");
下面是访问Weblogic10 应用服务器的例子代码:
Properties props = new Properties();
props.setProperty("java.naming.factory.initial", "weblogic.jndi.WLInitialContextFactory");
props.setProperty("java.naming.provider.url", "t3://localhost:7001");

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值