Jukka Zitting wrote:
Hi,

On Thu, Dec 10, 2009 at 1:34 PM, Samuel Cox <[email protected]> wrote:
I need to backup our repository periodically and anticipate using the
RepositoryCopier class.  I was curious that 2 of the methods in the Javadoc
mention that the source repo must not be modified during the call; however,
the others do not.  Is it possible for me to perform a backup while still
allowing JCR API calls that modify the repo?  In other words, will
RepositoryCopier somehow lock/cache/unlock/flush/etc for me?
 I'm guessing it won't/can't do this.

You're right, the RepositoryCopier doesn't contain any protection
against concurrent changes to the repository. If you allow clients to
modify the repository while you're backing it up, you may end up with
an inconsistent backup.

I cannot get RepositoryCopier to work regardless of whether or not someone is modifying it. I get the following error if I've already created a TransientRepository and logged in.

javax.jcr.RepositoryException: The repository home /opt/fuse-esb-4.1.0.0/data/di/repository/design/repository/repository appears to be in use since the file named .lock is already locked by the current process. at org.apache.jackrabbit.core.util.RepositoryLock.tryLock(RepositoryLock.java:159) at org.apache.jackrabbit.core.util.RepositoryLock.acquire(RepositoryLock.java:138)

Does this mean that I have to shutdown the TransientRepository before I can perform the backup? When I do that it works, but I was under the impression I did not have to do this.

Thanks.

--
Samuel Cox

Reply via email to