问题标签 [chronicle]

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 回答
166 浏览

java - Chronicle Map 2 containsKey 不起作用

我有以下地图定义,其中 map.containsKey() 显然不起作用:

我使用 Chronicle Map 2.4.17,在我的项目中迁移到版本 3 太难了。

在输入带有键“abc”的条目后,containKey() 方法为键“abc”返回 false。我很困惑为什么它不起作用。String 类型是具有正确 hashCode() 方法的默认 Java 字符串。

0 投票
3 回答
284 浏览

java - Chronicle Queue:将循环整数转换为时间戳,反之亦然

有没有办法将编年史队列中的某个周期转换为时间戳?我检查了 4.5 apidocs 并没有找到任何东西。

0 投票
1 回答
477 浏览

java - 读取写入编年史队列的最后一个元素

我正在使用 SingleChronicleQueue 实现来跟踪我从数据队列(也是 SingleChronicleQueue)中处理的最后一个元素。

为了从崩溃中恢复,我需要读取状态队列中的最后一个元素,这将为我提供最后处理的数据元素的索引。这很好用,但我对找到最后一个状态元素的方式不满意。

我现在做的是使用队列的 firstCycle() 和 lastCycle() 方法。然后我必须回去测试这些方法给出的循环范围内是否有任何元素,因为 lastCycle() 方法将返回一个与磁盘上可能存在或不存在的循环文件相对应的数字。(取决于应用程序关闭了多长时间)

一旦找到第一个周期(带有数据),我就会读取所有元素,直到我到达终点。这给了我处理最后一个数据索引的最后一个状态元素。

有没有更优雅的方式来获取最后一个状态元素。我已经尝试过 ExcerptTailer.toEnd() 但它在(丢失)循环文件的情况下不起作用..

0 投票
1 回答
767 浏览

java - Chronicle Queue:blockSize、索引计数和大小指导

ChronicleQueueBuilder 接口(4.5)允许对队列文件特征进行参数化。默认情况下,我每天获得 80mb 的文件。

  • 是否有任何指导应该如何使用这些值?
  • 有哪些取舍?我可以优化它以让附加程序快速查找索引吗?
  • 如果我知道我的平均摘录大小和每个时段的平均摘录数量,我可以选择这些值来避免在白天调整队列文件的大小吗?
0 投票
1 回答
162 浏览

java - Chronicle Queue:使用更少或没有 lambdas

该文档显示了通常带有 lambda 的 appender 或 tailer 的用法,如下所示:

对于tailer II 使用:

在阅读过程中,我想做一些更新计数器之类的事情,但这在 lambda 中是不可能的(需要“有效最终”的值/对象)。

  • 在没有 lambda 的情况下使用 API 有什么好的做法?
  • 关于如何做到这一点的任何其他想法?(目前我使用 AtomicInteger 对象)
0 投票
1 回答
203 浏览

chronicle - Chronicle Queue 会成为单点故障吗?

Chronicle Queue 有弹性吗?

例如,如果我有 50,000 个客户端都非常频繁地向 Chronicle Queue 发送数据,我如何保证所有消息都以分布式形式安全存储?

如果 Chronicle Queue 出现故障怎么办?

那么它会成为我的消息传递结构中的单点故障吗?

0 投票
1 回答
215 浏览

chronicle - 将事件与编年史队列相结合

编年史队列 doco 指定可以在不同的盒子上拥有编年史接收器,并且事件通过网络从单个编年史队列分发给它。( http://chronicle.software/products/chronicle-queue/ )

我的问题是是否可以做相反的事情?

从这些编年史接收器中,我们希望生成新事件,然后将其发送到单个新队列。(不更新现有事件 - 因为这些新事件仅在收到适当的事件组合时生成 - 否则复制模型听起来合适?)是否可以将本地队列全部复制到一个盒子中的单个盒子队列?

0 投票
0 回答
402 浏览

java - Chronicle 队列阅读器(ExcerptTailer)不读取消息,即使队列中有很多消息也会返回 false

嗨,我正在使用以下队列版本,

我的 Chronicle 阅读器在某个时刻卡住了(索引 74204158352345 )并且 readDocument 在每次调用后返回 false,但我的 Chronicle 编写器继续将消息写入同一个队列。阅读器代码如下,

我在 while 循环中调用 readDocument。日志中没有编年史错误。但是我的代码在来自编年史队列的最后一条消息上刹车,因为该消息不完整。我只得到了最后一条消息的一些字节,并且在 readDocument 返回 false 之后。但是有消息不断写入队列。

我的作家代码,

4.5.27 & 1.7.32我尝试在本地机器上将队列升级到最新的(

在新版本中,readDocument 方法被挂起。可能挂在递归上。可能是什么问题,请帮忙。

0 投票
1 回答
451 浏览

java - Chronicle 队列是否会删除文件?

我在多个 Linux 主机上运行的应用程序之一中使用 Chronicle Queue 4.5.15。该应用程序的每个实例都有自己的编年史队列,通常存储数百万个字符串。

最近我注意到每个实例上的队列文件都消失了。一旦尾部循环增加,我的应用程序确实具有删除编年史文件的代码,但是我已经登录到那里说明何时发生这种情况并且没有在日志中看到这种情况发生。

我的问题是 - Chronicle 库是否会出于任何原因删除队列文件?我认为该库从未删除文件,但我只想确认这一点,以便我可以从调查文件丢失的原因中消除它。

0 投票
1 回答
501 浏览

java - 如何使用每小时滚动存储文件创建编年史队列(cq4)

嗨,我是 Chronicle Queue 的新手,我有一些疑问,

  1. 我想用每小时滚动的存储文件创建一个 ChronicleQueue 我该如何创建一个。我按如下方式创建作家,

    /li>
  2. 另外我想在消费者完成阅读后删除文件,我可以按以下方式创建一个作家吗?

    /li>

我想知道在这种情况下我是否以正确的方式做事。

  1. 我们是否需要将循环编号也存储在阅读器中,以便在重新启动后阅读。目前我只存储索引。