

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# Amazon SQS 支援的 JMS 1.1 實作
<a name="supported-implementations"></a>

Amazon SQS Java 訊息程式庫支援以下 [JMS 1.1 實作](http://docs.oracle.com/javaee/6/api/javax/jms/package-summary.html)。如需 Amazon SQS Java 訊息程式庫支援的特性和功能相關資訊，請參閱 [Amazon SQS 常見問答集](https://aws.amazon.com/sqs/faqs/)。

## 支援的常用界面
<a name="supported-common-interfaces"></a>
+ `Connection`
+ `ConnectionFactory`
+ `Destination`
+ `Session`
+ `MessageConsumer`
+ `MessageProducer`

## 支援的訊息類型
<a name="supported-message-types"></a>
+ `ByteMessage`
+ `ObjectMessage`
+ `TextMessage`

## 支援的訊息認可模式
<a name="supported-message-acknowledgement-modes"></a>
+ `AUTO_ACKNOWLEDGE`
+ `CLIENT_ACKNOWLEDGE`
+ `DUPS_OK_ACKNOWLEDGE`
+ `UNORDERED_ACKNOWLEDGE`

**注意**  
`UNORDERED_ACKNOWLEDGE` 模式並不屬於 JMS 1.1 規格。此模式可協助 Amazon SQS 允許 JMS 用戶端明確認可訊息。

## JMS 定義標頭和預訂屬性
<a name="jms-defined-headers-reserved-properties"></a>

### 進行傳送訊息
<a name="for-sending-messages"></a>

傳送訊息時，您可以設定每個訊息的以下標頭和屬性：
+ `JMSXGroupID` (FIFO 佇列為必要，不允許使用於標準佇列)
+ `JMS_SQS_DeduplicationId` (FIFO 佇列為選用，不允許使用於標準佇列)

傳送訊息後，Amazon SQS 會設定每個訊息的以下標頭和屬性：
+ `JMSMessageID`
+ `JMS_SQS_SequenceNumber` (僅限於 FIFO 佇列)

### 接收訊息
<a name="for-receiving-messages"></a>

接收訊息後，Amazon SQS 會設定每個訊息的以下標頭和屬性：
+ `JMSDestination`
+ `JMSMessageID`
+ `JMSRedelivered`
+ `JMSXDeliveryCount`
+ `JMSXGroupID` (僅限於 FIFO 佇列)
+ `JMS_SQS_DeduplicationId` (僅限於 FIFO 佇列)
+ `JMS_SQS_SequenceNumber` (僅限於 FIFO 佇列)