问题标签 [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 回答
447 浏览

jackrabbit - Jackrabbit Persistence Manager - externalBLOBs 属性的相关性

externalBLOBsJackrabbit 的 PersistenceManager 类中属性的相关性是什么?我们正在使用org.apache.jackrabbit.core.persistence.bundle.OraclePersistenceManager该类在 Oracle 上运行 Jackrabbit 1.6.4。对于集群,我们使用org.apache.jackrabbit.core.journal.OracleDatabaseJournalorg.apache.jackrabbit.core.data.FileDataStore共享位置。

集群正在工作,但我想确保我们优化它以提高性能。

我们应该更改externalBLOBs此设置中的属性值吗?默认值为true

0 投票
1 回答
401 浏览

osgi - 无法使用 Felix 环境中的 JCR API 连接到 CRX 存储库

我正在尝试使用 JCR API 连接到 CRX 存储库。我按照http://wiki.apache.org/jackrabbit/RemoteAccess的说明进行操作。如果我编写一个普通的 java 类并尝试使用访问 crx 存储库

它完美无缺。如果我将其创建为捆绑包并将其部署在 Felix 中,则它不起作用。我已将所有必需的依赖项放在那里。

0 投票
0 回答
118 浏览

java - 使用 JCR 处理大量配置文件

我的程序使用了许多在程序启动时加载的小型可序列化配置文件(大约 10,000 个 1-2K 二进制文件)。配置文件存储在远程计算机上备份的 zip 文件中。

背景: 当程序启动时,它会从远程机器上解压缩新内容(如果存在)。有时,当有很多新内容可用时,加载时间可能需要大约一两分钟。

我用 JVisualVM 检查了程序流程,发现大部分时间都浪费在 IO 操作上(解压缩、加载可序列化文件……)。我有一些想法可以在不解压缩的情况下使用 zip,并剪切不需要的元数据。通过所有这些更改,我的测试产生了 20-30 秒的加载时间,这没问题。

问题:最近我读到了 JCR,这对于我的情况来说听起来像是一个合理的解决方案。在手边,我更喜欢使用像 JCR 这样公认的广为人知的解决方案,而不是使用我自己的自定义实现。另一方面,我担心 JCR 实现不会像我的自定义实现那样高效(这还没有完成)。是否有针对这种情况可能有效的 JCR 实施建议?我很想听听你的意见。

提前致谢。

0 投票
1 回答
187 浏览

jcr - Modeshape 配置 - 结合 XML + 编程?

我已经使用 XML 在我的开发盒上配置了一个 Modeshape 工作区,指向:

我将使用安装在不同卷上的工作区部署到 Linux:

是否可以使用环境变量来配置它,还是我需要求助于编程配置?Modeshape 团队是否推荐了一种方法?

谢谢

0 投票
1 回答
3358 浏览

jcr - 创建新工作区

Modeshape 文档的第 7.1.6 节说“您的应用程序现在可以使用标准 JCR 2.0 API 创建和删除工作区。”

JCR 2.0 文档说要使用 Workspace.createWorkspace(String name)

如何使用本文底部的代码获取我的存储库的这一部分?

另外,如何获取存储库中已经存在的工作区列表?

谢谢

0 投票
1 回答
2093 浏览

jackrabbit - Jackrabbit 跨连接节点搜索

我在 Jackrabbit 存储库中标记了对象(实际上是 Adob​​e/Day CQ 的 CRX,但我认为这是 Jackrabbit 代码):

  • 资产:标签= A,B
    • 子资产数据 1:标签 = A、C、E
    • 子资产数据 2:标签 = D、E

我想查询父资产的一组标签和一个孩子的并集,即“B C”将匹配资产,因为我们在父资产和孩子 1 中有这些,但“CD”不匹配,因为没有组合父节点和一个匹配的子节点,因为 C 和 D 被拆分为不同的子数据节点。

有没有办法在 Jackrabbit 中做到这一点?我们可以编写一个 XPath 查询

但这不起作用,因为 XPath 似乎不能保证*加入的子资产是相同的,即这意味着“任何孩子都有 C/D”,因此将匹配我的资产,因为 1+ 孩子有 C 和 1+孩子们有一个 D。相反,我可以使用 JCR-SQL2

SELECT DISTINCT在 JCR-SQL2 中没有:如果我搜索“B E”,我将返回此资产两次,因为它与资产 + 子 1 和资产 + 子 2 匹配。

我可以在 Java 中对任一查询结果进行后处理,即过滤掉第一种情况的误报匹配或过滤掉第二种情况的重复结果,但我很担心这会如何影响分页性能:我需要扫描更多节点不需要清除坏节点,我需要扫描很多以计算分页的正确结果大小。对于第二个 SQL2 案例,这应该更便宜,因为如果我的搜索是有序的,我可以仅根据节点路径发现重复项,并且所有重复项都是连续的,所以我可以通过廉价扫描找到给定页面的数据价值,只希望不阅读每个结果的整个节点,但即使对于简单的仅路径情况,我也不知道扫描所有结果以获取分页计数的成本。

我们考虑的另一个选项是将标签非规范化为单个节点。在这种情况下,为了保持搜索准确,这意味着在每个子节点中创建一个新的 combine_tags 属性并仅针对该组子节点执行所有搜索。但是,如果我们匹配同一资产下的两个子节点,这仍然会遇到明显的问题。

感谢您的任何建议。这已经是一个大型实例,需要进一步扩展。我已经看到其他问题说 ModeShape 是一个 JCR 实现,SELECT DISTINCT但我认为切换到 ModeShape 必须是最后的手段,如果确实可以在 ModeShape 上托管 CQ。


我们现在提出的一个想法是计算资产标签和子标签的每个并集并将标签组合成单个字符串,然后将每个值写入资产的多值属性,即资产 + child1 = "ABC E"和资产 + child2 = "ABD E",所以我们得到

  • 资产:标签= A,B;tagUnions = "ABC E", "ABD E"

只要我们定义了将标签组合成字符串的固定顺序(例如字母顺序),我们就可以使用搜索任何组合tagUnions LIKE '%B%C%'(除了在实际情况下我会在标签之间使用适当的分隔符)。虽然这会起作用,但据我们所见,我真的不喜欢它:每个资产+子项可能有大量标签,所有标签的名称都比单个字母长,这意味着我们最终会得到长字符串来执行LIKE所有的查询它们可能无法有效地被索引。

另一种做法是制作位掩码:定义 A=1、B=2 等,并在此处存储一个多值整数数组,然后进行按位比较。然而,这可能仅限于 64 个不同的标签,并且由于我们有 1,000 多个标签,我认为我们无法做到这一点——即使 JCR 支持按位运算,我希望它不会。

因此,我仍在为此寻找类似数据库的干净解决方案。你已经错过了我提出的赏金,但仍有滴答声、投票和感谢任何帮助。

0 投票
1 回答
464 浏览

java - 如何使用 XPath 查询更新 Jackrabbit 中的 XML 内容?

我正在使用 Jackrabbit 2.4.0,并且无法更新已使用以下命令导入的 XML:

我有以下执行 XML 更新的代码:

假设我将以下内容导入到 Jackrabbit 下/notes

为什么以下更新 XML 的代码不起作用:

我收到以下错误:

但是,我确实导入了以下内容:

我只有一个条目。

假设我想更新 id 为 123 的便笺,我将如何使用 XPath 来做呢?

在此先感谢您的帮助!

0 投票
4 回答
1656 浏览

jackrabbit - JCR create single file, link from different nodes

I am trying to create a single file node for an image with name (say A.gif). Now, I want to re-use the file across multiple nodes. Is there a way to do this? As a workaround, I am re-creating file nodes for different paths in my repository, but this results in duplication of files.

0 投票
1 回答
2274 浏览

jackrabbit - JCR Jackrabbit 版本控制

嗨,我正在尝试恢复节点的版本。但是出了点问题:

之后我得到

0 投票
4 回答
5818 浏览

jackrabbit - jackrabbit-standalone-2.4.0.jar 填充不起作用

我刚刚下载并使用以下方式启动 Jackrabbit:

当我调用 populate.jsp 时,我收到此错误:

当我单击简单设置向导链接时,我得到了这个:

这个 Jackrabbit 版本有什么问题吗?