含义:

企业级的JavaBeans(Enterprise JavaBean),其设计目标是部署分布式应用程序。

EJB是J2EE的一部分,称为Java企业Bean,它把使用Java开发的服务器组件的部署和开发进行标准化。

类型:

主要有三种:会话bean,实体bean和消息驱动bean。其中会话bean又包含无状态会话bean和有状态会话bean。

会话bean——完成一个清晰的解耦的任务。例如检查账户历史记录等

实体bean——代表存在于数据库中业务的复杂业务实体。

消息驱动bean——用于接收异步JMS消息。

1)无状态会话bean

无状态会话Bean没有中间状态。它们不保持追踪一个方法调用另一个方法传递的信息。因此一个无状态业务方法的每一次调用与它的前一个调用都是独立的。因为他们彼此之间是独立的,所以不需要维护状态。

特点:提供独立的服务,不维持客户端的状态。只在内存中保存,EJB服务器崩溃后不再保存。

2)有状态会话bean

一个有状态的会话bean跨越多个方法调用,它需要维护状态。

例如

融资审批流程,需要先填写计划,再经过层层审批,然后才能走完流程。在流程中,如果遇到系统崩溃或网络故障,其状态是需要保留的。

特点

提供会话的交互,存储客户端的行为状态。在内存中维持,同样在EJB服务器崩溃后不再保存。

3)实体bean

持久性数据在内存中的体现,与前两者不同的事,在应用服务器崩溃后能够恢复。并且它支持来自多个客户的并发访问。

实例

在银行系统中,一个EJB代表一个银行账户。在图书管理系统中,一个EJB代表一本书。在订单管理系统中,一个EJB代表一个客户。

4)消息驱动

唯一一种必须实现一个业务接口的Bean。在消息之间,维持状态的异步组件。

EJB接口

两个可由客户使用的远程接口:Home接口和Remote接口。

1)Home对象

EJB对象的“工厂”或“代理”,管理EJB实例的生命周期。它在所有的EJB的客户间共享。

实例:

//定义home接口

package simplestateless;
import javax.ejb.EJBHome;
import javax.ejb.CreateException;
import java.rmi.RemoteException; public interface StatelessHome extends EJBHome{
public Stateless create() throws CreateException,RemoteException;
}

2)Remote对象

负责EJB的业务操作。

实例:

//定义远程接口

package simplestateless;

import javax.ejb.EJBObject;
import java.rmi.RemoteException; public interface Stateless extends EJBObject{
public double DollarToRMB(double dollar) throws
RemoteException;
}

小结:

      对EJB只是一个初步的了解,期待后续学习的补充。

J2EE的十三个技术——EJB之概述的更多相关文章

  1. J2EE的十三个技术——EJB之实体Bean

    概述: 实体Bean与会话Bean不同,实体Bean是持久的,即使应用程序结束,它仍然存在.它允许共享访问,具有主键. 组成: 1)本地(Local)接口 本地访问EJB,只有在EJB与客户在同一个应 ...

  2. J2EE的十三个技术——EJB之消息驱动JMS

    JMS--Java Message Service JAVA的消息服务,消息可实现两端通信. 用于访问面向消息中间件的标准api,他提供与厂商无关的访问方法,以访问消息收发服务. 特点:即使其中一方不 ...

  3. J2EE的十三种技术(规范)

    J2EE的十三种技术(规范)  Java数据库连接(JDBC) JDBC API以一个统一的方式访问各种数据库.与ODBC类似,JDBC将开发者和私有数据库之间的问题隔离开来.由于它建立在Java上, ...

  4. j2ee的十三种技术

    J2EE的十三种技术(规范)  种不同的驱动,具体来说,包括有: 类型1:JDBC-ODBC桥 在JDBC刚产生时,JDBC-ODBC桥是非常有用的.通过它,开发者可以使用JDBC来访问一个ODBC数 ...

  5. J2EE的十三个技术——JSP

    简介 JSP,Java Server  Page,Java服务器页面.它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记,从而形成JSP文件,后缀名为(*.jsp). ...

  6. J2EE的十三种技术——JNDI

    背景: 上一篇博客中介绍了J2EE的十三种技术之一--JDBC,主要用于提供了统一访问多种数据库的方式.这篇文章我们继续介绍J2EE的技术--JNDI. JNDI: Java Naming and D ...

  7. J2EE的十三种技术——JDBC

    背景: 之前准备软考的时候,我们就学习过J2SE的视频.在进入J2EE之前,一定要复习和回顾下Java的基础知识,这对以后的学习十分重要.首先,简单回忆下java的体系结构.Java有三个体系结构:J ...

  8. J2EE的十三个技术——Servlet

    简介: 基于协议的请求/响应服务的Java类.通俗的说,Servlet是在服务器上运行的小程序.为什么叫Servlet?Applet表示小应用程序,Server+Applet即为Servlet,表示小 ...

  9. JAVA EE的十三种技术

    java ee 的十三中技术 一.jdbc 1). jdbc-odbc桥 2). jdbc-native 驱动桥 3). jdbc-network 桥 4). 纯java驱动 二. java命令和目录 ...

随机推荐

  1. path、classpath理解

    path.classpath最常见的场景:环境变量配置 path环境变量:设置path的作用是让操作系统可以找到JDK命令(指定了JDK命令搜索路径):path环境变量原来Windows里面就有,只需 ...

  2. ReactiveObjC框架的简单介绍

    最近在一直在学习RAC框架的Object-C版本ReactiveObjC(Swift版本为ReactiveSwift),这篇文章简单展示一下学习的成果!!!如果有什么地方理解错误,欢迎大家指正!!!互 ...

  3. Python 初始—(迭代器和生成器)

    生成器也是一个迭代器,通过next()函数实现按需计算下一个数据列表生成器,使代码变得更加简洁,只记录当前的位置,只有__next__(), (i*2 for i in range(10)) 生成器( ...

  4. Hibernate进阶学习4

    Hibernate进阶学习4 深入学习hibernate的查询语句 测试HQL查询 package com.hibernate.test; import com.hibernate.domain.Cu ...

  5. html编写头部,mata的含义

    <meta name="viewport" content="width=device-width, initial-scale=1.0"> con ...

  6. Flask初学者:蓝图Blueprint

    蓝图这个名字好像就是根据单词Blueprint字面意思来,跟平常我们理解的蓝图完全挂不上钩,这里蓝图就是指Blueprint. 使用蓝图的好处是可以将不同功能作用的视图函数/类视图放到不同的模块中,可 ...

  7. Multiplication Puzzle ZOJ - 1602

    Multiplication Puzzle ZOJ - 1602 传送门 The multiplication puzzle is played with a row of cards, each c ...

  8. C++机试笔记

  9. P2158 [SDOI2008]仪仗队 欧拉函数模板

    题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...

  10. ElasticSearch 之 Client

    在使用ElasticSearch的时候,我们需要与Cluster通信,Java版本的API提供了几种方式来构造Client,进而通过Client操作Cluster.   1)使用Node与clusto ...