jackrabbit-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From joe verderber <jjverder...@gmail.com>
Subject Re: sanityCheck this factory has already been closed
Date Fri, 01 Mar 2013 21:02:49 GMT
Have you tried getting the config object before the shutdown, then shutting
down, then starting up?

On Friday, March 1, 2013, sarf wrote:

> My objective is to be able to start and stop Jackrabbit instance regardless
> of number of times.
>
> I m able to successfully stop a Jackrabbit instance through the following
> code.
>
>         log.info("Unbind remote repository : {}.",
> getRemoteRepositoryName());
> //$NON-NLS-1$
>                 UnicastRemoteObject.unexportObject(this.remoteRepository,
> true);
>                 getRmiRegistry().unbind(getRemoteRepositoryName());
>
>                 if
> (getSessionFactory().getRepository().getDescriptorKeys().length>0) {
>             if (getSessionFactory().getRepository() instanceof
> JackrabbitRepository) {
>                 log.info("HOOK JCR : shuttown JackRabbit Repository...");
>                ((JackrabbitRepository)
> getSessionFactory().getRepository()).shutdown();
>             }
>         }
>
>
> In the mean time starting Jackrabbit repository through the following code
> generates IllegalStateException:
>
>         RepositoryConfig config =
> RepositoryConfig.create(repo.getConfig());
>         RepositoryImpl.create(config);
>
> Caused by: java.lang.IllegalStateException: this factory has already been
> closed
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.sanityCheck(ConnectionFactory.java:215)
>         at
>
> org.apache.jackrabbit.core.util.db.ConnectionFactory.getDataSource(ConnectionFactory.java:164)
>         at
>
> org.apache.jackrabbit.core.fs.db.DbFileSystem.getDataSource(DbFileSystem.java:226)
>         at
>
> org.apache.jackrabbit.core.fs.db.DatabaseFileSystem.init(DatabaseFileSystem.java:187)
>
> A boolean value "closed" is set to true as soon as the repository is shut
> down. When started later, it fails to reinitialize correctly.
>
>  private void sanityCheck() {
>         if (closed) {
>             throw new IllegalStateException("this factory has already been
> closed");
>         }
>     }
>
>
>
> --
> View this message in context:
> http://jackrabbit.510166.n4.nabble.com/sanityCheck-this-factory-has-already-been-closed-tp4657857.html
> Sent from the Jackrabbit - Users mailing list archive at Nabble.com.
>


-- 
Sent from Gmail Mobile

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message