本地事务的话,自己控制
全局事务的话,用JTA

解决方案 »

  1.   

    用容器管理的事务 Required
      

  2.   

    本地事务的话,自己控制,举个关于ORDER和PRODUCT的例private Vector addOrderLineItems(Order order){
            try{
                Context ctx = new InitialContext();
                OrderLineItemHome orderLineItemHome = (OrderLineItemHome)
                    PortableRemoteObject.narrow(
                        ctx.lookup("OrderLineItemHome"), OrderLineItemHome.class); 
                ProductHome productHome = (ProductHome)
                    PortableRemoteObject.narrow(
                        ctx.lookup("ProductHome"), ProductHome.class);                
                Vector orderItems=new Vector();
    ...}
      

  3.   

    是不是用JTA呢?
    JTA怎么用?没用过
      

  4.   

    那就用数据库的事务呗,你从连接池获取一个连接,用它构造A和B(A和B都有以Connection为参数的构造函数),然后分别调用他们的方法,最后提交事务或捕获异常回滚
      

  5.   

    JTA跟你是否用ejb没有关系,关键是看容器是否支持。
      

  6.   

    不过我想你问的应该不是什么jta的问题,
    你是想问如何让两个操作在一个事务中吧,
    你在操作开始的时候开启事务,然后所有操作后在提交就OK了。
      

  7.   

    最关键的一点:是不是事务只能在同一个connection中才能实现
    因为我的两个方法分别是不同的connection
    同一个数据库
    如果能用jta实现的话请大家给个例子吧
      

  8.   

    <最关键的一点:是不是事务只能在同一个connection中才能实现不是必须在同一个connection中
    见http://www.jdon.com/jive/article.jsp?forum=16&thread=16072
      

  9.   

    设计一个接口,在设计一个像ejb中sessionContext会话一样东西,每个业务方法必须实现这个接口,sessionContext为每个方法的成员变量,用一个sessionContext惯通业务方法,数据库连接都从这个
    sessionContext得到.
      

  10.   

    CMP
    或者
    BMP,JTA(UserTransaction)