package org.opensource.clearpool.util;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.XAConnection;
import com.mysql.jdbc.ConnectionImpl;
import com.mysql.jdbc.Util;
import com.mysql.jdbc.jdbc2.optional.JDBC4SuspendableXAConnection;
import com.mysql.jdbc.jdbc2.optional.MysqlXAConnection;
import com.mysql.jdbc.jdbc2.optional.SuspendableXAConnection;
public class MysqlUtil {
private MysqlUtil() {}
public static XAConnection mysqlXAConnection(Connection con) throws SQLException {
ConnectionImpl mysqlConn = (ConnectionImpl) con;
if (mysqlConn.getPinGlobalTxToPhysicalConnection()) {
if (!Util.isJdbc4()) {
return new SuspendableXAConnection(mysqlConn);
}
return new JDBC4SuspendableXAConnection(mysqlConn);
}
return new MysqlXAConnection(mysqlConn, false);
}
}