UserTransaction的commit包括connection的操作

解决方案 »

  1.   

    如果你的Connection从XADataSource中得到的话,就可以把
    Connection操作放入UserTransaction中。所以建议你的数据源
    用XADataSource
      

  2.   

    AppManager.getInstance().getUserTransaction();
    改成SessionCtx.getUserTransaction();
      

  3.   

    可是,WebLogic可以直接配置,JBOSS中如何做这样的配置呢?然后又如何调用呢?我现在的调用:
                properties.put(Context.INITIAL_CONTEXT_FACTORY, INITIAL_CONTEXT_FACTORY);
                properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
                properties.put(Context.PROVIDER_URL, PROVIDER_URL);然后获取连接:DataSource ds = (DataSource) getInitialContext().lookup(DB_POOL_JNDI_NAME);
                return ds.getConnection();获取事务:
    (UserTransaction) getInitialContext().lookup("java:comp/UserTransaction");就是这样调用的。有什么方法实现你所说的呢?谢谢
      

  4.   

    (UserTransaction) getInitialContext().lookup("java:comp/UserTransaction");客户端起事务才需要使用上面方式,在EJB中执行只需要用bean的SessionContext.getUserTransaction();