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のデータストアのドキュメントで説明されているデフォルトのサイズ制限のようです)より大きいため、ファイルシステムのどこかに保存する必要があるという印象を受けています。それで、彼らはどこにいますか?どこを見ればいいのかわからない。

4

2 に答える 2

4

それらを見つけました!次のように、データストア定義のパスパラメータをオーバーライドしていなかったため、次のようになります。

 <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

データストアのドキュメントについては、http: //wiki.apache.org/jackrabbit/DataStoreも参照してください。

于 2011-05-14T14:38:13.450 に答える