EJB学习笔记
J2ee是企业级的计算平台,它为分布式和基于组件的软件开发提供了一个“操作系统”
Ant是什么工具??
EJB:
什么是EJB?
是一种server端组件结构,简化了开发分布式企业级程序的过程
类比:应用server是一个CD播放器,而组件是一张cd,由于有了cd标准,不论什么cd播放器都能播放cd
EJB分为两个部分:
1、 规范
列出了组件与应用server之间相互约定的规则
2、 一组java接口
组件和server都应该
Java bean 与ejb的差别?
Javabean仅仅是一个含有get/set的java类,javabean是不能部署的
EJB中的角色分工:6种分工
1、 bean供应商:编写组件
2、 应用系统组装商:整个系统的架构师,组织组件协同工作
3、 EJB系统部署员:了解各种执行环境,知道怎么样在server中部署bean
4、 系统管理员:维护和监控已经部署好的系统
5、 容器和server提供商:如weblogic、websphere等等
6、 工具供应商:Jbuilder、wsad、Juint、ant等等
EJB技术是基于RMI和JNDI的,学习之前应了解这两项技术
一个企业级BEAN是一个能够在分布式环境中部署的server端软件组件,一个EJB可能是由一个或者多个java对象组成,Bean用户不必关系组件的组成,它们仅仅和组件的接口打交道。
Bean类型:
1、 会话Bean
模拟商务过程对象,就像动词一样,运行动作
2、 实体Bean
模拟商务数据对象,就像名词一样,如产品、订单等等数据库对象
3、 消息驱动Bean
与会话Bean相似,也是代表动作,仅仅能通过消息来调用它们
全部的Ejb类都必须实现的接口是:javax.ejb.EnterpriseBean
全部的会话bean都必须实现javax.ejb.SessionBean接口
全部的实体bean都必须实现javax.ejb.EntityBean接口
全部的消息驱动bean都必须实现javax.ejb.MessageDriveBean接口
◆远程接口(Remote接口):
EJB对象必须clone bean类的每一个公开的商务方法,bean供应商编写了一个特殊的接口,该接口复制相应的bean类的全部公开的商务方法,该接口称为远程接口(Remote接口)
全部的Remote接口必须来源于javax.ejb.EJBObject
client不能直接调用EJB,client调用的是EJB对象,而不是调用Bean,是client-》EJB对象-》EJB
什么是EJB对象?
EJB对象把全部的client请求都传递给bean,是一种代理对象,具有网络功能,EJB对象把client和Bean连接在一起
client是通过EJB对象调用Bean的,那么,client是怎样调用得到EJB对象的引用的呢?
就是通过Home对象来引用EJB对象的
是EJB对象的制造生成库
功能:
生成EJB对象
查找现存的EJB对象
删除EJB对象
Home接口:
Home对象、EJB对象、Bean实例之间的关系??
因为Home接口生成Bean的速度是很慢的
能够通过本地对象高速、高效的调用企业级Bean,而不是通过EJB对象调用,本地对象实现本地接口,而不是远程接口
EJB对象:请求拦截器
远程接口:请求拦截器上的接口
Home对象:制造生成库
Home接口:制造生成库接口
必须在部署文件里声明组件对中间件服务的要求,比如,使用部署描写叙述来声明:
1、 Bean的管理和生命周期要求:指明EJB容器应该怎么管理这些Bean
2、 持久性要求:是自己处理持久性还是托付容器处理持久性问题
3、 事务处理要求:
4、 安全性要求:
EJB的部署描写叙述是一个XML文件,Bean的提供商负责描写叙述部署文件
Bean类、Home接口、Remote接口以及部署文件一旦生成,就能够打包成EJB-JAR文件了
要传递创建Bean时的參数,须要覆盖Home接口的create方法,而且要与Bean相应
EJB的位置透明:
什么是JNDI?
7、
JMS是用来发送消息到消息驱动Bean的API
EJB学习笔记的更多相关文章
- 【EJB学习笔记】——EJB开发环境搭建(Eclipse集成JBoss)
之前一直用的EJB开发环境是他们搭建好的,直接拿来用,不过还是感觉老吃别人嚼好的不太好吃,所以自己动手来玩一玩. EJB开发依赖的最基本的环境:JDK.Eclipse.JBoss,这里简单介绍一下最基 ...
- EJB学习笔记之十(BMT事务和CMT事务)
1.前言 前两篇博客主要介绍了与事务相关的知识.比如事务的一些特性,以及并发产生的问题.本篇来解说一下EJB中两种处理事务的方式.一种是以生命式方式来管理事务(CMT):还有一种则是在EJB内部使用 ...
- EJB学习笔记六(EJB中的拦截器)
1.前言 听到拦截器,预计都不陌生,尤其是在Servlet规范中,充分应用了拦截器的概念.EJB3也提供了拦截器的支持,本质上是轻量级的AOP实现.拦截器能够将多个业务方法中的通用逻辑从业务方法中抽 ...
- [原创]java WEB学习笔记96:Spring学习---Spring简介及HelloWord
本博客的目的:①总结自己的学习过程,相当于学习笔记 ②将自己的经验分享给大家,相互学习,互相交流,不可商用 内容难免出现问题,欢迎指正,交流,探讨,可以留言,也可以通过以下方式联系. 本人互联网技术爱 ...
- ETHREAD APC 《寒江独钓》内核学习笔记(4)
继续学习windows 中和线程有关系的数据结构: ETHREAD.KTHREAD.TEB 1. 相关阅读材料 <windows 内核原理与实现> --- 潘爱民 2. 数据结构分析 我们 ...
- Java学习笔记4
Java学习笔记4 1. JDK.JRE和JVM分别是什么,区别是什么? 答: ①.JDK 是整个Java的核心,包括了Java运行环境.Java工具和Java基础类库. ②.JRE(Java Run ...
- Hibernate 马士兵 学习笔记 (转)
目录(?)[+] 第2课 Hibernate UML图 第3课 风格 第4课 资源 第5课 环境准备 第6课 第一个示例Hibernate HelloWorld 第7课 建立Annotation版本的 ...
- spring学习笔记(一) Spring概述
博主Spring学习笔记整理大部分内容来自Spring实战(第四版)这本书. 强烈建议新手购入或者需要电子书的留言. 在学习Spring之前,我们要了解这么几个问题:什么是Spring?Spring ...
- Java架构师之路 Spring学习笔记(一) Spring介绍
前言 这是一篇原创的Spring学习笔记.主要记录我学习Spring4.0的过程.本人有四年的Java Web开发经验,最近在面试中遇到面试官总会问一些简单但我不会的Java问题,让我觉得有必要重新审 ...
随机推荐
- hdu4280(最大流)
传送门:Island Transport 题意:有N个岛屿 M条无向路 每个路有一最大允许的客流量,求从最西的那个岛屿最多能运用多少乘客到最东的那个岛屿. 分析:无向图正反都加弧,权值一样,这题点多, ...
- linux脚本后台监控执行指定程序的状态(假设程序是死的重新启动程序)
#!/bin/sh while true do ps | grep "main_3g" | grep -v "grep" > /dev/null if [ ...
- hdu3033(变形分组背包)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3033 题意:Iserlohn要买鞋,有k种牌子,每种牌子至少买一双鞋子.每双鞋子有标价跟实际价值.求用 ...
- .Net 文本框实现内容提示(仿Google、Baidu)
原文:.Net 文本框实现内容提示(仿Google.Baidu) 1.Demo下载: 文本框实现内容提示(仿Google.Baidu).rar 2.创建数据库.表(我用的sqlserver2008数据 ...
- UVA 11490 - Just Another Problem(数论)
11490 - Just Another Problem option=com_onlinejudge&Itemid=8&page=show_problem&category= ...
- php判断页面是电脑登录还是手机登录
首先说最根本的解决方法: 手机访问时,会附带发送user-agent信息,这个信息里面会有手机号码信息,那么如果能取得手机号码,则可以肯定是通过手机wap访问的.但是目前 中国移动已经屏蔽了user- ...
- Java EE (11) - 影响性能的因素
垂直层(Tier)影响性能的因素 资源层数据库性能通常考虑以下方面的优化(MySQL为例):--使用哪种存储引擎:MyISAM vs. InnoDB, MERGE, MEMORY, Federated ...
- String,StringBuffer以及StringBuilder的差别
1.定义: String:String 类代表字符串. Java 程序中的全部字符串字面值(如"abc" )都作为此类的实例实现. 字符串是常量:它们的值在创建之后不能更改. 字符 ...
- PHP获取当前页面完整的URL
#测试网址: http://localhost/blog/testurl.php?id=5 //获取域名或主机地址 echo $_SERVER['HTTP_HOST']."<br> ...
- linux查看CPU和内存信息
一 先来看看ps命令: 1.查看当前某个时间点的进程:ps命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死. 哪些进程占用了 ...