Data Sources属性honor global transactions 的作用

该属性在创建数据源时设置,一旦设置便不能更改。用来控制数据源支持的事务类型。如果准备使用XA协议来实现分布式事务和两阶段提交,他的值必须为TRUE。在以下情况下,必须启用HONOR GLABAL TRANSACTIONS属性:

应用程序使用JTA服务。

应用程序使用EJB容器管理事务。

应用程序使用分布式事务,比如在单个事务的作用域内更新多个资源管理器。

两阶段提交

JTA

利用weblogic建立到数据库的连接代码

Connection con = null

try {

           Hashtable   env   =   new   Hashtable();  

            env.put(InitialContext.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");  

            env.put(InitialContext.PROVIDER_URL,"t3://localhost:7001");  

           // T3 BEA 的专用协议。

            env.put(InitialContext.SECURITY_PRINCIPAL,"weblogic");

       //这是weblogic中的用户帐号和密码,可以不填,则默认为guest  

            env.put(InitialContext.SECURITY_CREDENTIALS,"weblogic");  

            InitialContext ctx = new InitialContext(env);

           System.err.println("1111111111111111");

           ds = (DataSource)ctx.lookup("MySQLDataSource");

           System.err.println("2222222222222222");

           con = ds.getConnection();

           System.err.println("3333333333333333");

       } catch (Exception e) {

           e.printStackTrace();

           System.out.println(e.toString());

//在这里释放资源,如连接、结果集等,不要在finaly中放多于一个的close语句,因为如出现异常的话,会导致接下来的close语句无法执行。要放多个的话最好按下面的方法放置;

 

    If(con!=null){

         Try{

con.close();

ctx.close():

}catch(Exception e){

        }

}

    }

事务的四个基本属性(ACID

原子性(atomiticity):

一致性( consistency):

隔离性(isolation):每个事务相对于其他事务都是独立的。

可持续性(durability):事务操作中的所有结果必须是可恢复的,并被永久存储。

建立weblogic jta事务的步骤

。建立事务。

                   Context ctx = null;

       try {

           ctx = new InitialContext();

           Transaction tr = (Transaction)ctx.lookup("javax.transaction.UserTransaction");

       } catch (Exception e) {

           // TODO: handle exception

    }

。启动事务。

tr.begin();

这样,任何使用数据库的操作都在事务的作用域之内。包括直接的JDBC调用,以及其他依靠JDBC的服务,包括EJBJMS

。启用horno global transactions,定位一个DataSource

DataSource ds = (DataSource)ctx.lookup("mydatasource");

。建立一个数据库连接

Connection con = ds.getConnection();

。执行资源操作

 

。关闭连接

。完成事务

ms sqlserverweblogic中的配置

驱动程序:com.microsoft.sqlserver.jdbc.SQLServerDriver

urljdbc:sqlserver://localhost:端口号         //若不加端口号则默认端口号为1433

 

连接池connection属性的配置和说明

Inactive Connection Timeout:保留的非活动连接上的秒数,超过此时间 WebLogic Server 将回收此连接并将其释放回连接缓冲池。

 

Connection Reserve Timeout:连接预约超时,当向连接池中请求一个连接时,若在Connection Reserve Timeout时间后还没有得到可用的连接则请求超时。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐