问题标签 [jcr]

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.

0 投票
1 回答
382 浏览

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

有什么建议吗?

谢谢你。

0 投票
1 回答
3018 浏览

java - JCR 2.0 如何正确使用会话

本指南JCR Wiki建议为每个请求使用一个新会话。我的任务是创建一个jackrabbit 文件树。因此,按照本指南获取每个项目的属性/节点,我需要创建新会话并稍后关闭它吗?这样我每次都会创建很多会话,这看起来很奇怪。

但是,如果我一直为 JCR 使用一个会话,我会在 JCR 端遇到 MemoryHeapException 问题,并且有时无法正确保存节点。

在使用一个会话和每次创建一个会话之间是否有任何规范?还是我误读了指南?

0 投票
3 回答
5410 浏览

jackrabbit - 具有动态日期比较的 JCR SQL2 查询

我需要查询 jcr 存储库以查找日期属性(例如 jcr:created)比特定日期年轻的节点。

使用 SQL2,我像这样检查“jcr:created > date”(效果很好):

SELECT * FROM [nt:base] AS s WHERE s.[jcr:created] > CAST('2012-01-05T00:00:00.000Z' AS DATE)

现在棘手的部分:

还有一个附加属性声明了必须动态添加到 jcr:created 日期的天数。

假设该属性包含 5(天),那么查询不应检查“jcr:created > date”,而应检查“(jcr:created + 5) > date”。应通过“(jcr:created + 10) > date”检查包含属性值 10 的下一个节点。

是否有任何智能/动态操作数可以做到这一点?由于该属性是特定于节点的,因此我无法将其静态添加到查询中,但它必须从每个节点中读取它。

0 投票
1 回答
4932 浏览

java - 如何在 JCR 2.0 SQL2 中进行多级属性查询?

我想做这样的事情,但是在 JCR_SQL2 中(因为 XPATH 现在在 JCR 2.0 中已弃用)。

我可以像这样得到第一个节点:

但是,我如何只在该节点下查询呢?

0 投票
1 回答
87 浏览

multithreading - ensureRequiredPrimaryTypesLoaded 在 Jetty 下首次访问时抛出 NullPointerException

我正在使用最新的 Spring3 和 JBoss Modeshape(指向使用文件系统连接器的联合存储库)开发“资源”控制器来检索资产。

当我使用控制器访问任何网页时,它会返回大部分图像,然后在“getNode”调用中在其他各种图像中抛出 NullPointerException ......

就我而言,我没有做任何特别的事情(我的测试用例工作正常):

  1. 创建/配置引擎(仅一次)
  2. 登录并获取会话
  3. 尝试找到节点
  4. 从会话中注销

代码看起来很像:

在第一次点击页面(有错误)之后,之后的每一次点击都很完美,从那时起一切正常。

我正在关注这个链接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)

0 投票
4 回答
1366 浏览

java - Apache Jackrabbit 网络应用程序

我想知道是否有用于 apache jackrabbit 的(第三方)webapp,我可以使用它来浏览和移动/删除/编辑我的 jackrabbit 服务器上的文档。

我知道jackrabbit 团队创建了Web 界面,但这太标准了。

我可以编写自己的 webapp,但我不想重新发明轮子 :)

0 投票
0 回答
2683 浏览

web-services - 范围“会话”对于当前线程不活动

我有两个 Spring 应用程序:客户端和服务器。在服务器应用程序上是服务,在客户端应用程序上是视图逻辑。两个应用程序都应该通过 Web 服务进行通信,但这由于错误而不起作用

请求处理失败;嵌套异常是 org.springframework.remoting.jaxws.JaxWsSoapFaultException:创建名称为“scopedTarget.jcrSession”的 bean 时出错:范围“会话”对于当前线程无效;如果您打算从单例中引用它,请考虑为该 bean 定义一个作用域代理;嵌套异常是 java.lang.IllegalStateException:未找到线程绑定请求:您是指实际 Web 请求之外的请求属性,还是在原始接收线程之外处理请求?如果您实际上是在 Web 请求中操作并且仍然收到此消息,则您的代码可能在 DispatcherServlet/DispatcherPortlet 之外运行:在这种情况下,请使用 RequestContextListener 或 RequestContextFilter 来公开当前请求。

在服务器应用程序上,我正在使用 JCR Session(会话范围 bean)

在服务器应用程序的 web.xml 中,我有

当我在浏览器中访问服务器应用程序生成的 WSDL 文件时,一切正常。当我在本地使用服务器应用程序服务时(例如,在服务器应用程序的控制器中),一切都还可以。那么,当我尝试从远程应用程序通过 Web 服务访问服务时,为什么会发生此错误?

Update1 jcrSession是按SessionFactory类创建的。然后jcrSession使用 springs 自动连接到 DAO 对象@Autowired

此外,当我尝试在同一个应用程序中自动连接服务并在由方法注释的方法@PostConstruct或在InitializingBean方法的实现中使用它时,发生了同样的错误afterPropertiesSet()

0 投票
1 回答
1969 浏览

login - 在 CQ5 中,如何访问保存在 JCR 中的登录凭据

我正在研究 CQ5。我已经实现了 CQ5 的表单组件,并且能够访问保存在 JCR(Java Content Repository)中的内容。目前我正在实现 CQ5 默认登录组件。我做了一个登录页面和注册页面。注册页面有一些用户条目,如名字、姓氏、用户名、电子邮件和密码等。因此,登录应该使用 JCR 注册表中用户的条目,但我无法这样做。

请帮我解决问题。如何使用 JCR 实现登录组件,即使用 JCR 中保存的数据登录。或者可以通过使用外部数据库来完成。

谢谢

科马尔

0 投票
1 回答
1940 浏览

java - jcr 查询构造

我正在构建一个 jcr 查询并从存储库接收数据。这是我的代码:

但这无法成功执行。它给了我一个错误

在 jcr-shell 中,如果我输入它就会工作query sql "select * from public:hours"并且会给我正确的结果。
我搜索了许多参考资料,但几乎每个示例都与我的相同。所以我不确定问题出在哪里。任何有这方面经验的人请帮忙。

0 投票
1 回答
1087 浏览

jackrabbit - 关闭 Jackrabbit 的索引功能是否安全?

我们只使用 Jackrabbit 来存储文件,稍后我们将使用它们的完整路径或 UUID 检索这些文件。在这种情况下关闭 Jackrabbit 索引是否安全?

Jackrabbit XPath 查询呢,它们使用全文索引吗?