Apache Jackrabbit-复制节点?

| 使用Apache Jackrabbit,我在完全相同的路径上创建了两个节点
root.addNode(\"hello\");
我完全期望第二个加法项按照此处的描述抛出“ 1”,但是没有。 当我打印出节点的路径以尝试查看发生了什么时,我看到了 第一个节点为2 第二个节点为
/hello[2]
此外,当我删除节点时,在保存会话之前,将通过一项检查节点是否存在的测试,但在保存会话之后,相同条件的第二项测试将失败
session.getNode(\"/hello\").remove(); 
assertFalse(session.nodeExists(\"/hello\"));

session.save(); 

assertFalse(session.nodeExists(\"/hello\"));
这里发生了什么?这是Jackrabbit的错误还是某些功能与规范不符?     
已邀请:
您会看到的是同名同级,这是Jackrabbit和JCR的功能。 JSR-170的首席开发人员David Nuescheler在Jackrabbit WIKI中写道:   虽然规范中引入了同名同级(SNS),以允许与为XML设计并通过XML表示的数据结构兼容,因此对JCR极为有价值,但SNS却为存储库带来了巨大的开销和复杂性。      ...      对于XML的导入或与现有XML SNS的交互可能是必要且有用的,但是我从未使用过SNS,也从未在我的“绿色领域”数据模型中使用过。 因此,基本上,您拥有同名名称来容纳XML数据的原因是,在XML数据中您可以拥有多个同名元素。我已经看到Day's CQ WCM中使用了相同的名称,但总体上不鼓励使用它们。     

要回复问题请先登录注册