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
Show replies by date