0

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

4

1 回答 1

1

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

存储库

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

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

对象图

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

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

于 2013-06-11T07:46:35.103 回答