Apache ACE XML存储库

时间:2013-05-31 10:48:40

标签: repository apache-ace

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

1 个答案:

答案 0 :(得分:1)

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

<强>存储库

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

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

对象图

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

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