【问题标题】:Apache ACE XML repositoryApache ACE XML 存储库
【发布时间】:2013-05-31 10:48:39
【问题描述】:

目前,Apache ACE 中使用了基于 XML 文件的存储库。我们可以更改它们以使 DBMS 为基础吗?如果是,是否有可用的指南?

【问题讨论】:

    标签: repository apache-ace


    【解决方案1】:

    ACE 在存储方面使用了两层抽象:

    存储库

    我将从底部开始。在这里,ACE 引入了存储库的概念,它只不过是数据的版本化 BLOB。每个存储库从 1 开始版本控制,每次提交一个新的 BLOB 时,该版本都会受到影响。有多个这样的存储库,可以通过名称来寻址。

    编写此存储库接口的不同实现相当简单,您可以使用任何支持某种形式的 BLOB 的后端,包括 DBMS。请注意,在这个级别上,没有关于这些 BLOB 内部的概念,因此根据您在此处使用 DBMS 的原因,这可能是您想要的,也可能不是您想要的。

    对象图

    在此存储库之上,ACE 使用 POJO 的内存对象图来表示其状态。 POJO 保存元数据,例如工件的 URL、捆绑符号名称、版本等。POJO 当前使用 XStream(XML 的来源)持久化和恢复。在这个级别,您也可以选择以完全不同的方式存储图形(甚至可能完全绕过底层存储库以支持其他方式)。请注意,尽管 ACE 通常假定整个对象图在每次持久化时都会进行版本控制(因此我们不会覆盖任何旧数据)。

    希望这能更多地解释所涉及的内容。如果您想进一步讨论这个问题,请不要犹豫,订阅 ACE 开发邮件列表(有关如何订阅的信息,请参阅 http://ace.apache.org/get-involved/mailing-lists.html)。

    【讨论】:

      猜你喜欢
      • 2014-10-15
      • 1970-01-01
      • 1970-01-01
      • 2019-07-08
      • 1970-01-01
      • 2012-07-23
      • 1970-01-01
      • 2011-11-14
      • 2015-04-01
      相关资源
      最近更新 更多