in tx-control-providers/jdbc/tx-control-provider-jdbc-xa/src/main/java/org/apache/aries/tx/control/jdbc/xa/impl/ManagedServiceFactoryImpl.java [246:269]
public void removedService(ServiceReference<DataSourceFactory> reference, DataSourceFactory service) {
boolean dsfLeft;
ServiceRegistration<JDBCConnectionProvider> oldReg = null;
AbstractJDBCConnectionProvider oldProvider = null;
synchronized (this) {
dsfLeft = activeDsf == service;
if (dsfLeft) {
activeDsf = null;
oldReg = serviceReg;
oldProvider = provider;
serviceReg = null;
provider = null;
}
}
safeUnregister(oldReg);
safeClose(oldProvider);
if (dsfLeft) {
DataSourceFactory newDSF = dsfTracker.getService();
if (newDSF != null) {
updateService(dsfTracker.getService());
}
}
}