衡量Apache Geronimo EJB事件选项,第3部份: 综合全部事件[Java编程]
本文“衡量Apache Geronimo EJB事件选项,第3部份: 综合全部事件[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Jonathan Sagorin 在 由三部份构成的系列文章 的最后一部份中对 Enterprise Java™Beans(EJB)事件举行了全面的揭露.摸索 Apache Geronimo 利用服务器上与容器管理事件和 bean 管理事件都相关的难题和附加实现与配置选项.
简介
在本系列的 第 1 部份 和 第 2 部份 中,您简单理解了 bean 管理的和容器管理的 EJB 事件以及如安在 Geronimo 利用服务器上实现它们.那么接下来呢?在利用 EJB 事件时,您应考虑哪些其他事件设置是可用的,以及需求考虑的其他事项?
本文首先概述第 1 和第 2 部份中的事件挑选:容器管理或 bean 管理的事件.接着将理解并发掌握战略和办法,确保事件履行时没有数据丧失.您还将理解断绝级别(若何掌握事件与其他事件的断绝)并理解若何设置事件超时.最后,您将理解赞成和反对利用分布式事件的来由.
EJB 事件:我的挑选是什么?
在实现 EJB 事件时,有两种挑选:容器管理或 bean 管理的事件.
利用容器管理的事件时,将在布置描写符中指定事件行为.EJB 容器负责掌握事件边界.您为整个 enterprise bean、bean 上的个体办法或二者指定事件属性.事件属性的挑选有:
Required
RequiresNew
Supports
Mandatory
NotSupported
Never
利用 bean 管理的事件时,您编程掌握事件边界并决意事件开始、提交和回滚的机会.在 bean 管理的事件中,可以在 Java Transaction API(JTA)或 Java Database Connectivity(JDBC)事件实现之间举行挑选.JTA 利用 javax.transaction.UserTransaction 接口掌握事件,而 JDBC 事件则直接经 java.sql.Connection 接口履行操作来掌握事件行为.
假如利用会话或消息驱动 bean(MDB),那么可以实现 bean 管理或容器管理事件.但是,实体 bean 只可以利用容器管理事件.
表 1 按每个 enterprise bean 实现的事件范例总结了这些挑选.
表 1. enteprise bean 的事件范例挑选
事件范例 | 会话 bean | 实体 bean | 消息驱动 bean |
bean 管理 | x | x | |
事件管理 | x | x | x |
假如不肯定您的 bean 利用哪类事件范例,Sun Microsystems 倡议对 enterprise bean 利用具有 required 属性的容器管理的事件.
关于开辟人员,利用容器管理的事件会对比简单并且需更对比少的工作量.在 bean 办法中不要求事件逻辑.在 enterprise bean 的办法级别上划分事件边界.bean 办法必须运行在事件上下文中或不在此中运行.
假如要求对事件边界举行更严峻的掌握,那么利用 bean 管理的事件.假如盼望在 enterprise bean 中拥有长期历程,那么利用 bean 管理的事件.关于本文的目的,但愿事件运行尽大概短的时间.假如利用容器管理事件,划分边界的粒度不够细,它们处于 bean 办法级别.
通过利用 bean 管理的事件,可以限制事件的持续时间为短暂的.可以在事件中止绝数据库操作并答应长期历程在事件作用域之外运行.这将确保不会阻塞拜候同一数据的其他任何事件.
以上是“衡量Apache Geronimo EJB事件选项,第3部份: 综合全部事件[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |