Message Queue Implementation of Optional JMS Functionality

Previous Next Contents

A Message Queue Implementation of Optional JMS Functionality

The JMS specification indicates certain items that are optional: each JMS provider (vendor) chooses whether to implement them. This appendix describes how the Message Queue product handles JMS optional items.

Table A-1 describes how the Message Queue service handles JMS optional items.

Optional Features

Table A-1 Optional JMS Functionality

Section in JMS Specification Description and Message Queue Implementation

3.4.3 JMSMessageID

"Since message IDs take some effort to create and increase a message’s size, some JMS providers may be able to optimize message overhead if they are given a hint that message ID is not used by an application. JMS Message Producer provides a hint to disable message ID."

Message Queue implementation: Product does not disable Message ID generation (any setDisableMessageID() call in MessageProducer is ignored). All messages will contain a valid MessageID value.

3.4.12 Overriding Message Header Fields

"JMS does not define specifically how an administrator overrides these header field values. A JMS provider is not required to support this administrative option."

Message Queue implementation: The Message Queue product supports administrative override of the values in message header fields through configuration of the client runtime (see Message Header).

3.5.9 JMS Defined Properties

"JMS Reserves the JMSX Property name prefix for JMS defined properties.""Unless noted otherwise, support for these properties is optional."

Message Queue implementation: The JMSX properties defined by the JMS specification are supported in the Message Queue product (see "Stability of Message Queue Interfaces" in Open Message Queue Administration Guide).

3.5.10 Provider-specific Properties

"JMS reserves the JMS_<`vendor_name `> property name prefix for provider-specific properties."

Message Queue implementation: The purpose of the provider-specific properties is to provide special features needed to support JMS use with provider-native clients. They should not be used for JMS to JMS messaging.

4.4.8 Distributed Transactions

"JMS does not require that a provider support distributed transactions."

Message Queue implementation: Distributed transactions are supported in this release of the Message Queue product (see Transactions).

4.4.9 Multiple Sessions

"For PTP <point-to-point distribution model>, JMS does not specify the semantics of concurrent QueueReceivers for the same queue; however, JMS does not prohibit a provider from supporting this." See section 5.8 of the JMS specification for more information.

Message Queue implementation: The Message Queue implementation supports queue delivery to multiple consumers. For more information, see Point-To-Point Messaging.


Previous Next Contents
Eclipse Foundation Logo  Copyright © 2019, Oracle and/or its affiliates. All rights reserved.