问题标签 [modeshape]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ModeShape 提供了 JackRabbit 没有的什么?
我刚刚熟悉了 Apache JackRabbit。我已经为文档管理做了一个小的多用户存储库。
如果有人同时使用它们,您能回答这些问题吗?
ModeShape 是否以某种方式与 JBoss 相关联?我对 JBoss AS 或任何其他 JBoss 工具没有太多经验。我看到了对 tomcat 的支持,但是有很多 JBossy 的东西
文档说未来的版本应该有 UI 集成,这是遥远的未来吗?它会是怎样的 UI 集成?在 Hippo CMS 和 JackRabbit 的情况下,是否有使用 ModeShape 的东西?很遗憾 Gatein 不使用它。
JackRabbit 在全文搜索、索引和文本内容的整体处理方面与 ModeShape 相比如何?
CMIS 支持如何?我看到一个未解决的问题MODE-650。OpenCMIS (Apache chmistry) 支持 Jackrabbit,甚至在不久的将来也支持辅助类型。
support/utils 库怎么样,在使用 Nodes 时为开发人员提供方便
我对任何其他比较评论感兴趣,谢谢
workspace - 人类JCR工作空间的解释和使用案例
能否请任何人解释有关 JCR 工作区的 JCR 2.0 规范?
我知道一个会话总是绑定到一个持久工作区,尽管一个持久工作区可能绑定到多个会话。
这可能与版本控制和事务有关,尽管我不知道为什么。
一些观察:
- 只能在同一工作空间的节点之间进行引用
- 执行查询将始终针对单个工作区
工作区似乎是关于代表相同内容(相同 UUID)的节点,在:
- 不同版本的“某物”,也许是项目?
- 工作流程的不同阶段
并且不应该用于 ACL。
同样在 JackRabbit 中,每个工作区都有其持久性管理器。而 ModeShape 有一个源连接器 - 独立于工作区。
jcr - jcr 节点分离:在会话范围之外使用 JcrNode 属性(如某种 DTO)
目前正在使用 JCR (Modeshape) 做一个测试应用程序。
抽象流程如下:session.open,存储库获取与查询相关的一个或多个节点,session.close。
结果节点包含我需要呈现给视图的属性等。我目前有让视图直接从 jcrNode 获取属性的天真设置。但是,这会产生一个错误,例如:“ID 为 'e2881d98-56fd-4a57-9cce-1a7d087a11e8' 的会话已关闭”,这是有道理的。
我相信一般方法(否则请更正)是创建某种 nodeDTO,当会话仍然处于活动状态时,它由 jcrNode 填充。然后视图可以随意使用 nodeDTO。
现在,这种 nodeDTO 的完美结构将模仿 jcrNode 1 对 1 的结构,那么为什么不将 jcrNode 用作 DTO 本身呢?这将通过类似于休眠分离/附加的东西来完成。我意识到 jcrNode(及其子节点)可以包含大量数据,因此应该有一些参数来确定分离的深度等。
另一种方法是使用类似于 openSessionInView 模式的东西,尽管这将是特定于 mvc 框架的。
所以我可以看到几种方法,最好的方法优先(imo):
- jcrNodes 的分离/附加功能
- 用于创建 DTO 的良好帮助类库
- openSessionInView
非常感谢对“最佳实践”方法等的任何评论。
jcr - JCR SQL2 多值属性搜索
我想使用一个或多个值作为多值属性的输入参数在内容存储库中进行搜索类似于:查找所有具有主类型“nt:unstructured”的节点,其属性“multiprop”(多值属性)包含两个值“一”和“二”。
传递给 queryManager.createQuery 的 queryString 应该是什么样子?
谢谢你。
jcr - JCR(Modeshape)二进制内容+元数据
我正在使用 Modeshape 2.6.0...我有两种类型的内容(内容是关于汽车的)。1)元数据:汽车的名称,制造时间等...(我想将其存储到数据库中)和 2)二进制:汽车的图片(我想使用文件系统)
我的问题是:是否有可能有一个存储库(即 modeshape-config.xml 中的 1 个模式:存储库),其中有两个模式源(mode:classname="org.modeshape.connector.store.jpa.JpaSource " 和其他模式:classname="org.modeshape.connector.filesystem.FileSystemSource") ?
或者
我是否需要有两个单独的存储库(即两个模式:存储库),每个存储库都使用它自己的模式源?...我不确定,但从我读过的内容来看,第一个选项似乎是不可能的......?
jcr - Jcr (Modeshape) 二进制内容可序列化
我正在使用 Modeshape 2.6.0。我有两种类型的内容:二进制内容和元数据..
二进制文件保存在 CR 节点的 jcr:data 属性中。我通过 content.getProperty("jcr:data").getBinary()...(其中内容是节点类型)获取内容
项目使用ehcache缓存解决方案。这个缓存机制应该扩展到我的二进制内容。为了让它工作,我需要把节点的内容变成实现 Serializable 的东西。
我的第一个目标是二进制,通过使用 content.getProperty("jcr:data").getBinary() 但我得到下面的错误,因为二进制没有实现可序列化。
23:44:49,255 错误 [net.sf.ehcache.store.compound.factories.DiskStorageFactory] 7690f9c6-a6f0-412e-ba47-b8e43f77d1af 的磁盘写入失败(它将被驱逐)::java.io.NotSerializableException:org .modeshape.jcr.JcrBinary
有什么建议吗?
谢谢你。
multithreading - ensureRequiredPrimaryTypesLoaded 在 Jetty 下首次访问时抛出 NullPointerException
我正在使用最新的 Spring3 和 JBoss Modeshape(指向使用文件系统连接器的联合存储库)开发“资源”控制器来检索资产。
当我使用控制器访问任何网页时,它会返回大部分图像,然后在“getNode”调用中在其他各种图像中抛出 NullPointerException ......
就我而言,我没有做任何特别的事情(我的测试用例工作正常):
- 创建/配置引擎(仅一次)
- 登录并获取会话
- 尝试找到节点
- 从会话中注销
代码看起来很像:
在第一次点击页面(有错误)之后,之后的每一次点击都很完美,从那时起一切正常。
我正在关注这个链接Heavy Concurrency: A better way to manage JCR Sessions for the session creation/management。
似乎我有多个线程试图在 Modeshape 中配置 JcrNodeDefinition。如果我将enureRequirePrimaryTypesLoaded()
方法标记为,synchronized
那么我永远不会收到错误。
有人对使用 Modeshape、并发和会话管理有任何经验/建议吗?
堆栈跟踪是:
java.lang.NullPointerException at org.modeshape.jcr.JcrNodeDefinition.ensureRequiredPrimaryTypesLoaded(JcrNodeDefinition.java:114) at org.modeshape.jcr.JcrNodeDefinition.allowsChildWithType(JcrNodeDefinition.java:275) at org.modeshape.jcr.RepositoryNodeTypeManager.findChildNodeDefinition( RepositoryNodeTypeManager.java:1142) 在 org.modeshape.jcr.JcrNodeTypeManager.findChildNodeDefinition(JcrNodeTypeManager.java:433) 在 org.modeshape.jcr.SessionCache$JcrNodeOperations.materialize(SessionCache.java:2711) 在 org.modeshape.graph.session .GraphSession$Node.load(GraphSession.java:1755) at org.modeshape.graph.session.GraphSession$Node.getPayload(GraphSession.java:3030) at org.modeshape.jcr.AbstractJcrNode.getNode(AbstractJcrNode.java:950 ) 在 org.modeshape.jcr.AbstractJcrNode.getNode(AbstractJcrNode.java:96)在 com.acme.beans.contents.FileNodeAdapter.(FileNodeAdapter.java:26) 在 com.acme.web.views.ResourceController.getStream(ResourceController.java:77) 在 com.acme.web.views.ResourceController。处理资源(ResourceController.java:46)
jcr - Modeshape 配置 - 结合 XML + 编程?
我已经使用 XML 在我的开发盒上配置了一个 Modeshape 工作区,指向:
我将使用安装在不同卷上的工作区部署到 Linux:
是否可以使用环境变量来配置它,还是我需要求助于编程配置?Modeshape 团队是否推荐了一种方法?
谢谢
modeshape - 在 JCR_SQL2 中过滤“*.modeshape”文件
查询 FileSystemSource 时如何排除 modeshape 文件?
当我查询时,它们都有,jcr:createdBy 'null'
但以下导致空指针异常:
这工作正常:
谢谢
jcr - 创建新工作区
Modeshape 文档的第 7.1.6 节说“您的应用程序现在可以使用标准 JCR 2.0 API 创建和删除工作区。”
JCR 2.0 文档说要使用 Workspace.createWorkspace(String name)
如何使用本文底部的代码获取我的存储库的这一部分?
另外,如何获取存储库中已经存在的工作区列表?
谢谢