如果我有一个额外的Spring应用程序扩展我的Magnolia,它将获得一些Java对象,它将在我的应用程序中使用,我该如何保存它? 我已经学会了查询,但是我还不能用它来放入或改变它。我只能获取数据。进入节点。 我在哪里或如何坚持?
对于Info:我有一个存储库,它将存储特殊数据,并且我有一个为此声明的nodetype。因为它现在是春天社交UserConnection我有工作区"连接" with nodeType mgnl:userConnection
我的JavaObject是一个UserConnection,设计在MgnlUser附近,所以我也添加了属性,但我还不知道如何处理path和uuid。 我还不知道如何申报或在哪里获得它。
答案 0 :(得分:1)
您可以以获取数据的方式存储数据。假设您通过Magnolia过滤器链运行spring应用程序,您可以为给定线程设置MgnlContext,并且可以轻松调用MgnlContext.getJCRSession("connections")
以获取会话和节点,就像检索数据一样,添加子节点或设置属性节点,您只需在节点上调用node.addNode("myNewNode")
或node.setProperty("myProp", "newValue")
,然后通过调用session.save()
来保持会话信息。但我想你已经知道了这一切。
如果您希望系统将整个对象序列化为repo,您可以使用JackRabbit OCM,甚至更容易 - 使用OCM与Magnolia的集成 - http://jira.magnolia-cms.com/browse/MJROCM 。如果您正在寻找有关如何使用OCM的示例,它已经在Magnolia的Shop模块中使用过。
HTH, 扬