第 12 章 互操作性
本章讨论如何与其他 AMQ 组件结合使用 AMQ JavaScript。有关 AMQ 组件兼容性的概述,请参阅 产品简介。
12.1. 与其他 AMQP 客户端互操作
AMQP 消息通过 AMQP 类型系统来 构成。这种常见格式是不同语言的 AMQP 客户端能够相互互操作的原因之一。
发送消息时,AMQ JavaScript 会自动将语言原生类型转换为 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_
功能。
AMQP 类型 | 编码前 AMQ JavaScript 类型 | 解码后 AMQ JavaScript 类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
编码前 AMQ JavaScript 类型 | AMQ C++ 类型 | AMQ .NET 类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - | - |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
编码前 AMQ JavaScript 类型 | AMQ Python 类型 | AMQ Ruby 类型 |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| - | - |
|
|
|
|
|
|