activemq-artemis - Artemis 核心 API 使用的好例子
问题描述
我正在使用我不熟悉的 Artemis (2.13.0) 核心 API 构建应用程序。尽管已经有几年了,但我对 JMS 很熟悉。在发现某些 JMS API 似乎已被弃用后,我决定使用核心 API,并且我在某处读到有人偏好使用核心 API。我使用文档中可以找到的几个示例构建了一个非常基本的应用程序。这包括一个程序中的同步生产者和客户端示例。
有人可以指点我更全面的核心 API 示例和推荐的指南/实践,尤其是异步接收消息。我能找到的只是 JMS 示例,其中大多数建议使用已弃用的 API 调用。
解决方案
据我所知,ActiveMQ Artemis 附带的示例都没有使用过时的 API、JMS 或其他方式。如果他们这样做,他们可以并且应该被修复。
Artemis JMS 客户端本质上是核心客户端的包装器。但是,我会选择标准 API(例如 JMS)或协议(例如 AMQP、STOMP 等)而不是核心 API,因为核心 API 是特定于 ActiveMQ Artemis 的。核心客户端API 的存在本质上是为了促进 JMS 客户端以及代理特定任务(如集群和桥接)的实现。
您可以直接使用核心 API实现更细粒度的控制和稍微更好的性能,但会牺牲应用程序的可移植性。
核心 API 示例的最佳来源可能是 ActiveMQ Artemis 测试套件本身(例如在集成部分),尽管它并不完全用于文档目的。除此之外还有JavaDoc。
推荐阅读
- snowflake-cloud-data-platform - 如果表不存在,我应该如何测试表的存在并使脚本失败?
- xamarin - Xamarin.forms - 解析包时出现问题
- javascript - 通过 JavaScript 转到链接
- llvm - 如何使用 LLVM 获得数据依赖图 (DDG)?
- postgresql - Docker postgrsql not connected in spring boot
- python - 如何将 numpy.float64 数组转换为 float64 数组?
- sql - PostgreSQL - 即使当月没有记录也返回月份
- php - PHP 替换 csv 中的一行在我的本地主机上工作正常,但上传到 cpanel 时不替换该行?
- python - 为什么我收到 GroupShuffleSplit 错误(训练测试拆分)
- python - 更改为带有空格的目录...在 .ipynb 中有效,但在 .py 中无效?