质问:事务是基于组件级别的,而不是基于组件的方法级别的???

phonlee 2002-07-23 11:45:01
事务是基于组件级别的,而不是基于组件的方法级别的;
通常的情况是只是组件的部分方法需要事务处理,其他的都不需要;
这时候,基于组件级的事务导致每个方法都产生一个事务,加大了系统的开销。


大家如何看待?j2ee中如何处理相同的问题??
...全文
30 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
once168 2002-10-16
  • 打赏
  • 举报
回复
楼上的,个人只用过基于方法的“事务”-----即一个方法的,局部的事务处理
至于组件的我知道有但没用过
phonlee 2002-10-16
  • 打赏
  • 举报
回复
to once168

使用的是com+的服务,
phonlee 2002-10-15
  • 打赏
  • 举报
回复
读了你们回答,受益非浅.但是, 有问题请教:

to topikachu(皮皮)

1)事务必需是组件级别的,再细小就没法"保证事务的完整性"了--???

为何保证事务的完整性了???

2)如果你在设计中遇到这样的疑惑,那么最好的办法就是将这个组件拆开来

拆分出来?? 如何保证一个对象的完整性.

一般的情况, 一个业务对象的部分方法需要事务处理作保证;另外的不需要.

拆分出来???---就是分割对象!!!

to: kicku(Lavender's Lover)

----- 这样,只要你的方法不是AutoComplete,就可以实现一些"复杂"的Transaction。

希望再详细些????





topikachu 2002-10-09
  • 打赏
  • 举报
回复
事务必需是组件级别的,再细小就没法保证事务的完整性了
如果你在设计中遇到这样的疑惑,那么最好的办法就是将这个组件拆开来
when 2002-10-09
  • 打赏
  • 举报
回复
xue xi
kicku 2002-10-09
  • 打赏
  • 举报
回复
我再仔细说一些:

COM+中,事务可以在组件的级别是设置是Require/RequireNew/Support/Not Support,在方法的级别上可以设置是否是AutoComplete,这样,只要你的方法不是AutoComplete,就可以实现一些复杂的Transaction。

EJB中的Require/RequireNew/Support/Not Support是可以在方法的级别上设置的。这点在COM+中确实不支持,无法实现在一个组件中,有的方法在Transaction中运行,有的不在Transaction中运行。不过EJB这样的设计让应用服务器的设计变得复杂化,是否真的有性能上的好处还需要进一步讨论。客观地说,COM+这样的设计还是能满足应用要求的。

如"topikachu(皮皮)"所说,如果真的遇到一个组件中有的方法需要事务,有一些不需要事务这样的问题,可以通过把组件进行重新分割来解决。
kicku 2002-10-09
  • 打赏
  • 举报
回复
COM+中,事务并非是基于组件级别的,可以在方法的粒度上指定对事务的要求。
phonlee 2002-10-08
  • 打赏
  • 举报
回复
那么我先总结一下:

我看了j2ee的做法:
Methods within the same EJB component may have different transactional attributes for optimization reasons, since all methods may not need to be transactional


D_Q 2002-10-08
  • 打赏
  • 举报
回复
踢一下!
phonlee 2002-10-08
  • 打赏
  • 举报
回复
很久了,居然没有人关注.

自己up一下,希望斑竹也给照料一下.

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧