第13章 相互運用性


本章では、AMQ C++ を他の AMQ コンポーネントと組み合わせて使用する方法を説明します。AMQ コンポーネントの互換性の概要は、製品の概要 を参照してください。

13.1. 他の AMQP クライアントとの相互運用

AMQP メッセージは AMQP タイプシステムを使用して設定されます。このような一般的な形式は、異なる言語の AMQP クライアントが相互に対話できる理由の 1 つです。

メッセージを送信する場合、AMQ C++ は自動的に言語ネイティブの型を AMQP でエンコードされたデータに変換します。メッセージの受信時に、リバース変換が行われます。

注記

AMQP タイプの詳細は、Apache Qpid プロジェクトによって維持される インタラクティブタイプリファレンスを参照してください。

表13.1 AMQP 型
AMQP 型説明

null

空の値

boolean

true または false の値

char

単一の Unicode 文字

string

Unicode 文字のシーケンス

binary

バイトのシーケンス

byte

署名済み 8 ビット整数

short

署名済み 16 ビット整数

int

署名済み 32 ビット整数

long

署名済み 64 ビット整数

ubyte

署名なしの 8 ビット整数

ushort

署名なしの 16 ビット整数

uint

署名なしの 32 ビット整数

ulong

署名なしの 64 ビット整数

float

32 ビット浮動小数点数

double

64 ビット浮動小数点数

array

単一型の値シーケンス

list

変数型の値シーケンス

map

異なるキーから値へのマッピング

uuid

ユニバーサル一意識別子

symbol

制限されたドメインからの 7 ビットの ASCII 文字列

timestamp

絶対的な時点

表13.2 エンコード前およびデコード後における AMQ C++ タイプ
AMQP 型エンコード前の AMQ C++ タイプデコード後の AMQ C++ タイプ

null

nullptr

nullptr

boolean

bool

bool

char

wchar_t

wchar_t

string

std::string

std::string

binary

proton::binary

proton::binary

byte

int8_t

int8_t

short

int16_t

int16_t

int

int32_t

int32_t

long

int64_t

int64_t

ubyte

uint8_t

uint8_t

ushort

uint16_t

uint16_t

uint

uint32_t

uint32_t

ulong

uint64_t

uint64_t

float

float

float

double

double

double

list

std::vector

std::vector

map

std::map

std::map

uuid

proton::uuid

proton::uuid

symbol

proton::symbol

proton::symbol

timestamp

proton::timestamp

proton::timestamp

表13.3 AMQ C++ およびその他の AMQ クライアントタイプ (1/2)
エンコード前の AMQ C++ タイプAMQ JavaScript タイプAMQ .NET タイプ

nullptr

null

null

bool

boolean

System.Boolean

wchar_t

number

System.Char

std::string

string

System.String

proton::binary

string

System.Byte[]

int8_t

number

System.SByte

int16_t

number

System.Int16

int32_t

number

System.Int32

int64_t

number

System.Int64

uint8_t

number

System.Byte

uint16_t

number

System.UInt16

uint32_t

number

System.UInt32

uint64_t

number

System.UInt64

float

number

System.Single

double

number

System.Double

std::vector

Array

Amqp.List

std::map

object

Amqp.Map

proton::uuid

number

System.Guid

proton::symbol

string

Amqp.Symbol

proton::timestamp

number

System.DateTime

表13.4 AMQ C++ およびその他の AMQ クライアントタイプ (2/2)
エンコード前の AMQ C++ タイプAMQ Python タイプAMQ Ruby タイプ

nullptr

None

nil

bool

bool

true, false

wchar_t

unicode

String

std::string

unicode

String

proton::binary

bytes

String

int8_t

int

Integer

int16_t

int

Integer

int32_t

long

Integer

int64_t

long

Integer

uint8_t

long

Integer

uint16_t

long

Integer

uint32_t

long

Integer

uint64_t

long

Integer

float

float

Float

double

float

Float

std::vector

list

Array

std::map

dict

Hash

proton::uuid

-

-

proton::symbol

str

Symbol

proton::timestamp

long

Time

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.