### EJB知识与运行环境设置 #### EJB概述 企业JavaBeans (EJB) 是Java平台对企业级应用程序组件的一种标准化模型。它属于Java EE规范的一部分,主要用于构建可移植的企业级应用。EJB定义了三种主要的Bean类型: 1. **会话Bean(Session Bean)**: - 会话Bean通常用于实现业务逻辑。 - 分为**有状态(Stateful)Bean**和**无状态(Stateless)Bean**。 - **有状态Bean**:用于维护与特定客户端交互过程中的状态信息,即客户端与Bean之间的每次交互都建立在前一次交互的基础上。因此,对于需要维护一系列连续调用间的状态的应用来说,有状态Bean非常有用。 - **无状态Bean**:对于每次客户端请求,它们都不保留任何状态信息,即每次调用都是独立的,不受之前调用的影响。 2. **实体Bean(Entity Bean)**: - 实体Bean代表持久化数据,相当于持久化层的对象。 - 它们被当作POJO(Plain Old Java Object)来使用,并负责与数据库进行对象关系映射(ORM)。 3. **消息驱动Bean(Message-Driven Bean)**: - 被设计用来处理消息请求。 - 它能够收发异步消息,并轻易地与其他EJB交互。 - 特别适用于当一个业务执行时间很长,而执行结果无需实时向用户反馈的场合。 #### 支持EJB3.0的应用服务器 目前,支持EJB3.0的应用服务器包括但不限于以下几种: - JBOSS(4.2.x以上) - Glassfish - WebLogic(10以上) - Sun Application Server(9.0以上) #### JBoss配置与环境变量设置 为了便于Ant打包发布等操作,建议设置`JBOSS_HOME`环境变量。此外,JBoss的主要目录结构如下: 1. **client**:客户端与JBoss通信所需的API库。 - 通常,我们会将该目录下的所有jar文件加入到Classpath中。 2. **server/default**:默认配置,包含Java EE应用所需的大部分标准服务,但不包含JAXR、IIOP或其他任何集群服务。 3. **server/default/deploy**:JBoss的热部署目录。 - 任何位于此目录下的文件或目录都会被自动部署,比如ear、war、jar,甚至服务。 #### 会话Bean实现细节 ##### 无状态会话Bean实现 1. **实例池(Instance Pooling)技术**: - 当无状态会话Bean被部署在应用服务器上时,EJB容器会预先创建好该Bean的一些实例并放入对象池中。 - 类似于使用数据库连接池,当收到对EJB方法的访问请求时,EJB容器会提取出一个实例为之服务,服务完毕后,再放回对象池中。 - 由于无状态会话Bean更具性能优势,因此条件允许的情况下,应优先考虑使用无状态会话Bean。 2. **开发实现了远程接口的无状态Bean**: - 定义一个普通的接口,该接口应该包含业务逻辑方法。EJB客户端会使用这个接口类型的引用,去引用从EJB容器返回的存根(Stub)。 - 编写实现类: - 使用两个注释`@Stateless`和`@Remote`。 - `@Stateless`的属性`name()`:定义EJB的名称,在每个EJB JAR中,该名称必须是唯一的;但在EAR中,是可以重复的。 - `mappedName()`:指定Bean的全局JNDI名称,这个属性在WebLogic、Sun Application Server和Glassfish上有效。 - `@Remote`为无状态会话Bean指定远程接口,接受`.class`类型的属性;每个Bean可以有多个远程接口,每个接口可以用逗号分开,如:`@Remote({Hello.class, HelloWorld.class, World.class})` ##### 打包导出JAR文件 可以通过以下两种方式打包导出JAR文件: 1. **Eclipse打包向导** 2. **Ant打包任务** - 通过`build.xml`配置打包任务,例如: ```xml <?xml version="1.0" encoding="UTF-8"?> <project name="HelloWorld" basedir="."> <property environment="env"/> <property name="src.dir" value="${basedir}/src"/> <property name="jboss.home" value="${env.JBOSS_HOME}"/> <property name="jboss.server.config" value="default"/> <property name="build.dir" value="${basedir}/build"/> <property name="build.classes.dir" value="${build.dir}/classes"/> <path id="build.classpath"> <fileset dir="${jboss.home}/client"> <include name="*.jar"/> </fileset> <pathelement location="${build.classes.dir}"/> </path> <target name="prepare"> <delete... ``` 以上是对EJB知识与运行环境设置的基本概述及其关键概念和技术要点的详细介绍。这些知识点涵盖了EJB的基础概念、不同类型的Bean、如何实现会话Bean以及如何配置和部署EJB应用等内容。希望这些信息对你有所帮助!

































剩余30页未读,继续阅读


- 粉丝: 1
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 背单词微信小程序.zip
- 测量与工程测量-测量工作概述.ppt
- 无线对讲覆盖系统.doc
- 微信小程序 - 王者图鉴.zip
- 很多微信小程序的源码.zip
- 地产项目材料(设备)初选会签表.doc
- 本科生网络课程讲义cn-chapt1.ppt
- 微信小程序 demo for 知晓云 Serverless SDK.zip
- 微信小程序 手势事件.zip
- 白灰窑工程的钢结构制作安装施工组织设计方案.doc
- ONE·一个_图文 微信小程序_开源代码(1).zip
- 微信小程序评分组件.zip
- 工程建设中“两个总包”的法律问题简析.doc
- 微信小程序富文本解析.zip
- 微信小程序开发框架、资源-干货汇总.zip
- 微信开发 Java SDK ,支持包括微信支付,开放平台,小程序,企业微信,视频号,公众号等的后端开发.zip


