J2EE的十三个技术——EJB之概述
含义:
企业级的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之概述的更多相关文章
- J2EE的十三个技术——EJB之实体Bean
概述: 实体Bean与会话Bean不同,实体Bean是持久的,即使应用程序结束,它仍然存在.它允许共享访问,具有主键. 组成: 1)本地(Local)接口 本地访问EJB,只有在EJB与客户在同一个应 ...
- J2EE的十三个技术——EJB之消息驱动JMS
JMS--Java Message Service JAVA的消息服务,消息可实现两端通信. 用于访问面向消息中间件的标准api,他提供与厂商无关的访问方法,以访问消息收发服务. 特点:即使其中一方不 ...
- J2EE的十三种技术(规范)
J2EE的十三种技术(规范) Java数据库连接(JDBC) JDBC API以一个统一的方式访问各种数据库.与ODBC类似,JDBC将开发者和私有数据库之间的问题隔离开来.由于它建立在Java上, ...
- j2ee的十三种技术
J2EE的十三种技术(规范) 种不同的驱动,具体来说,包括有: 类型1:JDBC-ODBC桥 在JDBC刚产生时,JDBC-ODBC桥是非常有用的.通过它,开发者可以使用JDBC来访问一个ODBC数 ...
- J2EE的十三个技术——JSP
简介 JSP,Java Server Page,Java服务器页面.它是在传统的网页HTML文件中插入Java程序段(Scriptlet)和JSP标记,从而形成JSP文件,后缀名为(*.jsp). ...
- J2EE的十三种技术——JNDI
背景: 上一篇博客中介绍了J2EE的十三种技术之一--JDBC,主要用于提供了统一访问多种数据库的方式.这篇文章我们继续介绍J2EE的技术--JNDI. JNDI: Java Naming and D ...
- J2EE的十三种技术——JDBC
背景: 之前准备软考的时候,我们就学习过J2SE的视频.在进入J2EE之前,一定要复习和回顾下Java的基础知识,这对以后的学习十分重要.首先,简单回忆下java的体系结构.Java有三个体系结构:J ...
- J2EE的十三个技术——Servlet
简介: 基于协议的请求/响应服务的Java类.通俗的说,Servlet是在服务器上运行的小程序.为什么叫Servlet?Applet表示小应用程序,Server+Applet即为Servlet,表示小 ...
- JAVA EE的十三种技术
java ee 的十三中技术 一.jdbc 1). jdbc-odbc桥 2). jdbc-native 驱动桥 3). jdbc-network 桥 4). 纯java驱动 二. java命令和目录 ...
随机推荐
- burpsuite 出现 ssl_error_no_cypher_overlap
解决方案一:1.浏览器地址栏输入 about:config2.查找 security.tls.version.fallback-limit 和 security.tls.version.min,并将值 ...
- JavaScript你必须掌握的8大知识点
一:JavaScript思维导图之<基本dom操作> 二.JavaScript思维导图之<变量>的学习 三. JavaScript思维导图之<函数基础> 四.J ...
- 【Java】多线程相关复习—— 线程的创建、名字、运行情况以及顺序控制(join方法) 【一】
一.创建线程的三种方式 · 继承Thread类 · 实现Runnable接口 · 实现Callable接口 二. 线程状态 · 线程名字 getName() · 线程活动情况 isAlive() · ...
- JS笔试汇总
//console.log(a[b]); var a={}; var b={key:'b'}; var c={key:'c'}; a[b] = 456; a[c] = 123; console.log ...
- C#爬虫实践
忘了什么时候加的,iPad上的人人视频追剧了<我的天才女友>,没事的时候看了下,感觉还不错,进一步了解到原著那不勒斯四部曲,感觉视频进度有些慢,就想找找书看看,一时没找到[PS:购买实体书 ...
- 正则(re 模块)
就其本质而言,正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现.正则表达式模式被编译成一系列的字节码,然后由用 C 编写的匹 ...
- Web前端开发面试技巧
Web前端开发面试技巧 面试前端工程师对我来说是一件非常有意思的事,因为面试过程很大程度上也是自我提升的过程.无论大公司还是小公司,之所以在如何招聘到真正有能力的,前端工程师方面会遇到同样的问题. 近 ...
- xml中Node和Element的区别
本文转载自:http://blog.csdn.net/wcydiyi/article/details/4432636点击打开链接 1.元素(Element)和结点(Node)的区别: ...
- 636. Exclusive Time of Functions
// TODO: need improve!!! class Log { public: int id; bool start; int timestamp; int comp; // compasa ...
- 笔记-python-多环境-virtualenv
笔记-python-多环境-virtualenv 1. 多环境 在开发Python应用程序的时候,系统安装的Python3只有一个版本:3.6.4,所有第三方的包都会被pip安装到Pytho ...