[ 
https://issues.apache.org/jira/browse/ARIES-1790?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16404678#comment-16404678
 ] 

Guillaume Nodet commented on ARIES-1790:
----------------------------------------

Possible patch:
{code}
diff --git 
a/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/RecoverableDataSource.java
 
b/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/RecoverableDataSource.java
index 7e78f313b..da24f316e 100644
--- 
a/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/RecoverableDataSource.java
+++ 
b/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/RecoverableDataSource.java
@@ -235,7 +235,7 @@ public class RecoverableDataSource implements DataSource, 
RecoverableDataSourceM
         cm.setName(name);
         cm.init();
 
-        delegate = (DataSource) 
mcf.getConnectionFactory().createConnectionFactory(cm.getConnectionManager());
+        delegate = (DataSource) 
cm.getManagedConnectionFactory().createConnectionFactory(cm.getConnectionManager());
 
         if (dataSource instanceof XADataSource) {
             Recovery.recover(name, (XADataSource) dataSource, 
transactionManager);
diff --git 
a/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/internal/ConnectionManagerFactory.java
 
b/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/internal/ConnectionManagerFactory.java
index 9c97698d5..bb76bd850 100644
--- 
a/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/internal/ConnectionManagerFactory.java
+++ 
b/transaction/transaction-jdbc/src/main/java/org/apache/aries/transaction/jdbc/internal/ConnectionManagerFactory.java
@@ -77,6 +77,10 @@ public class ConnectionManagerFactory {
         if (managedConnectionFactory == null) {
             throw new IllegalArgumentException("managedConnectionFactory must 
be set");
         }
+        if (validateOnMatch || backgroundValidation) {
+            // Validation requires per-connection matching, see #ARIES-1790
+            allConnectionsEqual = false;
+        }
         // Apply the default value for property if necessary
         if (transactionSupport == null) {
             // No transaction
{code}

> ValidatingDelegatingManagedConnectionFactory is not used with 
> aries.xa.validateOnMatch
> --------------------------------------------------------------------------------------
>
>                 Key: ARIES-1790
>                 URL: https://issues.apache.org/jira/browse/ARIES-1790
>             Project: Aries
>          Issue Type: Bug
>          Components: Transaction
>            Reporter: Grzegorz Grzybek
>            Assignee: Grzegorz Grzybek
>            Priority: Major
>




--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to