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() {