如何在Apache Jackrabbit中配置自定义节点定义?

Bri*_*ews 4 java jackrabbit jcr jsr170

有没有办法可以在实例化新存储库时为Apache Jackrabbit配置自定义节点类型

我正在使用Apache Maven自动化我的构建,并且使用JUnit和集成测试运行一些单元测试以与Jetty一起运行,并且希望能够轻松地设置和拆除测试存储库.

acf*_*zer 7

如果您能够升级到新发布的Jackrabbit 2.0.0,则可以以编程方式创建和注册节点类型.主钩子是JSR-283 NodeTypeManager,它既可以作为新NodeType的工厂,也可以注册它们.只需在JUnit测试的设置方法中注册它们,你就应该好好去.


Dou*_*las 5

我建议您使用CND文件定义节点类型,并配置JUnit测试用例以便为您注册它们,如本例所示.我想说最合适的方法是定义一个执行此配置的抽象测试用例.

另请注意,节点类型与工作空间相关联,而不是与整个存储库相关联.

  • 不,节点类型是在Jackrabbit的整个存储库中安装的,并且这种方式也可以通过规范看到.原因是您可以将节点从一个工作空间克隆/复制到另一个工作空间,因此将节点类型注册分开是没有意义的.否则我会给你的答案. (3认同)