将Spring Java对象保留到Magnolia存储库中

时间:2014-04-15 23:08:02

标签: spring jcr persist magnolia

如果我有一个额外的Spring应用程序扩展我的Magnolia,它将获得一些Java对象,它将在我的应用程序中使用,我该如何保存它? 我已经学会了查询,但是我还不能用它来放入或改变它。我只能获取数据。进入节点。 我在哪里或如何坚持?

对于Info:我有一个存储库,它将存储特殊数据,并且我有一个为此声明的nodetype。因为它现在是春天社交UserConnection我有工作区"连接" with nodeType mgnl:userConnection

我的JavaObject是一个UserConnection,设计在MgnlUser附近,所以我也添加了属性,但我还不知道如何处理path和uuid。 我还不知道如何申报或在哪里获得它。

1 个答案:

答案 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, 扬