Index: jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java =================================================================== --- jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java (revision 753368) +++ jackrabbit-core/src/main/java/org/apache/jackrabbit/core/persistence/db/DatabasePersistenceManager.java (working copy) @@ -84,7 +84,8 @@ protected String schemaObjectPrefix; protected boolean externalBLOBs; - + protected String externalBLOBDirectory; + // initial size of buffer used to serialize objects protected static final int INITIAL_BUFFER_SIZE = 1024; @@ -183,6 +184,14 @@ this.externalBLOBs = Boolean.valueOf(externalBLOBs).booleanValue(); } + public String getExternalBLOBDirectory() { + return externalBLOBDirectory; + } + + public void setExternalBLOBDirectory(String externalBLOBDirectory) { + this.externalBLOBDirectory = externalBLOBDirectory; + } + //---------------------------------------------------< PersistenceManager > /** * {@inheritDoc} @@ -221,7 +230,9 @@ * of the workspace home directory */ LocalFileSystem blobFS = new LocalFileSystem(); - blobFS.setRoot(new File(context.getHomeDir(), "blobs")); + File blobRoot = externalBLOBDirectory == null ? + new File(context.getHomeDir(), "blobs") : new File(externalBLOBDirectory).getCanonicalFile(); + blobFS.setRoot(blobRoot); blobFS.init(); this.blobFS = blobFS; blobStore = new FileSystemBLOBStore(blobFS);