Chronicle 与 Chronicle-queue 包

2024-03-19

我刚刚开始使用历史记录队列 - 但是我对使用哪个 API 来读取/写入队列有点困惑。具体来说编年史队列 5 https://www.javadoc.io/doc/net.openhft/chronicle-queue/5.17.17 vs 编年史-3.5.* https://www.javadoc.io/doc/net.openhft/chronicle/3.5.3

我经历过这个link https://github.com/OpenHFT/Chronicle-Queue#contents它基本上使用chronicle-queue API,但还有其他类似的this https://www.baeldung.com/java-chronicle-queue它使用编年史。

下面这2个有什么区别?

 Chronicle chronicle =  ChronicleQueueBuilder.indexed(_location).build();
 ExcerptAppender appender = chronicle.createAppender();
 appender.startExcerpt();
 appender.writeUTF("Hello World");

vs

ChronicleQueue queue = ChronicleQueue.singleBuilder(_location).build();
final net.openhft.chronicle.queue.ExcerptAppender appender = queue.acquireAppender();
 try (DocumentContext dc = appender.writingDocument()) 
 {
     dc.wire().write("hello").text("world " );
 }

Javadoc 文档编年史队列 https://static.javadoc.io/net.openhft/chronicle-queue/5.17.17/net/openhft/chronicle/queue/ChronicleQueue.html and 编年史 https://static.javadoc.io/net.openhft/chronicle/3.5.3/net/openhft/chronicle/Chronicle.html看起来很相似


他们都在向历史记录队列写入消息。我相信这一点

Chronicle chronicle =  ChronicleQueueBuilder.indexed(_location).build();
ExcerptAppender appender = chronicle.createAppender();
appender.startExcerpt();
appender.writeUTF("Hello World");

现在可以像这样写入编年史队列 5

try (final ChronicleQueue queue = SingleChronicleQueueBuilder.binary("temp-dir").build()) {
   final ExcerptAppender appender = queue.acquireAppender();
   appender.writeText("Hello World");
}

或者如果你想存储key:value数据,像这样

try (final ChronicleQueue queue = SingleChronicleQueueBuilder.binary("temp-dir-2").build()) {
  final ExcerptAppender appender = queue.acquireAppender();
  try (DocumentContext dc = appender.writingDocument()) {
    dc.wire().write("hello").text("world");
  }
  DumpQueueMain.dump("temp-dir-2");
}

您可以使用

DumpQueueMain.dump("temp-dir-2");

例如,查看数据是如何存储的

# position: 131360, header: 2
--- !!data #binary
hello: world
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Chronicle 与 Chronicle-queue 包 的相关文章

随机推荐

  • webpack 包中的导出功能

    我正在使用需要回调的谷歌地图 API 如何从 webpack 包导出回调以供外部脚本 例如 Google Maps API 使用 HTML X d 输出键 div div map js var require jquery function
  • Eclipse:“系统”无法解析

    首先我安装了java 7 0 update 25 然后安装了eclipse 后来根据要求 我卸载了这个java版本并安装了早期版本5 0 现在 在每个 Eclipse 程序中 都会显示 System 一词的错误 解决办法是将java exe
  • UIPageControl - 如何使背景透明?

    我在用UIPageControl并试图使背景透明 UIPageControl pageControl UIPageControl appearance pageControl pageIndicatorTintColor UIColor l
  • CSS 在打印时指定整页宽度?

    我有一个 html 页面 由于打印特定的样式 打印得很好 除了一件事 它不使用页面的整个宽度 换句话说 我希望缩放页面以填充页面 是否可以使用 css 样式获得该结果 实际上你可以 用 pagecss 规则 尽管它可以在浏览器实现之间进行一
  • itextsharp:如果未设置行底部边框,如何显示具有属性 HeaderRows=1 的表格的底线?

    我使用 itextsharp 的最新版本 我使用属性 HeaderRows 1 这样如果有分页符 标题行将再次出现在下一页中 然后我们的内容行具有边框样式 没有底线 如下所示 PdfPCell cell1 null cell1 new Pd
  • 在 Cython 中使用半精度 NumPy 浮点数

    我正在尝试从一些 Cython 代码将 float16 数据发送到 Nvidia P100 卡 当我使用 float32 时 我可以在 Cython 中定义我的类型 如下所示 DTYPE np float32 ctypedef np flo
  • 将 ES7 静态 propTypes 与 React-Native 结合使用

    当我使用 React Native 默认打包程序启动项目时 出现以下错误 Unexpected token在这一行 static propTypes 我查看了 GitHub 上的 React Native issues 但没有找到解决方案
  • mongodb+srv URI 不能有端口号

    我有 注意 用户名和密码是组成的 const CONNECTION URL mongodb srv smith bob email protected cdn cgi l email protection T llyHo cluster0
  • 如何获取 TensorFlow 中估算器的默认会话?

    我创建了一个估算器并使用估算器将其导出到 SavedModel 文件export savedmodel 功能 出于可重复性的原因 我希望能够重新创建估算器 加载 SavedModel 文件中的变量 然后调用evaluate 并得到相同的结果
  • 在启用 SuperTab 的情况下,如何使用 Tab 键在 vim 中缩进?

    我刚刚在 vim 中启用了 SuperTab 如果我尝试缩进空行 SuperTab 会尝试插入字符串 我想 我想要的是让 SuperTab 提供补全功能only如果光标左侧有非空白 我不想使用 Ctrl V 或 Ctrl Q 或其他任何东西
  • 测量 x86-64 中的 TLB 未命中处理成本

    我想估计运行 Linux 的 x86 64 Intel Nehalem 计算机上由于 TLB 未命中而导致的性能开销 我希望通过使用一些性能计数器来获得这个估计 有人知道估计这个的最佳方法是什么吗 谢谢 阿尔卡 如果您可以访问基于 West
  • 我可以限制 php 脚本的最大 CPU 使用率吗?

    我有一些使用大量 cpu 的脚本 是否可以限制允许进程使用的 cpu 量 顺便说一句 我正在 CentOs 5 5 上运行 我帮助一位 PHP 编码员创建了解决类似问题的 PHP 脚本 这些是长时间运行的 PHP 脚本 会产生大量负载 由于
  • 图片可以有多个标签吗?

    例如 当我将新图像推送到存储库时 我希望它有两个标签0 2 and latest 这将允许始终通过使用拉取最新的图像版本latest标签和特定版本使用0 2例如标签 用docker可以吗 有什么解决方法吗 我看到的唯一解决方案是进行两次单独
  • React.js 中的悬停按钮

    我想问如何制作一个按钮 但是当鼠标位于按钮上 悬停 时 新按钮显示在前一个按钮上方 并且它在react js中 thx 这是我的代码的方式 var Category React createClass displayName Categor
  • Apple 关联文件在开发中获取,但在 TestFlight 和 App Store 中未获取

    通用链接在开发中工作得很好 但是一旦我对应用程序进行签名并将其部署到 TestFlight 和 App Store 似乎未获取 apple app site association 因此该应用程序未注册以打开通用链接 1 well know
  • 如何在 Angular 6 中调用多个 API 并订阅?

    在我的应用程序中 调用所有POST请求我已经使用了service 当我得到一个specific code 例如 401 我从服务器调用 API 来获取新令牌 在收到另一个令牌之前 如果有任何其他 API 调用 我会将所有这些请求存储在一个数
  • 元素的 jQuery 标签名称

    我尝试在 jQuery 中获取元素标签名称 我有以下 html div class section h1 New Revision nbsp img alt Lock closed class edit src assets lock cl
  • 从网络提供商处获取准确的当前位置

    我使用以下代码从应用程序中的网络提供商获取当前位置 LocationManager mgr LocationManager getSystemService LOCATION SERVICE boolean network enabled
  • 在 vue 组件上提交表单时如何获取单选按钮的值?

    我有两个组件 我的第一个组件是这样的
  • Chronicle 与 Chronicle-queue 包

    我刚刚开始使用历史记录队列 但是我对使用哪个 API 来读取 写入队列有点困惑 具体来说编年史队列 5 https www javadoc io doc net openhft chronicle queue 5 17 17 vs 编年史