第 12 章 互操作性
本章讨论如何使用红帽构建的 Rhea 与其他 AMQ 组件结合使用。有关 AMQ 组件兼容性的概述,请参阅 产品简介。
12.1. 与其他 AMQP 客户端交互 复制链接链接已复制到粘贴板!
AMQP 消息使用 AMQP 类型系统 组成。这种通用格式是不同语言的 AMQP 客户端可以相互交互的原因之一。
在发送消息时,红帽构建的 Rhea 会自动将语言原生类型转换为 AMQP 编码的数据。收到消息时,会发生反向转换。
有关 AMQP 类型的更多信息,请访问 Apache Qpid 项目维护 的交互式类型参考。
AMQP 类型 | 描述 |
---|---|
一个空值 | |
true 或 false 值 | |
单个 Unicode 字符 | |
Unicode 字符序列 | |
一系列字节 | |
签名的 8 位整数 | |
签名的 16 位整数 | |
签名的 32 位整数 | |
签名的 64 位整数 | |
未签名的 8 位整数 | |
未签名的 16 位整数 | |
未签名的 32 位整数 | |
未签名的 64 位整数 | |
32 位浮点数 | |
64 位浮点号 | |
单个类型的值序列 | |
变量类型值序列 | |
从不同键到值的映射 | |
通用唯一标识符 | |
来自受限域的 7 位 ASCII 字符串 | |
时间的绝对点 |
JavaScript 的原生类型比 AMQP 可以编码。要发送包含特定 AMQP 类型的消息,请使用 rhea/types.js
模块中的 wrap_
functions。
AMQP 类型 | RHEA 类型在编码前 | RHEA 解码后的类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RHEA 类型在编码前 | AMQ C++ 类型 | 红帽构建的 Apache Qpid Proton DotNet 类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - | - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RHEA 类型在编码前 | 红帽构建的 Apache Qpid Proton Python 类型 | |
---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
| - | |
|
| |
|
|