/** * Performs the actual work of stopping the service. Should be called by {@link * #stop(org.jboss.msc.service.StopContext)} asynchronously from the MSC thread that invoked stop. */ protected synchronized void stopService() { if (deploymentMD != null) { if (deploymentMD.getResourceAdapterKey() != null) { try { raRepository.getValue().unregisterResourceAdapter(deploymentMD.getResourceAdapterKey()); } catch (org.jboss.jca.core.spi.rar.NotFoundException nfe) { ConnectorLogger.ROOT_LOGGER.exceptionDuringUnregistering(nfe); } } if (deploymentMD.getResourceAdapter() != null) { deploymentMD.getResourceAdapter().stop(); BootstrapContextCoordinator.getInstance() .removeBootstrapContext(deploymentMD.getBootstrapContextIdentifier()); } if (deploymentMD.getDataSources() != null && managementRepositoryValue.getValue() != null) { for (org.jboss.jca.core.api.management.DataSource mgtDs : deploymentMD.getDataSources()) { managementRepositoryValue.getValue().getDataSources().remove(mgtDs); } } if (deploymentMD.getConnectionManagers() != null) { for (ConnectionManager cm : deploymentMD.getConnectionManagers()) { cm.shutdown(); } } } sqlDataSource = null; }