---
schema_version: "1"
id: 5a5f2a6a62d5dd3260d697dced3d71c224dc9ac51abb0b59e908ca9b544c0e6e
title: AMQP メッセージのコンシューム
collection: mulesoft
version: current
locale: ja-jp
portal_url: https://docs.salesforce.com/mulesoft/current/ja-jp/amqp-connector/1.7/amqp-consume.md
canonical_url: https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-consume
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 27adf911666f5896323e7863308aa1b2a5d0d44d9fbb15b5b3280dd573ab167f
description: MuleSoft Documentation Site
release: "1.7"
latest: false
---
# AMQP メッセージのコンシューム

AMQP Connector の ​`consume`​ 操作により、任意の AMQP キューからフローの任意の時点でメッセージをコンシュームする機能が提供されます。

## [](#メッセージのコンシューム)メッセージのコンシューム

キューからメッセージをコンシュームするための構文は次のとおりです。

```xml
<amqp:consume config-ref="AMQP_config" queueName="#[vars.queue]"/>
```

この操作では、​`queueName`​ 値によって識別されるキューで最初に使用可能なメッセージをコンシュームし、​`AmqpMessage`​ に変換するため、次の構造が得られます。

- ペイロードとしてのメッセージのコンテンツ
- メッセージ属性に含まれるメッセージのメタデータ

メッセージは、デフォルトでは受信されるとすぐに肯定応答されます。何らかの処理を行った後でメッセージの肯定応答を制御する場合は、​`ackMode`​ を ​`MANUAL`​ に設定します。 メッセージ肯定応答操作についての詳細は、​[「メッセージ肯定応答の処理」](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-ack)​を参照してください。

## [](#メッセージの待機)メッセージの待機

デフォルトの最大待機時間は 10 秒に設定されています。指定した待機時間中にメッセージが受信できなければ、​`AMQP:TIMEOUT`​ エラーがスローされます。​`maximumWait`​ および ​`maximumWaitUnit`​ パラメーターを設定して、待機時間をカスタマイズできます。

到着するメッセージの無限待機時間を作成するには、​`maximumWait`​ 値を ​`-1`​ に設定します。この場合は ​`TIMEOUT`​ エラーは発生しません。

## [](#mime-タイプおよび文字コード)MIME タイプおよび文字コード

AMQP Connector は、メッセージの ​`contentType`​ プロパティに基づいてメッセージの MIME タイプ (​`contentType`​) を自動的に判断するように設計されています。ただし、この判断をできない場合もあり、こういった場合にはメッセージのコンテンツを実際に把握しておく必要があります。

このような場合には、​`contentType`​ パラメーターを使用して、コンテンツタイプを特定の値に設定します。

同じプロセスが文字コードでも機能します。デフォルトでは、他の情報が提供されていない場合、コレクターは Mule Runtime Engine のデフォルトエンコードがメッセージのエンコードと一致するものと想定します。これは ​`encoding`​ パラメーターで設定できます。

## [](#consume-操作でのキューの宣言)Consume 操作でのキューの宣言

デフォルトでは、定義されたキューが存在しないと ​`AMQP:QUEUE_NOT_FOUND`​ エラーで ​`consume`​ 操作に失敗します。

キューを宣言する必要がある場合、エンティティの定義を参照するか、インラインで定義する必要があります。

```xml
<amqp:consume config-ref="Amqp_Config" queueName="testQueue">
	<amqp:fallback-queue-definition removalStrategy="SHUTDOWN" exchangeToBind="exchangeToBindToQueue" />
</amqp:consume>
```

キューの定義では、パラメーター ​`exchangeToBind`​ を使用してバインドを作成できます。

キューは、高レベル要素として定義することもできます。

```xml
<amqp:queue-definition
	name="targetQueueDefinition"
	exchangeToBind="testExchange" />

<amqp:consume
	config-ref="AMQP_Config"
	queueName="testQueue"
	fallbackQueueDefinition="targetQueueDefinition">
```

## [](#amqp-トポグラフィの変更を回避)AMQP トポグラフィの変更を回避

`createFallbackQueue`​ グローバル設定を指定して、代替キューの定義による AMQP トポグラフィの変更を回避できます。​[「AMQP トポグラフィの変更を回避する方法」](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-topography)​を参照してください。

## [](#受信メッセージのメタデータ)受信メッセージのメタデータ

前述のとおり、受信した各メッセージは次の 2 つで構成されています。

- メッセージのコンテンツが含まれるペイロード
- メッセージに関するメタデータが含まれる属性

このメタデータには、AMQP メッセージで使用できるすべての情報をマップする 4 つの部分があります。

- エンベロープ
- AckId
- ヘッダー
- プロパティ

属性の構造についての詳細は、​[「AMQP リファレンス」](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-documentation)​をご覧ください。

## [](#関連情報)関連情報

- [新規メッセージのリスン方法](https://docs.mulesoft.com/jp/amqp-connector/1.7/amqp-listener)