You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@aries.apache.org by ti...@apache.org on 2016/07/22 16:52:19 UTC

svn commit: r1753812 - /aries/trunk/tx-control/tx-control-provider-jdbc-xa/src/main/java/org/apache/aries/tx/control/jdbc/xa/impl/ManagedServiceFactoryImpl.java

Author: timothyjward
Date: Fri Jul 22 16:52:19 2016
New Revision: 1753812

URL: http://svn.apache.org/viewvc?rev=1753812&view=rev
Log:
[tx-control] Register the recovery service before the ResourceProvider so that recovery is always available before someone uses the service

Modified:
    aries/trunk/tx-control/tx-control-provider-jdbc-xa/src/main/java/org/apache/aries/tx/control/jdbc/xa/impl/ManagedServiceFactoryImpl.java

Modified: aries/trunk/tx-control/tx-control-provider-jdbc-xa/src/main/java/org/apache/aries/tx/control/jdbc/xa/impl/ManagedServiceFactoryImpl.java
URL: http://svn.apache.org/viewvc/aries/trunk/tx-control/tx-control-provider-jdbc-xa/src/main/java/org/apache/aries/tx/control/jdbc/xa/impl/ManagedServiceFactoryImpl.java?rev=1753812&r1=1753811&r2=1753812&view=diff
==============================================================================
--- aries/trunk/tx-control/tx-control-provider-jdbc-xa/src/main/java/org/apache/aries/tx/control/jdbc/xa/impl/ManagedServiceFactoryImpl.java (original)
+++ aries/trunk/tx-control/tx-control-provider-jdbc-xa/src/main/java/org/apache/aries/tx/control/jdbc/xa/impl/ManagedServiceFactoryImpl.java Fri Jul 22 16:52:19 2016
@@ -206,23 +206,21 @@ public class ManagedServiceFactoryImpl i
 				try {
 					JDBCConnectionProviderImpl provider = new JDBCConnectionProviderFactoryImpl().getProviderFor(service,
 							jdbcProperties, providerProperties);
-					reg = context
-							.registerService(JDBCConnectionProvider.class, provider, getServiceProperties());
-
-					
 					String recoveryId = (String) providerProperties.get(OSGI_RECOVERY_IDENTIFIER);
 					if(recoveryId !=null) {
 						if(toBoolean(providerProperties, XA_ENLISTMENT_ENABLED, true)) {
 							LOG.warn("A JDBCResourceProvider has been configured with a recovery identifier {} but it has also been configured not to use XA transactions. No recovery will be available.", recoveryId);
 						} else {
 							reg2 = context.registerService(RecoverableXAResource.class, 
-											new RecoverableXAResourceImpl(recoveryId, provider, 
-													(String) providerProperties.get("recovery.user"),
-													(String) providerProperties.get(".recovery.password)")), 
-													getServiceProperties());
+									new RecoverableXAResourceImpl(recoveryId, provider, 
+											(String) providerProperties.get("recovery.user"),
+											(String) providerProperties.get(".recovery.password)")), 
+									getServiceProperties());
 						}
 					}
-					
+					reg = context
+							.registerService(JDBCConnectionProvider.class, provider, getServiceProperties());
+
 					ServiceRegistration<JDBCConnectionProvider> oldReg;
 					ServiceRegistration<RecoverableXAResource> oldReg2;