只能是方法在同一个事务中只要你Bean1是SessionBean,而且事务级别处于Required(这个是默认的,你没有设就是这个)那个只要你lookup一个Tx DataSource回来,并从中取得Connection
那么这些方法都会处于同一个事务中

解决方案 »

  1.   

    to: chDW 那么按照你的意思是。两个sessionbean是在一个事务中了。不是吧。那么不是很恐怖?
      

  2.   

    请问ChDw(米),如何取得一个TX DataSource,
    我已经在wls里建立一个OracleXADataSource,wsl启动时不会报错,我想我的Tx DataSource没有错误。但lookup回来以后,不能用。
    报错:
    java.sql.SQLException: ORA-06550: 第 1 行, 第 13 列: 
    PLS-00201: 必须说明标识符 'JAVA_XA.XA_START_NEW'
    ORA-06550: 第 1 行, 第 7 列: 
    PL/SQL: Statement ignored我想OracleXADataSource不能等同于OracleDriver。
    oracle有OracleXADataSource的使用例程,但没结合wls,没用到连接池。
    oracle的例子是:
    OracleXADataSource oxads=new OracleXADataSource()
    oxads.setDriverType("oci8");
    oxads.setTNSEntryName();
    oxads.setUser();
    oxads.setPassword();
    XAConnection xconnFinance=getXAConnection()
    其后还需要创建XAResource
    通过XAConnection取得connection
    然后还需要设定事务调用等等,
    很是复杂。我不知道在wls里怎么取得一个Tx DataSource
    请问有谁在这方面有经验,能指点一二还有,我想在wls里不会是直接调用OracleXADataSource那么复杂,那又该如何处理
      

  3.   

    还有,这里的情况是两个BEAN的两个方法都分别调用各自的datasource,每一个datasource连接一个oracle数据库。
    也就是说要同时操作两个数据库,而且操作的方法放在两个不同的server上,现在需要把这两个方法放在一个事务里,怎做?
    有没有高手指点指点。我快疯了,bea一点资料都查不到。
    唉,怀念MS啊
      

  4.   

    没有,我是将两个EJB放在同一个WEBLOGIC下,这样没问题。放两个SERVER上不行
      

  5.   

    你就不能再用一个SessionBean捆绑那两个SessionBean中的方法
    这样在一个事务中实现数据库的会滚