diff --git a/pom.xml b/pom.xml index 678f10eac5..aa6d58e705 100644 --- a/pom.xml +++ b/pom.xml @@ -13,33 +13,20 @@ 2012 + 3.1.1.RELEASE + 4.11 + true - 4.10 + UTF-8 + 1.6 + - - bonecp - bonecp - http://jolbox.com/bonecp/downloads/maven/ - default - - - alibaba - alibaba - http://code.alibabatech.com/mvn/releases/ - default - local-file file://${basedir}/lib/ default - - - springsource-repo - SpringSource Repository - http://repo.springsource.org/release - @@ -96,7 +83,7 @@ org.apache.maven.plugins maven-compiler-plugin - 2.3.2 + 3.0 UTF-8 1.6 @@ -107,7 +94,7 @@ org.apache.maven.plugins maven-surefire-plugin - 2.12.2 + 2.12.4 **/bvt/**/*.java @@ -118,7 +105,7 @@ org.apache.maven.plugins maven-source-plugin - 2.1.1 + 2.2.1 attach-sources @@ -134,7 +121,7 @@ maven-javadoc-plugin - 2.8.1 + 2.9 attach-javadoc @@ -157,6 +144,7 @@ maven-gpg-plugin + 1.4 ${gpg.skip} @@ -337,21 +325,21 @@ org.springframework spring-core - 3.1.1.RELEASE + ${spring.version} provided true org.springframework spring-beans - 3.1.1.RELEASE + ${spring.version} provided true org.springframework spring-orm - 3.1.1.RELEASE + ${spring.version} provided true @@ -399,13 +387,13 @@ mysql mysql-connector-java - 5.1.20 + 5.1.22 provided net.sourceforge.jtds jtds - 1.2.7 + 1.3.0 provided diff --git a/src/main/java/com/alibaba/druid/pool/xa/JtdsXAResource.java b/src/main/java/com/alibaba/druid/pool/xa/JtdsXAResource.java index f258687d1a..c59585281d 100644 --- a/src/main/java/com/alibaba/druid/pool/xa/JtdsXAResource.java +++ b/src/main/java/com/alibaba/druid/pool/xa/JtdsXAResource.java @@ -15,25 +15,47 @@ */ package com.alibaba.druid.pool.xa; +import java.lang.reflect.Method; import java.sql.Connection; import javax.transaction.xa.XAException; import javax.transaction.xa.XAResource; import javax.transaction.xa.Xid; -import net.sourceforge.jtds.jdbc.ConnectionJDBC2; import net.sourceforge.jtds.jdbc.XASupport; +import com.alibaba.druid.support.logging.Log; +import com.alibaba.druid.support.logging.LogFactory; + public class JtdsXAResource implements XAResource { + private final static Log LOG = LogFactory.getLog(JtdsXAResource.class); + private final Connection connection; private final JtdsXAConnection xaConnection; - private final String rmHost; + private String rmHost; + + private static Method method; public JtdsXAResource(JtdsXAConnection xaConnection, Connection connection){ this.xaConnection = xaConnection; this.connection = connection; - rmHost = ((ConnectionJDBC2) connection).getRmHost(); + + if (method == null) { + try { + method = connection.getClass().getMethod("getRmHost"); + } catch (Exception e) { + LOG.error("getRmHost method error", e); + } + } + + if (method != null) { + try { + rmHost = (String) method.invoke(connection); + } catch (Exception e) { + LOG.error("getRmHost error", e); + } + } } protected JtdsXAConnection getResourceManager() {