Examples of DruidXADataSource


Examples of com.alibaba.druid.pool.xa.DruidXADataSource

    this.logAbandoned = logAbandoned;
  }

  private static DruidXADataSource getDruidXADataSource(String url, String username, String password) {
    DruidXAPlugin plugin = new DruidXAPlugin(url, username, password);
    DruidXADataSource ds = new DruidXADataSource();
    ds.setUrl(plugin.url);
    ds.setUsername(plugin.username);
    ds.setPassword(plugin.password);
    ds.setDriverClassName(plugin.driverClass);
    ds.setInitialSize(plugin.initialSize);
    ds.setMinIdle(plugin.minIdle);
    ds.setMaxActive(plugin.maxActive);
    ds.setMaxWait(plugin.maxWait);
    ds.setTimeBetweenConnectErrorMillis(plugin.timeBetweenConnectErrorMillis);
    ds.setTimeBetweenEvictionRunsMillis(plugin.timeBetweenEvictionRunsMillis);
    ds.setMinEvictableIdleTimeMillis(plugin.minEvictableIdleTimeMillis);

    ds.setValidationQuery(plugin.validationQuery);
    ds.setTestWhileIdle(plugin.testWhileIdle);
    ds.setTestOnBorrow(plugin.testOnBorrow);
    ds.setTestOnReturn(plugin.testOnReturn);

    ds.setRemoveAbandoned(plugin.removeAbandoned);
    ds.setRemoveAbandonedTimeoutMillis(plugin.removeAbandonedTimeoutMillis);
    ds.setLogAbandoned(plugin.logAbandoned);

    //只要maxPoolPreparedStatementPerConnectionSize>0,poolPreparedStatements就会被自动设定为true,参照druid的源码
    ds.setMaxPoolPreparedStatementPerConnectionSize(plugin.maxPoolPreparedStatementPerConnectionSize);

    if (StrKit.notBlank(plugin.filters))
      try {
        ds.setFilters(plugin.filters);
      } catch (SQLException e) {
        throw new RuntimeException(e);
      }
    plugin.addFilterList(ds);
    return ds;
View Full Code Here

Examples of com.alibaba.druid.pool.xa.DruidXADataSource

  }


  public static void main(String[] args) throws SQLException {
    //数据库表需要时innodb类型才支持分布式事务
    DruidXADataSource ds1 = getDruidXADataSource("jdbc:mysql://192.168.1.211/sm_card?useUnicode=true&characterEncoding=UTF-8", "dev", "dev1010");
    DruidXADataSource ds2 = getDruidXADataSource("jdbc:mysql://192.168.1.211/sm_shop_master?useUnicode=true&characterEncoding=UTF-8", "dev", "dev1010");
    boolean result = true;

    XAConnection xaConnection1 = ds1.getXAConnection();
    Connection connection1 = xaConnection1.getConnection();
    //用事务,必须设置setAutoCommit false,表示手动提交
    connection1.setAutoCommit(false);
    //设置事务的隔离级别。
    connection1.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
    XAResource xaResource1 = xaConnection1.getXAResource();
    Xid xid1 = XAXid.uniqueXid(1);


    XAConnection xaConnection2 = ds2.getXAConnection();
    Connection connection2 = xaConnection2.getConnection();
    //用事务,必须设置setAutoCommit false,表示手动提交
    connection2.setAutoCommit(false);
    //设置事务的隔离级别。
    connection2.setTransactionIsolation(Connection.TRANSACTION_READ_COMMITTED);
View Full Code Here

Examples of com.alibaba.druid.pool.xa.DruidXADataSource

    filterList.add(filter);
    return this;
  }

  public boolean start() {
    ds = new DruidXADataSource();
    ds.setUrl(url);
    ds.setUsername(username);
    ds.setPassword(password);
    ds.setDriverClassName(driverClass);
    ds.setInitialSize(initialSize);
View Full Code Here

Examples of com.alibaba.druid.pool.xa.DruidXADataSource

public class H2XATest extends TestCase {

    private DruidXADataSource dataSource;

    protected void setUp() throws Exception {
        dataSource = new DruidXADataSource();
        dataSource.setMinIdle(1);
        dataSource.setUrl("jdbc:h2:mem:test;");
        dataSource.setTestOnBorrow(false);

        JdbcUtils.execute(dataSource, "CREATE TABLE user (id INT, name VARCHAR(40))");
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.