我也是Java和Apache Sling的新手。我一直在尝试将Sling与MongoDB联系起来,这些是我到目前为止所做的:
NoSQL MongoDB Resource Provider
:Oak Document Node Store Service
:java -Dsling.run.modes=oak_mongo -jar org.apache
.sling.launchpad-9.jar -c sling -f -
以mongodb模式运行吊索启动板。结果如下:结果,在MongoDB中创建了一个名为“sling”的数据库,我可以通过Robo-3T(一个MongoDB管理工具)看到它:
使用下面的插件通过我的maven应用程序创建一些内容并在Sling上部署后,我能够在Sling浏览器中看到我新创建的节点和资源(http://localhost:8080/bin/browser.html):
<build>
<plugins>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<version>3.3.0</version>
<configuration>
<instructions>
<Sling-Nodetypes>
SLING-INF/nodetypes/nodetypes.cnd
</Sling-Nodetypes>
<Sling-Initial-Content>
SLING-INF/scripts;overwrite:=true;uninstall:=true;path:=/apps/test1/nodes,
SLING-INF/content;overwrite:=true;uninstall:=true;path:=/content/test1
</Sling-Initial-Content>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
但是,我需要将所有内容存储在MongoDB数据库中,但目前还没有存储在数据库中。我怎样才能做到这一点?
答案 0 :(得分:3)
最简单的方法是使用以下参数启动Sling Launchpad:-Dsling.run.modes=oak-mongo
。这将确保Oak配置为使用Mongo。您必须删除sling
目录,否则运行模式将不会更改。
您尝试的方法是: