• Jackrabbit集群


    http://pingyuan.itpub.net/post/15272/461294

    Jackrabbit集群原理

    Jackrabbit 的框架本身已经实现了集群部署。它的集群原理图如下:

    Jackrabbit的集群原理:每个应用系统拥有各自的内容仓库,每个应用系统对本身的内容仓库做了增加、删除、修改的操作,都会在内容仓库集群汇聚点做个记录,然后其他的内容仓库会同步集群汇聚点上的操作。

    比如由上图:应用系统1修改内容仓库1的某个节点信息(第1步骤),应用系统1同时在内容仓库集群汇聚点做了记录(第2步骤),然后内容仓库2会同步集群汇聚点上的操作(3步骤)

    集群的必要条件

    1. 必须保证每个集群节点的仓库persistence managers 保存数据到同一个地方、所有的集群节点都可以访问。

    2. 每个集群节点要有唯一的id

    3. 内容仓库集群汇聚点存储类型可以是数据库或者文件。

    对于第一个条件,因为在集群汇聚点上只是保存了内容仓库修改项的唯一标识,只有别的集群点同步该修改项时,才会读取内容仓库修改项的实际数据。

    对于第二个条件,集群汇聚点为了标识那个集群点做了修改。

    对于第三个条件,一定要确保集群汇聚点上的信息能够给所有的集群点访问。

    集群配置步骤

    1repository.xml文件中增加

    <Cluster id="node1" syncDelay="5" >

    <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">

    <param name="revision" value="${rep.home}/revision.log"/>

    <param name="driver" value="oracle.jdbc.driver.OracleDriver"/>

    <param name="url" value="jdbc:oracle:thin:@172.16.14.237:1521:ora10g64" />

    <param name="user" value="exkm" />

    <param name="password" value="exkm" />

    <param name="schema" value="oracle"/>

    <param name="schemaObjectPrefix" value="J_C_"/>

    </Journal>

    </Cluster>

    上面表示集群汇聚点存储类型是存在oracle数据库。只要配置正确后,我们将在oracle数据库中找到两个表:J_C_GLOBAL_REVISIONJ_C_JOURNAL

    例子:

    比如你在应用系统1上的repository.xml增加了以下内容

    <Cluster id="node1" syncDelay="5" >

    <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">

    <param name="revision" value="${rep.home}/revision.log"/>

    <param name="driver" value="oracle.jdbc.driver.OracleDriver"/>

    <param name="url" value="jdbc:oracle:thin:@172.16.14.237:1521:ora10g64" />

    <param name="user" value="exkm" />

    <param name="password" value="exkm" />

    <param name="schema" value="oracle"/>

    <param name="schemaObjectPrefix" value="J_C_"/>

    </Journal>

    </Cluster>

    另外应用系统2repository.xml可以增加了以下内容

    <Cluster id="node2" syncDelay="5" >

    <Journal class="org.apache.jackrabbit.core.journal.DatabaseJournal">

    <param name="revision" value="${rep.home}/revision.log"/>

    <param name="driver" value="oracle.jdbc.driver.OracleDriver"/>

    <param name="url" value="jdbc:oracle:thin:@172.16.14.237:1521:ora10g64" />

    <param name="user" value="exkm" />

    <param name="password" value="exkm" />

    <param name="schema" value="oracle"/>

    <param name="schemaObjectPrefix" value="J_C_"/>

    </Journal>

    </Cluster>

    注意<Cluster >节点上的id不同。

  • 相关阅读:
    加法图灵机
    Experiment 1
    进制转换
    快速排序
    辗转相除、线段交点、多角形面积公式
    JS如何优雅监听容器高度变化
    解决react和其他框架之间的交互问题
    MacBook Pro触控板手势
    代理 请求登录失效(显示未登录)问题
    Web端 长按事件
  • 原文地址:https://www.cnblogs.com/SingleCat/p/2169845.html
Copyright © 2020-2023  润新知