Using the JMS Binding Component

JMS operation Element

The JMS operation extensibility element indicates an operation binding that is of interest to the JMS Binding Component. This element has attributes and child elements that are used to define JMS message delivery options for the JMS Binding Component.

The destination and destinationType attributes are required. The other attributes are optional.

The following attributes apply to both providers and consumers: destination, destinationType, and transaction.

The following attributes apply to providers only: deliveryMode, timeToLive, priority, disableMessageID, disableMessageTimeStamp, timeout, and clientID.

The following attributes apply to consumers only: messageSelector, subscriptionDurability, subscriptionName, batchSize, maxConcurrentConsumers, and redeliveryHandling.

Attribute 

Description 

Example 

destination

Defines the destination where messages are sent or received. 

InvoiceTopic 

destinationType

Specifies the destination type. The valid values are Queue and Topic.

Topic 

transaction 

Defines the transaction type for the JMS protocol based operation. The valid values are NoTransaction and XATransaction.

XA in-out operations are supported with inbound message flows (when the JMS Binding Component acts as a consumer of messages). They are not supported with outbound message flows (when the JMS Binding Component acts as a provider of messages). 

The JMS Binding Component generates a deployment error, indicating that this type of operation is not supported, when the transaction attribute is set to XATransaction for in-out operations with a provisioning endpoint.

 

deliveryMode

The message delivery mode to use when sending a message. The valid values are PERSISTENT and NON_PERSISTENT. The default value is NON_PERSISTENT.

 

timeToLive

The time in milliseconds (from the dispatched time) that a produced message should be retained by the message system. 

120000 

priority

Defines the message priority for a message producer. The valid values are 0 through 9, where 0 is lowest priority and 9 is highest priority. The default value is 4. 

disableMessageID

Indicates whether message IDs are disabled for a message producer. The valid values are true and false. The default value is false.

Sun Java System Message Queue ignores the disableMessageID attribute when it is a provider of messages.

 

disableMessageTimeStamp

Indicates whether message timestamps are disabled for a message producer. The valid values are true and false. The default value is false.

 

timeout

The timeout in milliseconds on a message consumer receive for a reply message. This attribute applies only to the provider request reply. 

120000 

clientID

Defines a unique client ID. The durableName will be used as the clientID if a durable subscriber is used but not set.

ClientID123 

messageSelector

Enables you to filter messages. A message selector consists of a boolean expression, such as Age > 30.

JMSCorrelationID='88888888' AND JMSType='SUN' 

subscriptionDurability

Determines the durability of the topic subscriber. The valid values are Durable and NonDurable. The default value is NonDurable.

 

subscriptionName

The name that is used to denote the durable subscription. This attribute is used only with a durable subscriber (the destination is a topic and the subscriptionDurability attribute is set to Durable).

SunStockSubscriptionName 

batchSize

If defined with a positive integer, this attribute specifies that the messages received will be in a batch. The number of messages in the batch could be less than or equal to the specified size. 

20 

maxConcurrentConsumers

If defined with a positive integer and the destination type is Queue, this attribute specifies the maximum number of concurrent receivers that can process messages. The default value is 15 if the destination type is Queue. 

15 

concurrencyMode

Specifies the concurrency mode. The valid values are sync and cc. There is no concurrent processing for topics in sync mode.

 

redeliveryHandling

Specifies what actions to take if an error occurs in processing the JMS message received from the JMS destination. 

For more information, see Configuring Redelivery Handling.

5:1000; 10:5000 

The following example illustrates the JMS operation extensibility element.


...
<operation name="Operation1">
  <jms:operation destination="MyTopic" 
                 destinationType="Topic" 
                 messageSelector="JMSType='FOO.Type'"/>
  ...
</operation>
...