3

我是 Jackrabbit 的新手,我正在使用 Sling 通过其 REST 接口访问存储库。我已经弄清楚如何向存储库添加和访问各种文件,但我的问题是,Jackrabbit 将这些文件物理存储在哪里?

这是我的 Jackrabbit 存储库配置:

<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one
  or more contributor license agreements.  See the NOTICE file
  distributed with this work for additional information
  regarding copyright ownership.  The ASF licenses this file
  to you under the Apache License, Version 2.0 (the
  "License"); you may not use this file except in compliance
  with the License.  You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing,
  software distributed under the License is distributed on an
  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
  KIND, either express or implied.  See the License for the
  specific language governing permissions and limitations
  under the License.
-->

    <!DOCTYPE Repository
              PUBLIC "-//The Apache Software Foundation//DTD Jackrabbit 2.0//EN"
              "http://jackrabbit.apache.org/dtd/repository-2.0.dtd">

    <Repository>
        <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
             <param name="path" value="/sling-repository/repository"/>
        </FileSystem>

        <DataStore class="org.apache.jackrabbit.core.data.FileDataStore"/>

        <Security appName="Jackrabbit">
            <SecurityManager class="org.apache.jackrabbit.core.DefaultSecurityManager" workspaceName="security">
            </SecurityManager>

            <AccessManager class="org.apache.sling.jcr.jackrabbit.server.impl.security.PluggableDefaultAccessManager">
            </AccessManager>

            <LoginModule class="org.apache.sling.jcr.jackrabbit.server.impl.security.PluggableDefaultLoginModule">
                <param name="anonymousId" value="anonymous"/>
                <param name="adminId" value="admin"/>
            </LoginModule>
        </Security>

        <Workspaces rootPath="/sling-repository/workspaces" defaultWorkspace="default"/>

        <Workspace name="${wsp.name}">
            <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
                <param name="path" value="${wsp.home}"/>
            </FileSystem>
            <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager">
              <param name="url" value="jdbc/sling"/>
              <param name="driver" value="javax.naming.InitialContext"/>
              <param name="schemaObjectPrefix" value="${wsp.name}_"/>
            </PersistenceManager>
            <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
                <param name="path" value="${wsp.home}/index"/>
                <param name="supportHighlighting" value="true"/>
            </SearchIndex>
        </Workspace>

        <Versioning rootPath="/sling-repository/version">
            <FileSystem class="org.apache.jackrabbit.core.fs.local.LocalFileSystem">
                <param name="path" value="/sling-repository/version" />
            </FileSystem>

            <PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager">
              <param name="url" value="jdbc/sling"/>
              <param name="driver" value="javax.naming.InitialContext"/>
              <param name="schemaObjectPrefix" value="version_"/>
            </PersistenceManager>
        </Versioning>

        <SearchIndex class="org.apache.jackrabbit.core.query.lucene.SearchIndex">
            <param name="path" value="/sling-repository/repository/index"/>
            <param name="supportHighlighting" value="true"/>
        </SearchIndex>
    </Repository>

我的印象是这些文件应该存储在文件系统的某个位置,因为它们大于 100 字节(这似乎是Jackrabbit 的 DataStore 文档中描述的默认大小限制)。那么他们在哪里呢?我不知道在哪里看。

4

2 回答 2

4

找到他们!因为我没有像这样覆盖 DataStore 定义中的路径参数:

 <DataStore class="org.apache.jackrabbit.core.data.FileDataStore">
        <param name="path" value="/sling-repository/repositorydatastore"/>
 </DataStore>

Sling 将文件放入默认的${rep.home}/repository/datastore Doh!

我需要覆盖该值

于 2011-05-13T13:28:59.000 回答
2

有关DataStore 文档,另请参见http://wiki.apache.org/jackrabbit/DataStore

于 2011-05-14T14:38:13.450 回答