每日一记【2004-9-2 cmp的浅解】

原创 2004年09月02日 09:40:00
在学习entity ejb过程中,无法理解CMP是如何管理事务的,因为在entity bean的ejbCreate方法中仅仅是传入值,由容器完成对表的插入;如果出现异常,它是如何回滚呢?
?在以前的编程模式中,由业务类获取链接,设置自动提交事务为假,然后调用dao类完成对数据的插入,更新等等操作,最后由业务类提交事务,出现异常则回滚事务;这样可以完成事务的处理。CMP并没有找到类似的
con.commit(); con.rollback() 等对事务操作的方法。
?
在网上查找很久,仍然无法理解,初步认为是entity bean 也有业务逻辑处理,即在一个entity bean 中的每个方法都是完成一个业务逻辑,其中自然涉及到对大量不同表之间的操作(插入,更新,删除,查询等等),在entity bean的每个方法中完成对事务的处理,这样,客户端就可以直接调用某个entity bean的某个方法完成一个业务逻辑处理。
?
后来从weblogic例子中隐隐发现并不是如此,所有的entity bean 就是单纯的对某个表的操作,很少有涉及到其它表的;后来在http://dev2dev.bea.com.cn?网站论坛的帖子中总算大体明白了CMP是如何管理事务的(呵呵,感谢啊)。
?
?1)CMP是靠ejb-jar.xml中配置
??? Required
??? 对entity bean提供的方法进行事务管理的,与以前的开发模式不同,con.setAutoCommit(false),con.commit()是有容器自动完成,就是说不管是BMP还是CMP,虽然在程序中完成了对数据库的操作,但事实上可能并没有真正更新到数据库中,什么时候更新有容器和相关配置文件决定。
?2)在weblogic中的数据源一定要配置为TxDataSource,否则事务无法保证。
?
? 综述,在ejb的开发中,可由session bean完成业务逻辑的处理,entity bean 完成对表的操作,数据持久存储,至于事务,有容器来完成。与常规应用开发的相比,它的好处私以为有以下两点:
?1)分布式
?2)对象池

quartz实现每周一至周五 非法定节假日 每天9:30-11:30,13:00-15:00执行定时任务

我的定时任务需求是:使用quartz实现每周一至周五,非法定节假日,每天9:30-11:30,13:00-15:00执行定时任务。 经过学习quartz,发现使用SimperTrigger和Cron...
  • ycb1689
  • ycb1689
  • 2016年04月26日 10:41
  • 3626

用1,2,3,4,5,6,7,8,9这9个数字组成一个九位数。

用1,2,3,4,5,6,7,8,9这9个数字组成一个九位数。
  • fudaxing
  • fudaxing
  • 2014年06月25日 22:31
  • 1827

整型数组处理算法(八)插入(+、-、空格)完成的等式:1 2 3 4 5 6 7 8 9=N[华为面试题]

有一个未完成的等式:1 2 3 4 5 6 7 8 9=N 当给出整数N的具体值后,请你在2,3,4,5,6,7,8,9这8个数字的每一个前面,或插入运算符号“+”,或插入一个运算符号“-”,或不插入...
  • u011729265
  • u011729265
  • 2013年09月29日 21:21
  • 5370

struts2每日一记1

1.struts2是作用在表现的基于模型-视图-控制器模式的开源框架,即mvc框架; 2.struts为struts1注入了webwork的设计理念,统一了struts1和webwork框架,所以s...
  • sm983728902
  • sm983728902
  • 2013年01月23日 23:41
  • 297

股票操作每日一记 C#源程序

  • 2009年02月26日 10:52
  • 834KB
  • 下载

高清摄像头MIPI CSI2接口浅解

MIPI摄像头常见于手机、平板中,支持500万像素以上高清分辨率。它的全称为“MobileIndustryProcessorInterface”,分为MIPIDSI和MIPICSI,分别对应于视频显示...
  • u012075739
  • u012075739
  • 2015年03月27日 10:26
  • 8353

浅解cocos2d-x中的CCSprite绘制原理

cocos2d-x版本为2.0.4 此画图调用的是opengl es 2.0版本,支持三角形画图。故必须有一个顶点数组。此定义定义在CCSprite.h中 ccV3F_C4B_T2F_Qu...
  • linuxheik
  • linuxheik
  • 2013年12月07日 13:22
  • 798

iOS每日一记之———————————————集成云信的那些事

实话说云信写的确实不错 开发文档确实不赖.....但是demo 耦合性太强 想从中抽个来个工具条就各种报错....是在没办法了....我把环信的工具条抽了出来...╮(╯▽╰)╭ 好吧  接下来告诉大...
  • qq_26359763
  • qq_26359763
  • 2016年07月28日 16:46
  • 1010

每日一记-初识WebService

#WebService是什么?   1. 基于Web的服务:服务器端整出一些资源让客户端应用访问(获取数据)   2. 一个跨语言、跨平台的规范(抽象)   3. 多个跨平台、跨语言的应用间通信...
  • santta
  • santta
  • 2016年07月30日 16:42
  • 146

每日一记-Maven使用简单小结

前言Maven是一种项目管理工具,针对于Java开发,可以用来管理项目结构、JAR包依赖、插件、生成、发布的一系列流程,而且自身轻便易扩展。Maven使用Maven的基础-pom.xmlpom.xml...
  • santta
  • santta
  • 2016年07月28日 21:20
  • 94
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:每日一记【2004-9-2 cmp的浅解】
举报原因:
原因补充:

(最多只允许输入30个字)