EJB2 SessionBean

参考资料:
http://jonas.ow2.org/JONAS_5_2_0_M2/doc/doc-en/pdf/ejb2_programmer_guide.pdf

先看了EJB3再看的EJB2,就SessionBean来说,EJB2比EJB3要复杂很多,
EJB3只需要一个接口和实现类,通过注解,然后lookup接口就可以了,但在EJB2中
一个 SessionBean由三个部份组成:

1.Home接口
有一个create方法,用于create 2 中的 EJBObject
用于生成 EJBObject
2.EJBObject 接口
用于定义业务逻辑
3.一个实现 ejb SessioBean 接口的实现类,
SessonBean 接口方法:
ejbCreate,ejbRemove,ejbPassivate,ejbActivate
加上在 2 中申明的业务方法.

SessionBean 写好后还需要在ejb-jar.xml 中进行配置
配置的内容为SessionBean 的配置与事务的配置
home接口,远程,本地接口,实现类的配置
例如:


<enterprise-beans>
<session>
<display-name>exampleSB</display-name>
<ejb-name>Example</ejb-name>
<home>com.jtkj.ejb2.ExampleRemoteHome</home>
<remote>com.jtkj.ejb2.ExampleRemote</remote>
<local-home>com.jtkj.ejb2.ExampleLocalHome</local-home>
<local>com.jtkj.ejb2.ExampleLocal</local>
<ejb-class>com.jtkj.ejb2.Example</ejb-class>
<session-type>Stateless</session-type>
<!--容器管理事务-->
<transaction-type>Container</transaction-type>
</session>
</enterprise-beans>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>example</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>



在ejb-jar.xml 中配置了后还需要在jboss.xml中配置
SessionBean的JNDI 地址
例如:


<jboss>
<enterprise-beans>
<session>
<ejb-name>Example</ejb-name>
<jndi-name>ejb/Example</jndi-name>
<local-jndi-name>Example</local-jndi-name>
</session>
</enterprise-beans>
</jboss>


在远程调用时:
用JNDI Lookup到 一个Home接口的代理类,
Home接口,然后调用home接口的create方法产生一个
远程接口,然后用该接口执行相定义的业务方法.
和EJB3相比,EJB2多了SessionBean的配置,和一个Home接口

在客户端调用sessionBean时需要导入服务端定义的home接口与远程接口,
还需要导入Jboss客户端 jar包,
下面是在NetBean6.8下的一个ejb2例子
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
EJB(Enterprise JavaBeans)中,Session Bean 和 Entity Bean 是两种不同类型的组件,用于实现不同的功能。 1. Session Bean(会话Bean): Session Bean 是用于处理业务逻辑的组件。它代表了一个特定的会话,可以执行一系列相关的操作。Session Bean 可以分为以下两种类型: - Stateless Session Bean(无状态会话Bean):它不保存客户端的状态信息,每个方法调用都是独立的。适用于无需保存客户端状态的业务逻辑。 - Stateful Session Bean(有状态会话Bean):它保存了客户端的状态信息,可以跟踪多个方法调用之间的状态。适用于需要保存客户端状态的业务逻辑。 2. Entity Bean(实体Bean): Entity Bean 用于表示业务领域中的实体对象,例如数据库表中的行。它们持久化到数据库中,并提供对这些实体对象的增删改查等操作。Entity Bean 可以分为以下两种类型: - Container-Managed Persistence(CMP):容器管理持久化。在 CMP 中,容器负责管理实体的持久化,开发人员只需定义实体类和相关的映射关系。 - Bean-Managed Persistence(BMP):Bean管理持久化。在 BMP 中,开发人员需要自己编写代码来控制实体的持久化和数据库访问。 区别和含义: - Session Bean 主要用于处理业务逻辑,不负责持久化数据,而 Entity Bean 用于表示实体对象,并负责将实体对象持久化到数据库中。 - Session Bean 可以是无状态或有状态的,而 Entity Bean 通常是有状态的,因为它们需要维护实体对象的状态和标识。 - Session Bean 的生命周期由客户端决定,而 Entity Bean 的生命周期由容器管理。 - CMP 提供了更简单的持久化解决方案,开发人员无需编写 SQL 或 JDBC 代码,而 BMP 需要开发人员手动管理数据库访问和事务。 需要注意的是,EJB 在 Java EE 6 版本之后已经进入了轻量级的 CDI(Contexts and Dependency Injection)时代,推荐使用 CDI 来管理会话和实体等组件。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值