两类固定循环各分钻孔、攻螺纹和镗孔3种加工动作,其编程指令见表3.3-1。图3.3-2 绝对/增量编程的影响返回平面完成底平面动作后,进给轴的返回位置称为返回平面。在代码体系A上,返回平面通过CNC参数PRM5161.1设定选择,设定0时,返回到定位平面;设定1时,返回到参考平面R。......
2023-06-25
武汉东湖学院计算机科学学院 罗 旋
对于EJB在商业应用中经常用到的事务处理,J2EE应用服务器提供了很好的支持。本文主要分析了EJB的事务编程方法和应用服务器的事务处理架构。
一、引言
提高软件系统的重用性和提高软件系统对应用需求变化的适应性,这一直是软件业关注的两大热点问题,而基于组件技术的出现,为解决这两个问题铺平了道路。CORBA,J2EE和.net这三种都是基于对象级的远程过程调用技术的。J2EE是在CORBA的基础上提出的针对企业级计算的分布式平台,它结合了Java的跨平台及对互联网良好支持的特性,并且定义了良好的架构。
Enerprise Java Bean(EJB)是J2EE平台中适用于企业计算的组件,组件的提供者只要是按照J2EE规范定义的EJB标准编写的EJB,就可以运行在任何遵行J2EE标准的应用服务器(或者容器)中。EJB技术的主要目标是为分布式的业务系统提供标准的组件体系结构。
二、EJB的事务编程
尽管分布式事务处理是一个非常复杂的问题,但是由于J2EE应用服务器为我们提供了很好的“基础设施”,很多后台的处理都交给应用服务器完成,这样就可以将组件的编写人员从复杂的事务处理中解脱出来,从而专注于商业逻辑的编写。EJB的编写者有两种事务边界划分方法可供选择。
(一)编程型事务划分
现有大多数系统都还是用编程型来划分事务边界。当使用这种方法的时候,你必须将事务的逻辑操作编入应用程序代码中,即应用程序自己负责一个事务的开始的声明和一个提交或者异常结束的声明。
组件首先应该通过命名服务(JNDI)实现对事务服务的透明访问。
例如下面的代码就是一个使用编程型的事务的示例:
try{
(二)声明型事务划分
声明型事务是首先由微软公司在微软交易服务(MTS)中提出的组件的事务策略定义方法。通过这种方式,组件的编写人员可以不用编写对事务的控制代码,而是让部署人员在部署阶段根据具体的应用情况,设置某些方法的事务策略属性。如果在部署阶段选择容器管理的事务,则每种方法有六种策略可供选择。
表2-1总结了在不同事务属性的情况下对事务上下文产生的影响。
表2-1 声明型事务划分表
三、J2EE应用服务器分布式事务处理架构(www.chuimin.cn)
从上面我们看到,应用服务器为组件的事务处理提供了很多的功能,可以很大地提高开发效率,但同时也给开发人员带来了更大的迷惑。如果我们不对应用服务器分布式事务处理的架构进行分析,我们很难理解和利用好这些功能。
要分析应用服务器分布式事务处理的实现,我们必须熟悉整个应用服务器内部的组织架构。为了在企业计算中各种服务能达到最大限度的开放性和兼容性,美国升阳电脑公司(Sun Microsystem )定义了J2EE的开放规范,任何公司和组织都可以根据这套规范开发自己的应用服务器,而且可以保证和其他服务器甚至各种服务的兼容。
准切的说,应用服务器是集成各种服务包容器(包括EJB、jsp/serlet包容器)和各种服务的系统。这里所说的各种服务包括有事务服务、安全服务、资源连接服务、命名服务等。这些服务可以由各种中间件厂商提供,理论上只要它们遵循J2EE的规范,就可以和其他的服务器进行集成了。一般应用服务器的整体结构如图3-1所示。
图3-1 应用服务器的整体结构图
从上图我们就能理解编程型事务划分和声明型事务划分中事务处理的工作机理了。当服务器启动后,会将实现javax.transaction.UserTransaction接口的对象绑定到JNDI (Java Name and Directory Interface) 服务器上去,该对象直接和服务器的事务管理器交互。客户端需要与事务管理器交互时,只用通过JNDI查找到该对象就可以了,如编程型事务划分中:
UserTransaction userTx = (UserTransaction) ctx.lookup(“javax.transaction.UserTransaction”);
声明型事务的工作原理是,当服务器端响应客户端请求,调用EJB实例方法的时候,取得当前方法的事务属性,然后根据表2-1,决策如何与事务管理器交互。
应用服务器还要完成的一个重要的功能就是进行事务上下文的传播。客户端创建了事务上下文后,当其请求服务器端的调用时,客户端的事务上下文会自动传入到服务器端,而不论服务器端是本地还是远程的。如图3-2所示。
图3-2 应用服务器的整体结构图
应用服务器分布式事务处理的核心功能是由事务管理器提供的,事务管理器是实现分布式事务管理的关键,特别是对于大型的、广域的分布式系统,事务管理器一般还要提供事务级的安全验证、失败恢复、容错处理和负载均衡等功能。
四、小结
在某些应用中,J2EE规范中定义的事务处理也有一些缺陷,如不支持嵌套事务、长串事务等其他事务模型,接口方法的事务属性对客户端和EJB开发者的不确定性。按照上述声明型的事务策略,组件方法的事务属性在部署其定义,这样的好处是增加了组件的灵活性,但是给客户端和EJB开发者带来的弊端是方法事务属性的不确定性。
【参考文献】
[1] 朱俊成等.《EJB 3.0从入门到精通》[M].北京:电子工业出版社,2009.
[2] 吴克河,张雅,何霞.基于J2EE的分布式事务技术的研究[J].中国电力教育.2008(S3).
[3] 韩学洲.分布式事务处理模型研究[J].南通纺织职业技术学院学报.2006(3).
有关武汉东湖学院论文集的文章
两类固定循环各分钻孔、攻螺纹和镗孔3种加工动作,其编程指令见表3.3-1。图3.3-2 绝对/增量编程的影响返回平面完成底平面动作后,进给轴的返回位置称为返回平面。在代码体系A上,返回平面通过CNC参数PRM5161.1设定选择,设定0时,返回到定位平面;设定1时,返回到参考平面R。......
2023-06-25
同时配合当地旅行社,报告国外有关部门,按照要求填写报告,处理可能影响整个团队行程的团队签证、机票、团队名单等事宜。希望进入中国境内的外国人须持有效护照向中国的外交代表机关、领事机关或外交部授权的其他驻外机关申请办理签证。持联程客票搭乘国际航班直接国境,在中国停留不超过24小时且不出机场的外国人免办签证;要求临时离开机场的,需经边防检查机关批准。......
2023-11-26
PCI总线使用第1.2节所述的信号进行数据和配置信息的传递,一个PCI总线事务的基本访问时序如图1-3所示,与PCI总线事务相关的控制信号有FRAME#、IRDY#、TRDY#、DEVSEL#等其他信号。当PCI主设备获得总线使用权之后,将在CLK1的上升沿置FRAME#信号有效,启动PCI总线事务。当PCI总线事务结束后,FRAME#信号将被置为无效。PCI总线周期的第一个时钟周期为地址周期。......
2023-10-20
PCIe体系结构以Intel的x86处理器为蓝本实现,已深深地烙下x86处理器的印记。一个基于PCIe架构的处理器系统A如图4-7所示。图4-7 基于PCIe总线的处理器系统A在图4-7的结构中,处理器系统首先使用一个虚拟的PCI桥分离处理器系统的存储器域与PCI总线域。PCI/PCIe总线在x86处理器系统中的地位超乎想象,而且并不仅局限于硬件层面。P4080处理器是Freescale第一颗基于E500mc内核的处理器。多数采用CoreNet架构互连的处理器系统使用目录表法......
2023-10-20
现在虽一家只有一个孩子,但他还是免不了会有堂兄弟、表兄弟。历史确实有因为妻子的原因而导致兄弟之间反目的事情,鲁迅与其弟周作人便是一例。兄弟二人从小关系很好,鲁迅为兄长,从小对周作人的爱就超过对自己的珍惜。但也有互相信赖的兄弟,荣德生与其兄弟荣宗敬便是。所以,兄弟间的真诚坦白、互相信赖,是家庭和睦、事业成功之必需。颜氏还告诫家人,兄弟间相处,还应处理好家中的事务和彼此的子女间的关系。......
2023-08-03
另一组打磨后,经“四合一”处理,再涂刷红丹底漆,然后刷涂相同的面漆。表5-10试片涂装后的盐雾试验结果取已产生锈蚀的钢铁材料作为试片进行“四合一”处理液的涂装性能测试。表5-10试片涂装后的盐雾试验结果从测试的结果看,常温“四合一”处理液,具有操作简单、灵活性强、处理液性能好、得到的磷化膜耐蚀性好、漆膜附着性好等优点,适用于电力系统内大型钢铁构件现场涂装前的综合处理,也可作短期存放的防锈处理。......
2023-06-23
使用绘制多线命令,绘制架构。绘制表示构架杆塔的小圆,半径为125。此时的效果如图9-39所示。图9-39修剪后的设备定位线及母线架构偏移复制水平母线架构的定位线,以确定各相母线位置:1)35kV母线:偏移距离分别为1100,1200,1200。在“实体”层绘制表示母线绝缘子串的小矩形,宽250,高140。删除第步便宜得到的母线定位线。图9-40绘制母线及绝缘子串图9-40绘制母线及绝缘子串......
2023-06-21
相关推荐