用Tx jdbc driver做连接,再做Tx datasource。分布式事务必须用Tx

解决方案 »

  1.   

    试试sessinbean里加一个方法,
    这个方法只是调用 inserta 和insertb试试,我没做过...
    好像事务是按方法的..只是提示,还是看一下 文档 的好:)
      

  2.   

    weblogic jat 可以达到你的要求!
      

  3.   

    上面的问题没有把事务管理写进去,
    public UserTransaction getUserTransaction() throws Exception{
    UserTransaction uT = null;
    try{
    uT = this.sessionContext.getUserTransaction();
    int status = uT.getStatus();
    if ( status != javax.transaction.Status.STATUS_ACTIVE ) {
    uT.begin();
    status = uT.getStatus();
    }
    }
    catch ( Exception e ) {
    e.printStackTrace();
    throw new ResourceRegisterException(e.getMessage());
    } return (uT);
    } private void commit() throws Exception { try {
    if ( userTransaction.getStatus() == javax.transaction.Status.STATUS_NO_TRANSACTION ){
    throw new ResourceRegisterException("There is no transaction associated with this thread");
    }
    if ( userTransaction.getStatus() == javax.transaction.Status.STATUS_ACTIVE ) {
    userTransaction.commit();
    }
    else {
    throw new ResourceRegisterException("User Transaction Timeout");
    }
    }
    catch ( Exception e ) {
    e.printStackTrace();
    throw new ResourceRegisterException(e.getMessage());
    }
    } private void rollback() throws ResourceRegisterException {
    try{
    userTransaction.rollback();
    }
    catch ( Exception e1 ) {
    e1.printStackTrace();
    throw new ResourceRegisterException(e1.getMessage());
    }
    }把上面几个关于事务的方法加进去就行了。