当前位置:  技术问答>java相关

关于事务的问题,跟贴有分

    来源: 互联网  发布时间:2015-11-04

    本文导语:  我现在的设计,只能在一个对象中保持一个事务,也就是说在一个对象的不同方法间保持事务。 但我发现很难做到不同的对象中(这些对象可以是不同的类的实例) 还能保持同一个事务。 比如: a对象,b对象 a.updat...

我现在的设计,只能在一个对象中保持一个事务,也就是说在一个对象的不同方法间保持事务。
但我发现很难做到不同的对象中(这些对象可以是不同的类的实例)
还能保持同一个事务。

比如:
a对象,b对象
a.update(),a.del(),b.del()
这两个方法a.update(),a.del()很容易保持事务,只要在对象中用的是同一个连接就可以拉
但a.update(),b.del()这两个方法怎样设计才能共用一个事务?我总不可能,这两个对象的构造器都都包含Connection参数这样的笨办法吧?!

提示:我需要的是比较好的设计思想,请大家发表高见

|
A,B对象操作数据库
C 负责连接数据库,获取连接
当A需要连接的时候,从C拿出一个Connection来,并且做一个标志
当B也需要连接的时候,就会先判断C刚才那个标志,
这样的话可以做到多个对象保持事务

|
每个Session应该有一个唯一的ID,可以用来表示用户。

|
在对象的构造里传入一个连接,然后在这个对象里操作数据时就用传进去的连接,这样只要保证传给每个对象的连接是同一个,就可以实现多个对象在同一个事务里。

正如:
Connection conn = ...........
A a = new A(conn);
B b = new B(conn);

还有一种方法是把连接传给类的方法。如:
Connection conn=........
A a=new A();
B b=new B();
事务开始
a.insert(conn);
b.update(conn);
事务结束


我也遇到这样的问题,也想了不少办法。我看jive里这是样用的。所以我也这样用了。 但我感觉还是不舒服



|
Connection conn = ...........
A a = new A(conn);
B b = new B(conn);

|
呵呵,关注!!!

|
只能用蠢的方法吧
不应该说蠢的,commit两次,rollback两次咯,我都是这样的了

|
up

|
gz
up

|
up

|
up

|
在weblogic中使用ejb的时候,要做到这个很容易,因为weblogic本身就支持这种。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 解析mysql二进制日志处理事务与非事务性语句的区别
  • sqlserver禁止management studio的自动提交事务
  • Android 用SQLite实现事务的方法
  • EJB的事务管理
  • 事务管理器组件 OpenJTCC
  • EJB中如何处理事务
  • 请教Java程序里面事务的应用
  • JBoss事务处理 JBossTS
  • 事务管理器 LIXA
  • 任务和待办事务管理器 PlanCake
  • 网络技术 iis7站长之家
  • 律师事务所管理程序 eLawOffice
  • 浅析SQL Server中包含事务的存储过程
  • java 如何编程实现数据库事务
  • 事务存储引擎 SimpleDBM
  • 开源事务管理器 JOTM
  • 事务处理工具 Atomikos
  • ThinkPHP实现事务回滚示例代码
  • 开源Java事务管理器 TransactionEssentials
  • Oracle数据完整性嵌套事务调用分析研究


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3