Using the JMS Binding Component

Using the Normalized Message Properties

This topic describes the normalized message properties for the JMS Binding Component.

The normalized message properties enable you to do the following:

The normalized message properties are divided into the following categories:

Inbound Normalized Message Properties

This category of normalized message properties applies to inbound-only scenarios.

You can access these properties from the left and right panes of the BPEL Mapper. In the following screen capture, the nodes in the right pane are expanded to show the properties.

Screen capture of the BPEL Mapper with the inbound properties
displayed.

These properties are read only. You cannot modify the values.

Connection URL Property (org.glassfish.openesb.jms.inbound.connectionurl)

This property enables you to specify the URL for connecting to the JMS server.

This property is applicable to the following binding types:

For more information, see Connecting to the JMS Server.

User Name Property (org.glassfish.openesb.jms.inbound.username)

This property enables you to specify the user name for connecting to the JMS server.

This property is applicable to the following binding types:

Message Selector Property (org.glassfish.openesb.jms.inbound.messageselector)

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

This property is applicable to the following binding types:

Destination Property (org.glassfish.openesb.jms.inbound.destination)

This property enables you to specify the name of the JMS destination from which messages are received.

This property is applicable to the following binding types:

Destination Type Property (org.glassfish.openesb.jms.inbound.destinationtype)

This property enables you to indicate whether the JMS destination is a queue or a topic. The valid values are Queue and Topic.

This property is applicable to the following binding types:

Forward As Attachment Property (org.glassfish.openesb.jms.inbound.forwardasattachment)

This property enables you to send the message data as an attachment. The valid values are true and false.

For binary data, the data is sent as an attachment by default.

For XML data, sending the data as an attachment prevents the JMS Binding Component from parsing the XML. If the XML is large, then this approach can improve performance.

This property is applicable to the following binding types:

Outbound Normalized Message Properties

This category of normalized message properties applies to outbound-only scenarios.

You can access these properties from the left and right panes of the BPEL Mapper. In the following screen capture, the nodes in the right pane are expanded to show the properties.

Screen capture of the BPEL Mapper with the outbound properties
displayed.

Connection URL Property (org.glassfish.openesb.jms.outbound.connectionurl)

This property enables you to specify the URL for connecting to the JMS server.

This property is applicable to the following binding types:

For more information, see Connecting to the JMS Server.

User Name Property (org.glassfish.openesb.jms.outbound.username)

This property enables you to specify the user name for connecting to the JMS server.

This property is applicable to the following binding types:

Password Property (org.glassfish.openesb.jms.outbound.password)

This property enables you to specify the password for connecting to the JMS server.

This property is applicable to the following binding types:

Destination Property (org.glassfish.openesb.jms.outbound.destination)

This property enables you to specify the name of the JMS destination to which messages are sent.

This property is applicable to the following binding types:

Destination Type Property (org.glassfish.openesb.jms.outbound.destinationtype)

This property enables you to indicate whether the JMS destination is a queue or a topic. The valid values are Queue and Topic.

This property is applicable to the following binding types:

XA Transaction Property (org.glassfish.openesb.jms.outbound.xatransaction)

This property enables you to define the transaction type for the JMS protocol based operation. The valid values are NoTransaction and XATransaction.

This property is applicable to the following binding types:

Delivery Mode Property (org.glassfish.openesb.jms.outbound.deliverymode)

This property enables you to specify the message delivery mode to use when sending a message. The valid values are PERSISTENT and NON_PERSISTENT.

This property is applicable to the following binding types:

Timeout Property (org.glassfish.openesb.jms.outbound.timeOut)

This property enables you to specify the timeout in milliseconds on a message consumer receive for a reply message.

This property is applicable to the following binding types:

Client ID (org.glassfish.openesb.jms.outbound.clientid)

This property defines a unique client ID.

This property is applicable to the On Demand Receive binding type.

Message Selector Property (org.glassfish.openesb.jms.outbound.messageselector)

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

This property is applicable to the On Demand Receive binding type.

Subscription Durability Property (org.glassfish.openesb.jms.outbound.subscriptiondurability)

This property enables you to configure the durability of the topic subscriber. Durable subscribers can survive any disconnection from the JMS server.

The valid values are Durable and NonDurable.

This property is applicable to the On Demand Receive binding type.

Subscription Name Property (org.glassfish.openesb.jms.outbound.subscriptionname)

For durable subscriptions, this property enables you to specify the name of the durable subscription.

This property is applicable to the On Demand Receive binding type.

Forward As Attachment Property (org.glassfish.openesb.jms.outbound.forwardasattachment)

This property enables you to send the message data as an attachment. The valid values are true and false.

For binary data, the data is sent as an attachment by default.

For XML data, sending the data as an attachment prevents the JMS Binding Component from parsing the XML. If the XML is large, then this approach can improve performance.

This property is applicable to the following binding types:

General Normalized Message Properties

This category of normalized message properties applies to both inbound and outbound scenarios.

You can access these properties from the left and right panes of the BPEL Mapper. In the following screen capture, the nodes in the right pane are expanded to show the properties.

Screen capture of the BPEL Mapper with the general properties
displayed.

Time To Live Property (org.glassfish.openesb.jms.timetolive)

This property indicates how long the message is retained (in milliseconds).

This property is applicable to the following binding types:

Priority Property (org.glassfish.openesb.jms.priority)

This property enables you to specify the message priority for a message producer. The valid values are 0 through 9, where 0 is the lowest priority and 9 is the highest priority. The default value is 4.

This property is applicable to the following binding types:

Message Type Property (org.glassfish.openesb.jms.messagetype)

This property enables you to specify whether the messages are text, bytes, XML, or encoded data.

This property is applicable to the following binding types:

Correlation ID Property (org.glassfish.openesb.jms.correlationid)

This property enables you to reference the message part that contains the value for the JMSCorrelationID header.

You can use a JMS correlation ID to associate a reply message with the corresponding request message.

This property is applicable to the following binding types:

Reply To Destination Property (org.glassfish.openesb.jms.replytodestination)

This property enables you to specify the name of the JMS destination to which messages should be replied.

This property is applicable to the following binding types:

Reply To Destination Type Property (org.glassfish.openesb.jms.replytodestinationtype)

This property enables you to indicate whether the JMS destination is a queue or a topic. The valid values are Queue and Topic.

This property is applicable to the following binding types:

User Properties Property (org.glassfish.openesb.jms.userproperties)

This property enables you to configure JMS properties, which are custom headers.

This property is the only normalized message property that you cannot configure in the BPEL Mapper. Instead, you must go to the Source view and manually enter a copy statement. Add a period and the property name to org.glassfish.openesb.jms.userproperties. For example:


<copy>
  <from>$SoapInboundOperationIn.part1/ns0:StockSymbol</from>
  <to variable="JMSOutOperationIn" 
    sxnmp:nmProperty="org.glassfish.openesb.jms.userproperties.StockSymbol"/>
</copy>

The default property type is string. If you want to specify a type other than string, then you must enter an additional copy statement for the type. For example:


<copy>
  <from>$SoapInboundOperationIn.part1/ns0:StockPrice</from>
  <to variable="JMSOutOperationIn" 
    sxnmp:nmProperty="org.glassfish.openesb.jms.userproperties.StockPrice"/>
</copy>
<copy>
  <from>'float'</from>
  <to variable="JMSOutOperationIn" 
    sxnmp:nmProperty="org.glassfish.openesb.jms.userproperties.StockPrice.type"/>
</copy>

This property is applicable to all of the binding types.