我在Sling 11上,它使用Jackrabbit Oak作为内容存储库。我想知道如何设置Sling来将JCR存储库存储在RDBMS(具体来说是DB2)上。
我在Jackrabbit Persistence上找到了此链接,但是它似乎不适用于Oak,而Oak文档主要涉及MongoDB。
还找到了Cassandra Resource Provider的实现,尽管这似乎旨在不使用Oak来访问映射到Cassandra的特定路径。
谢谢
答案 0 :(得分:1)
在这里回答,但功劳归于Sling user's mailing list
在boot.txt中添加新的运行模式(在我的情况下为oak_db2)
[设置] sling.run.mode.install.options = oak_tar,oak_mongo,oak_db2
下载Sling的数据源项目并进行编译。
在oak.txt中配置运行模式(这将在Felix中为您加载捆绑包):
[工件startLevel = 15 runModes = oak_db2]
com.h2database / h2-mvstore / 1.4.196
com.ibm.db2 / jcc4 / 11.1
org.apache.sling/org.apache.sling.datasource/1.0.3-SNAPSHOT
并设置将管理持久性的服务:
[configurations runModes=oak_db2]
org.apache.jackrabbit.oak.plugins.document.DocumentNodeStoreService
documentStoreType="RDB"
org.apache.sling.datasource.DataSourceFactory
url="jdbc:db2://10.1.2.3:50000/sling"
driverClassName="com.ibm.db2.jcc.DB2Driver"
username="****"
password="****"
datasource.name="oak"