diff --git a/pom.xml b/pom.xml
index 678f10eac5..b367749f93 100644
--- a/pom.xml
+++ b/pom.xml
@@ -13,16 +13,15 @@
2012
- true
+ 3.1.1.RELEASE
4.10
+
+ true
+ UTF-8
+ 1.6
+
-
- bonecp
- bonecp
- http://jolbox.com/bonecp/downloads/maven/
- default
-
alibaba
alibaba
@@ -34,12 +33,6 @@
file://${basedir}/lib/
default
-
-
- springsource-repo
- SpringSource Repository
- http://repo.springsource.org/release
-
@@ -337,21 +330,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 +392,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() {