[exo-jcr-commits] exo-jcr SVN: r4594 - jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation.
do-not-reply at jboss.org
do-not-reply at jboss.org
Tue Jul 5 05:11:59 EDT 2011
Author: tolusha
Date: 2011-07-05 05:11:58 -0400 (Tue, 05 Jul 2011)
New Revision: 4594
Modified:
jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java
Log:
EXOJCR-1423: Remove reference from InitialContextBinder
Modified: jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java 2011-07-05 09:11:22 UTC (rev 4593)
+++ jcr/trunk/exo.jcr.component.ext/src/main/java/org/exoplatform/services/jcr/ext/repository/creation/RepositoryCreationServiceImpl.java 2011-07-05 09:11:58 UTC (rev 4594)
@@ -779,8 +779,11 @@
{
try
{
+ // extract list of all datasources
+ ManageableRepository repositorty = repositoryService.getRepository(repositoryName);
+ Set<String> datasources = extractDataSourceNames(repositorty.getConfiguration(), false);
+
// close all opened sessions
- ManageableRepository repositorty = repositoryService.getRepository(repositoryName);
for (String workspaceName : repositorty.getWorkspaceNames())
{
WorkspaceContainerFacade wc = repositorty.getWorkspaceContainer(workspaceName);
@@ -792,6 +795,12 @@
// remove repository from configuration
repositoryService.removeRepository(repositoryName);
repositoryService.getConfig().retain();
+
+ // unbind datasource
+ for (String ds : datasources)
+ {
+ initialContextInitializer.getInitialContextBinder().unbind(ds);
+ }
}
catch (RepositoryException e)
{
@@ -801,6 +810,18 @@
{
throw new RepositoryCreationException("Can't remove repository", e);
}
+ catch (FileNotFoundException e)
+ {
+ throw new RepositoryCreationException("Can't remove repository", e);
+ }
+ catch (NamingException e)
+ {
+ throw new RepositoryCreationException("Can't remove repository", e);
+ }
+ catch (XMLStreamException e)
+ {
+ throw new RepositoryCreationException("Can't remove repository", e);
+ }
}
private DBCreator getDBCreator(DBCreationProperties creationProps) throws ConfigurationException
More information about the exo-jcr-commits
mailing list