Enterprise JavaBeans导论六

28、Java开发中的接口、JavaBeans与Enterprise JavaBeans应用 本文详细探讨了Java开发中的接口、JavaBeans和Enterprise JavaBeans(EJBs)的应用。接口用于隐藏实现细节,提升类的解耦和灵活性;JavaBeans提供了标准化的组件模型,明确实体和边界类的角色;而EJBs则通过应用服务器的支持,为构建高可扩展性的Web应用程序提供了强大能力。文章通过具体示例和技术分析,帮助开发者理解如何合理运用这些技术,以构建高效、可维护的Java应用程序。 阅读详情
<script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> 3.事务 CORBA OTS EJB的事务模型与OTS类似。事实上,CORBA兼容的EJB服务器必须提供一个OTS兼容的事务服务。理解OTS如何工作有助于理解EJB中事务的工作方式。 定义事务 一个事务正式地定义了一个原子工作单位。一个事务中可以包含多个操作,当事务终止时,所有执行的操作或者完全执行或者完全废弃。这称为提交和回滚。 在数据库应用中广泛地使用事务。好的数据库产品对事务提供很强的支持。一个事务中访问的记录在整个事务持续期间保持锁定状态。基于数据库产品在事务开始时可以选定不同的锁定状态。选定的锁定级别应在其它的事务中优化操作的并发访问时保证数据的完整性。网络上的事务可能是分布式的,例如客户端可能在单个事务中访问两个不同的数据库。为了支持分布式事务,大多数事务管理器(包括数据库)支持两段提交。在两段提交协议中,事务管理器在准备提交事务前首先询问所有的事务参与者的工作是否完成。这是协议的第一阶段。一旦每个参与者同意提交,第二阶段才会开始。事务管理器发送独立的提交操作的命令。 OTS中的关键部件 为了更好地理解OTS如何工作,我们需要先看看其关键部件。以下的部件可以直接地映射到EJB,而理解这些部件如何在OTS中工作能使我们更好地理解EJB中的事务。 ·Control ·terminator ·Coordinator ·Resource ·Synchronization 下图示出了这些对象中定义的重要方法,以及在事务体系中这些对象的作用。 虚线框内是一个事务。事务中所有的对象都参与了这个事务,提交和回滚对所有的Resource对象都适用。 Control对象代表一个事务。从该对象我们可以得到Coordinator和Terminator 。EJB开发者不会看到Control对象,容器代表bean用Control对象来管理事务。 当一个bean方法返回且该方法在部署描述符中声明在方法返回前需提交该事务时,容器也用Terminator来提交或回滚事务。提交或回滚事务时,所有事务中的对象都会相应的提交或回滚。 Resource是包含事务状态的对象。例如,它可能是一个数据库连接。在这个对象上调用commit()会更新数据库。一个rollback()调用会恢复该事务开始时通过这个连接对数据作的任何改变。完成提交或回滚后,数据库中相应的记录就会解锁。应用的锁级别会在部署描述符中指定。这个对象的完全的方法集会显示这些对象实现了两段提交协议,使得每一个对象都有权决定整个事务是提交还是回滚。当一个事务完成时,不论是提交还是回滚,都要通知Synchronization对象。与Resource不同,它并不参与两段提交协议,所以无权表决一个事务应该提交还是回滚。在事务中它扮演一个被动的角色。 Coordinator是使这一切工作起作用的对象。Resource和Synchronization通过该对象注册到事务中。Bean不直接访问这个对象。 Transaction-aware objects that are intended for use with EJB will transparently obtain a reference to the current transaction's Coordinator to register itself. 事务和可恢复的对象 在OTS中事务和可恢复的对象不同。这个区别与EJB有关。在CORBAservice? OTS规范中详细地定义了这些类型,简单地说,可恢复对象有commit()和rollback()方法,允许事务直接地操纵它自己的状态和行为。一个事务对象没有这些方法,不能被事务影响。然而,事务对象有与其关联的事务,以使分配的可恢复对象(或Resources)与事务对象的当前事务相关联。一个enterprise bean是一个事务对象的好例子。容器代表bean维护事务。任何bean分配的可恢复对象在容器的帮助下透明地放置在事务中。Bean没有commit()或rollback()方法,因此事务不能直接操纵bean.让bean作为一个可恢复的Resource并没有什么意义,因为这使得bean开发者必须为每个bean添加额外的代码,而enterprise bean几乎没有内在状态应该影响一个外部的事务。让enterprise bean作为可恢复对象的管理者,让可恢复对象完成这个工作会更好。 注意bean在容器试图提交或回滚之前可以有权表决回滚一个事务。在EJBContext中Bean可以用Coordinator中的rollback_only()方法作为setRollBackOnly()给事务设置标志,以使事务终止时间到达时请求回滚。还可以通过SessionSynchronization接口通知一个bean有关一个事务的结果。 在部署描述符中指定事务控制 bean的部署描述符包含一个ControlDescriptor对象的数组。每个ControlDescriptor描述了与方法关联的事务控制。 Bean开发者指定bean方法中的事务控制。部署者在对方法的事务相关行为没有细致了解的情况下一般不应改变这些值。如下的六个事务控制是在ControlDescriptor类定义的整形常量。除了该类的方法,没有其它的APIs能访问它们。Bean本身不访问事务控制。 Bean本身的方法不能访问其事务属性。容器读取这些控制值来维护bean的相应的事务行为。 ·TX_NOT_SUPPORTED ·TX_SUPPORTS ·TX_REQUIRED ·TX_REQUIRES_NEW ·TX_MANDATORY ·TX_BEAN NANAGED 你可以通过厂商提供的创建部署描述符的工具来为bean设置合适的ControlDescriptor. TX_NOT_SUPPORTED 该方法不应运行在事务上下文中。如果在一个事务中执行线程,那么这个事务将挂起直到线程从方法中返回。 TX_SUPPORTS 该方法不需要事务,运行该方法时线程可能有一个活动的事务。 TX_REQUIRED 该方法必须运行在事务中。如果线程已经有一个事务,则这个线程允许进入此方法。如果线程没有事务,则 容器代表线程启动一个允许线程进入的事务,当线程返回是终止事务。一般应提交事务。如果现成调用 setRollbackOnly()方法,则容器相应地执行一个回滚。 TX-REQUIRED_NEW 不论线程是否有一个事务,容器都会在方法调用期间创建一个事务。当线程返回时,容器提交或回滚这个事务。 如果线程有一个进行中的事务,则新事务会挂起直到线程返回或方法的事务终止。 TX_MANDATORY 当调用这个方法时线程必须已经在一个事务中。如果线程没有事务,则容器会抛出一个例外。 TX_BEAN_MANAGED 这个与上述几个不同。这种方法表明容器不应在事务管理中起作用。 JTS-Java事务服务 实际上JTS不是一个事务服务--只是底层服务提供者的一层接口。JTS非常简单,由一个接口和几个例外组成。从例外列表很容易能看出它类似OTS,虽然它也可以作为其它服务的接口。对于声明事务控制方式为自管理的bean,可以通过这个接口访问事务服务。厂商也可以用它来提供对客户端划分事务的支持。 如下是UserTransaction接口的定义: public interface javax.jts.UserTransaction { public void begin() throws IllegalStateException; public void commit() throws TransactionRolledBackException, HeuristicMixedException, HeuristicRollbackException, SecurityException, IllegalStateException; Public void rollback() throws SecurityException, IllegalStateException; Public void setRollbackOnly() throws IllegalStateException; public void setTransactionTimeout(int seconds); public int getStatus(); //STATUS_ACTIVE,STATUS_COMMITTING, //STATUS_COMMITTED,STATUS_MARKED_ROLLBACK //STATUS_NO_TRANSACTION,STATUS_PREPARED //STATUS_PREPARING,STATUS_ROLLEDBACK //STATUS_ROLLING_BACK,STATUS_UNKNOWN } Enterprise JavaBeans导论一 Enterprise JavaBeans导论二 Enterprise JavaBeans导论三 Enterprise JavaBeans导论四 Enterprise JavaBeans导论五 Enterprise JavaBeans导论六 Enterprise JavaBeans导论七
展锐平台wifi连接性问题解决方案 对于断开连接的问题,需要从kernel log中确认下,是上 层主动发起的断开(会下发disconnect的命令),还是CP侧上报的断开事件。同学,别退出呀,我可是全网最牛逼的 WIFI/BT/GPS/NFC分析博主,我写了上百篇文章,请点击下面了解本专栏,进入本博主主页看看再走呗,一定不会让你后悔的,记得一定要去看主页置顶文章哦。1、出现wifi连接正常,但无法上网问题,首先确认其他手机是否可以正常上网,排除网络自身问题;3 路由器配置问题,出现过一个案例,恢复出场设置问题就解决了,具体根因。 阅读详情

相关推荐

HFSS实战:手把手教你设计一款小型化圆极化微带天线(附仿真文件)

本文详细介绍了使用HFSS设计小型化圆极化微带天线的完整流程,包括工程初始化、辐射贴片设计、仿真设置与优化等关键步骤。通过实战案例,帮助工程师掌握圆极化天线设计技巧,解决轴比控制和耦合馈电匹配等核心问题,适用于物联网终端和便携式设备应用。

weixin_32770423的博客 340

Enterprise JavaBeans导论三

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 318

Fastp实战指南:高效处理fastq数据的质控技巧

本文是Fastp实战指南,详细介绍了如何使用Fastp工具高效处理fastq数据的质控技巧。从数据清洗的必要性、基础命令解析,到高级参数定制、UMI数据处理及批量自动化流程,提供一站式解决方案。Fastp以其“All-in-One”的快速质控能力,帮助用户确保测序数据质量,为后续生物信息学分析奠定可靠基础。

weixin_29254029的博客 391

什么是 Enterprise JavaBeans 组件?

 转帖自  http://www.jspcn.net/htmlnews/11049351125621917.html 第一部分:EJB 体系结构的历史和目标 本文概述 Enterprise JavaBeans (EJB) 技术,旨在让读者快速理解基本概念。第 1 部分讲述 EJB 技术的历史和某些目标、优点和技术。为了简洁明了,有选择地讲述 EJB 技术的一些关键要素。请注意,虽然 EJB

icecityman的专栏 1589

Cadence 17.4 PSpice仿真555定时器输出方波

这里利用555定时器组成多谐振荡器产生1Hz的方波并用PSpice仿真其输出的方波波形。555定时器是一种广泛应用的中规模集成电路。根据其内部组成的不同,可分为双极型(555B)和CMOS型(555C)两类。两种类型的定时器各有所长。双极型定时器具有较大的驱动能力,其输出电流可达200mA,可直接驱动发光二级管、扬声器、继电器等负载。而CMOS型定时器的输入阻抗高、功耗低。

tj_nonstoper的博客 1万+

【FnOS飞牛云 | NAS存储】旧电脑不吃灰,手把手教你搭建完全属于自己的私人网盘

打造属于自己的NAS私人网盘,亲测有效,值得一试

木子Linux的博客世界 9421

开发Enterprise JavaBeans

开发Enterprise JavaBeans chinacomputerworld Java (2001-11-01 23:06:39) 现在,从如下几个方面来介绍Enterprise bean的开发:开发EJB的主要关键的步骤。如何使用使用Jbuilder。用Jbuilder之外的其它的开发工具。如何开发Eneterprise Beans的详细的细节。目前开发程序的限制。开发EJB的主要步骤

Inber 1688

k8s架构、工作流程、集群组件详解

Kubernetes(简称K8s,是因为 k 和 s 之间有八个字符)是一个开源的容器编排平台,用于管理云平台中多个主机上的容器化应用程序。它提供了一种机制,用于自动化部署、扩展和管理容器化应用程序的集群。Kubernetes的目标是让部署容器化应用程序变得简单高效。它提供了应用程序部署、规划、更新和维护的基本机制,同时具备强大的扩展性和可靠性。Kubernetes采用主从设备模型(Master-Slave架构),其中Master节点负责核心的调度、管理和运维任务,而Slave节点负责运行应用程序的容器。

qq_51545656的博客 4382

[转载]Enterprise JavaBeans 概览

Enterprise JavaBeans 概览EJB 是构建健壮,可扩展并支持事务处理的分布式对象技术规范。本章主要讲述 EJB 的分类,EJB 服务器,Bean 的生命周期以及 Bean 有三个类: bean 类, home ...

congji3817的博客 338

STM32实战:滑模观测器与PLL锁相环融合的FOC无感控制精解

本文深入解析了STM32平台下结合滑模观测器(SMO)与PLL锁相环的无感FOC控制技术。通过实战案例详细介绍了PLL锁相环在消除SMO高频抖振、提升角度跟踪精度方面的关键作用,并分享了工程调参技巧、C语言实现细节及系统联调方法,为电机控制开发者提供了一套完整的解决方案。

weixin_30838873的博客 190

保姆级教程:用SSH手动重建黑群晖RAID1阵列,修复‘存储空间损毁’

本文提供了一份详细的SSH手动重建黑群晖RAID1阵列的教程,帮助用户修复‘存储空间损毁’问题。通过深入解析mdadm软RAID的底层逻辑,从诊断到重建的全过程,确保用户能够掌握黑群晖存储池的修复技术。适用于技术爱好者和系统管理员。

weixin_30319153的博客 294

Enterprise JavaBeans导论(一)

  服务框架   EJB并不是一个产品。它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。   EJB规范详细地解释了一些最小但是必须的服务,如事务,安全和名字等。软件厂商根据这些规范要求以保证一个enterprise bean能使用某个必需的服务。规范并没有说明厂商如何实现这些服务。这使得通过阅读规

面对现实,忠于梦想 1029

Oracle EBS 寄销/VMI(2)-->采购篇

上篇有一部分设置需要建BPA后,将BPA编号与批准的供应商相关联.     本篇主要是讲的内容:一揽子采购协议-->准标采购订单-->收接入库-->子库转移-->创建冲减通知-->'按接收开票' 自动开票程序 1. PO-->采购订单à采购订单 创建一揽子采购协议,确定物料

陈显平的专栏-Oracle EBS 1万+

Enterprise JavaBeans导论1

 服务框架   EJB并不是一个产品。它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。   EJB规范详细地解释了一些最小但是必须的服务,如事务,安全和名字等。软件厂商根据这些规范要求以保证一个enterprise bean能使用某个必需的服务。规范并没有说明厂商如何实现这些服务。这使得通过阅读规范

joy_cz的专栏 565

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

EJBQL Enterprise JavaBeans 查询语言

著:Dale Green   Enterprise JavaBeans查询语言(EJB QL)定义了容器管理持续化的finder方法和select方法的查询。作为SQL92的一个子集,EJB QL进行了扩展,它可以使用entity bean的抽象模式中定义的关联。一个EJB QL查询可以跨越封装在同一个EJB JAR文件中的所有相关的entity bean的抽象模式。   你可以在entity b

炼狱 2228

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Enterprise JavaBeans导论一

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 311

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Enterprise JavaBeans导论[转]

   EJB并不是一个产品。它是Java服务器端服务框架的规范,软件厂商根据它来实现EJB服务器。应用程序开发者可以专注于支持应用所需的商业逻辑,而不用担心周围框架的实现问题。EJB规范详细地解释了一些最小但是必须的服务,如事务,安全和名字等。软件厂商根据这些规范要求以保证一个enterprise bean能使用某个必需的服务。规范并没有说明厂商如何实现这些服务。这使得通过阅读规范来学习EJB更加...

weixin_34151004的博客 123

[转载]什么是 Enterprise JavaBeans组件?第三部分:布署和使用 Enterprise JavaBeans 组件...

什么是 Enterprise JavaBeans组件?第三部分:布署和使用 Enterprise JavaBeans 组件[@more@]本文的第 3 部分说明 Enterprise JavaBeans 组件的部署过程,部署并...

congji3817的博客 355

[转载]什么是 Enterprise JavaBeans 组件(3)

什么是 Enterprise JavaBeans 组件(3)本文的第 3 部分说明 Enterprise JavaBeans 组件的部署过程,部署并不仅仅是安装,因为它通常还涉及代码生成。部署还使用了一个特殊的部署描述符文件,...

congji3817的博客 187

Enterprise JavaBeans导论2

理解EJB组件   你现在应该已经熟悉了整个EJB体系结构及其主要的部件。这一节更详细地描述了这些部件,并解释它们运行时的行为语意。     Home接口   EJB库使用enterprise bean的客户端通过它的home接口创建它的实例。Home接口包含一个或多个用来创建enterprise bean实例的create()方法。这个home接口不是由bean来实现,而是通过称为home ob

joy_cz的专栏 530

Enterprise JavaBeans导论二

google_ad_client = "pub-8800625213955058";/* 336x280, 创建于 07-11-21 */google_ad_slot = "0989131976";google_ad_width = 336;google_ad_height = 280;//<script type="text/java

java专栏 429

嵌入式固件进阶:启动流程、故障定位与OTA升级实战

嵌入式系统的稳定性依赖于启动流程的严谨设计,从复位向量到RTOS调度器启动,是固件运行的基础。故障定位方法论强调现场保护、日志回溯与二分隔离,通过复位原因记录区分硬复位与软复位,结合HardFault栈回溯快速定位异常。OTA升级则需基于分区表设计、签名校验与A/B分区回滚机制,确保设备在升级失败时可自动恢复。这些技术在MCU与SoC场景中均有广泛应用,涵盖Bootloader、RT-Thread、U-Boot等主流组件。本文从启动流程拆解、故障定位实战到OTA工程化,系统梳理固件开发的核心知识,帮助工程师

congji3817的博客 444

[转载]Enterprise JavaBeans 入门:序 列 化

Enterprise JavaBeans 入门序 列 化本章讲述内容 序列化并不是完全自动的序列化必需要定制 回页首Bean 的引用不会序列化 自己试一下 Seems to work.....

congji3817的博客 96
上一篇: Enterprise JavaBeans导论四
下一篇: Enterprise JavaBeans导论五
java169
博客等级 码龄19年 27粉丝 2568原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值