JMS Adapter Reference
Tagged Values
<<JMSAlias>>
Tagged Value | Description | Allowed Values / Example | |
---|---|---|---|
acknowledgeMode | Specify the message acknowledge mode. | Auto | Each single message sent to a JMS provider will be acknowledged by the JMS provider (not the recipient) after recipience. Using Auto acknowledge mode in a model, a client must be prepared for possible loss of messages. |
Duplicate | Duplicate acknowledge mode corresponds to Auto acknowledge mode. Additionally, the JMS provider may send the message more than once to the same destination. The receiving application must be tolerant of receiving duplicate messages. | ||
Transacted | Messages sent to or received from a JMS provider within an activity are acknowledged explicitly after processing. Thus, the activity plays the role of a transactional lock. If the acknowledgeMode is specified as Transacted , a Bridge JMS client acknowledges a consumed message only after the activity diagram that implements the JMS adapter functionality completes without throwing an exception. | ||
timeToLive | Specify the expiration time of a sent message (refer also to the description of JMSExpiration in the JMS headers/properties). | ||
selector | Specify a selector to filter the received messages. Refer to the official Java Message Service Specification for the selector statement syntax. | e.g. JMSType='alpha' | |
destinationName | Specify the name of the queue or topic. | ||
options | Specify a list of comma separated options in form of <name>=<value>. These options will be interpreted as native options. The available options depend on the JMS provider. | e.g. queue.JMSDestination=aTestQueue | |
user | Specify the JMS credentials in form of <user>/<password>. | e.g. system/manager | |
port | Specify the port the JMS provider is listening to. | ||
protocol | Protocol used to communicate with the JMS provider. The protocol normally is set automatically. | ||
jndiPath | Specify a path to the JNDI file (.bindings), if a JNDI provider is used and protocol is file. | ||
host | Specify the host name of the JMS provider. | localhost | Default. |
any other qualified host name | |||
isJNDIProvider | Specify whether the JMS provider is also a JNDI provider. Default is false if not specified. | true | The JMS provider is a JNDI provider. |
false | The JMS provider is not a JNDI provider (default). |
<<JMSClient>>
Tagged Value | Description | Allowed Values / Example | |
---|---|---|---|
jmsConnectionFactory | |||
initialContextFactory | Specify the Java class that is used to access the LDAP service. This value is typically set automatically (depending on the JMS provider). | org.apache.activemq.jndi.ActiveMQInitialContextFactory | |
connectionFactoryName | Specify the name of the JMS connection factory. | ||
Connection Pooling | |||
connectionTimeBetweenEvictionRunsMillis | Specify the time between two test cycles in milliseconds. A test cycle checks whether an open connection is idle for more than connectionMinEvictableIdleTimeMillis (see below). | -1 | No test calls. |
540000 | Default value, if not specified. | ||
0 or any other positive value | |||
connectionMinEvictableIdleTimeMillis | Specify the minimum idle time in milliseconds of an open connection before it can be removed from the connection pool. Relates to connectionTimeBetweenEvictionRunsMillis above. | 600000 | Default value, if not specified. |
0 or any other positive value | |||
connectionNumTestsPerEvictionRun | Specify the minimum number of open connections to be tested with every test run. | 3 | Default value, if not specified. |
0 or any other positive value | |||
connectionMaxIdle | Specify the maximum number of unused connections in the pool. | 5 | Default value, if not specified. |
0 or any other positive value | |||
connectionMinIdle | Specify the minimum number of open connections that will be hold available. | 0 | Default value, if not specified. |
any other positive value | |||
connectionMaxTotal | Specify the maximum number of available connections in the pool. | -1 | No limit. |
0 or any other positive value | |||
connectionMaxWaitSec | Specify the maximum time in seconds to wait for an idle connection, if an adapter call is triggered. If no connection is available, an exception will be thrown. | 300 | Default value, if not specified. |
0 or any other positive value | |||
Session Pooling | |||
sessionMaxIdle | Specify the maximum number of unused open sessions in the pool. | 5 | Default value, if not specified. |
0 or any other positive value | |||
sessionNumTestsPerEvictionRun | Specify the time between two test cycles in milliseconds. A test cycle checks whether an open session is idle for more than sessionMinEvictableIdleTimeMillis (see below). | 3 | Default value, if not specified. |
0 or any other positive value | |||
sessionMinEvictableIdleTimeMillis | Specify the minimum idle time in milliseconds of an open session before it can be removed from the session pool. Relates to sessionTimeBetweenEvictionRunsMillis above. | 600000 | Default value, if not specified. |
0 or any other positive value | |||
sessionTimeBetweenEvictionRunsMillis | Specify the minimum number of open sessions to be tested with every test run. | 540000 | Default value, if not specified. |
0 or any other positive value | |||
sessionMaxTotal | Specify the maximum number of available sessions in the pool. | -1 | Default value, if not specified. |
0 or any other positive value | |||
sessionMinIdle | Specify the minimum number of open sessions that will be hold available. | 0 | Default value, if not specified. |
any other positive value | |||
sessionWaitSec | Specify the maximum time in seconds to wait for an idle session, if an adapter call is triggered. If no session is available, an exception will be thrown. | 300 | Default value, if not specified. |
0 or any other positive value |
JMS Adapter Parameters
Action "receive"
Name | Type | Direction | Mandatory | Description |
---|---|---|---|---|
connectionInfo | JMSConnectionInfo | in | Specify the JMS connection details. See type JMSConnectionInfo for more details. | |
receiveParameter | JMSReceiveParameter | in | Specify the receive action details. See type JMSReceiveParameter for more details. | |
messageString | String | out | () | This parameter returns the JMS message content, if it contains a String. One of messageString, messageBlob, jmsStringMessage or jmsBlobMessage must be specified. |
jmsStringMessage | JMSStringMessage | out | () | This parameter returns the JMS message including all message properties, if it is a String message. One of messageString, messageBlob, jmsStringMessage or jmsBlobMessage must be specified. |
messageBlob | Blob | out | () | This parameter returns the JMS message, if it contains a Blob. One of messageString, messageBlob, jmsStringMessage or jmsBlobMessage must be specified. |
jmsBlobMessage | JMSBlobMessage | out | () | This parameter returns the JMS message including all message properties, if it is a Blob message. One of messageString, messageBlob, jmsStringMessage or jmsBlobMessage must be specified. |
Action "send"
Name | Type | Direction | Mandatory | Description |
---|---|---|---|---|
connectionInfo | JMSConnectionInfo | in | Specify the JMS connection details. See type JMSConnectionInfo for more details. | |
sendParameter | JMSSendParameter | in | Specify the send action details. See type JMSSendParameter for more details. | |
messageString | String | in | () | This parameter contains the JMS message to be send, if it contains a String. One of messageString, messageBlob, jmsStringMessage or jmsBlobMessage must be specified. |
jmsStringMessage | JMSStringMessage | in | () | This parameter contains the JMS message to be send including all message properties, if it is a String message. One of messageString, messageBlob, jmsStringMessage or jmsBlobMessage must be specified. |
messageBlob | Blob | in | () | This parameter contains the JMS message to be send, if it contains a Blob. One of messageString, messageBlob, jmsStringMessage or jmsBlobMessage must be specified. |
jmsBlobMessage | JMSBlobMessage | in | () | This parameter contains the JMS message to be send including all message properties, if it is a Blob message. One of messageString, messageBlob, jmsStringMessage or jmsBlobMessage must be specified. |
JMS Adapter Header Fields/JMS Properties
JMS Standard
The JMS Message parameter contains the following headers/JMS properties:
Name | Type | Description | Allowed Values | |
---|---|---|---|---|
JMSCorrelationID | String | A client can use this header field to link one message with another. A typical use is to link a response message with its request message. | ||
JMSPersistentDeliveryMode | Boolean | This header field contains the delivery mode specified when the message is sent. | true | The JMS provider has to take extra care to ensure that the message is not lost in transit due to a JMS provider failure (default). The JMS provider must deliver the message once and only once. |
false | The JMS provider may lose the message due to a JMS provider failure. | |||
JMSDestination | String | This header field contains the destination, to which the message is sent. | ||
JMSExpiration | Integer | When a message is sent, its expiration time is calculated as the sum of the time-to-live value specified on the send method and the current GMT value. On return from the send method, the JMSExpiration header field of the message contains this value. When a message is received, its JMSExpiration header field contains the same value. | 0 | The JMS does not expire. |
>0 | The JMS message expires after the given period of time. | |||
JMSMessageID | String | This header field contains a value that uniquely identifies each message sent by a provider. A JMSMessageID is a string value, which should function as a unique key for identifying messages in a historical repository. A provider defines the exact scope of uniqueness. Combined with JMSCorrelationID , this header field is used to link messages, and thus to implement synchronous messaging. | ||
JMSPriority | Integer | This header field contains the message’s priority. JMS defines a ten-level priority value, with 0 as the lowest priority and 9 as the highest. | 0-4 | The JMS message has a normal priority (4 is the default value). |
5-9 | The JMS message has an expedited priority. | |||
JMSRedelivered | Boolean | If a client receives a message with the JMSRedelivered indicator set to true, it is likely, but not guaranteed, that this message was delivered, but not acknowledged, in the past. In general, a provider must set this message header field to true whenever he redelivers a message. | true | The JMS message has been redelivered. This is an indication to the consuming application that the message may have been delivered in the past and that the application should take extra precautions to prevent duplicate processing. |
false | The JMS message has not been redelivered. | |||
JMSReplyTo | String | This header field contains the name of a destination, to which the recipient of the message should send a reply. The client sending the message specifies the JMSReplyTo field value. | ||
JMSTimestamp | Integer | This header field contains the time a client passes the message to a provider to be sent. The time is not the actual transmission time of the message; the actual send may occur later due to transactions or other client side queuing of messages. | ||
JMSType | String | This header field contains a message type identifier supplied by a client when the message is sent. Some messaging systems require that a message type definition is created for each application message and that each message specifies its type. In order to work with such JMS providers, JMS clients should assign a value to JMSType whether the application makes use of it or not. The assignment of a value ensures that the field is set properly for those providers that require a JMSType value. | ||
JMSCorrelationIDAsBytes | Blob | Contains the JMSCorrelationID in Blob format. |
Custom
The JMS Message parameter contains arrays to define custom headers/JMS properties as name/value pairs (see JMSMessage below).
The following custom headers are provided automatically by the xUML Runtime:
Name | Type | Description | Allowed Values | |
---|---|---|---|---|
xSenderHost | String | This custom JMS header field contains the sender host. | ||
xSenderService | String | This custom JMS header field contains the sender service. | ||
xTransactionId | String | This custom JMS header field contains a unique transaction ID (see Transaction ID). |
JMS Adapter Parameter Types
JMSConnectionInfo
Class | Attribute | Type | Description | Allowed Values | |
---|---|---|---|---|---|
JMSConnectionInfo | acknowledgeMode | JMSAcknowledgeModes | Message acknowledge mode. | Auto | Each single message sent to a JMS provider will be acknowledged by the JMS provider (not the recipient) after recipience. Using Auto acknowledge mode in a model, a client must be prepared for possible loss of messages. |
Duplicate | Duplicate acknowledge mode corresponds to Auto acknowledge mode. Additionally, the JMS provider may send the message more than once to the same destination. The receiving application must be tolerant of receiving duplicate messages. | ||||
Transacted | Messages sent to or received from a JMS provider within an activity are acknowledged explicitly after processing. Thus, the activity plays the role of a transactional lock. | ||||
name | String | Arbitrary name of the JMS session to distinct multiple sessions. | |||
user | String | JMS user. | |||
password | String | JMS user password. | |||
path | String | Specify a path to the JNDI file (.bindings), if a JNDI provider is used and protocol is file. | |||
protocol | String | Protocol used to communicate with the JMS provider. The protocol normally is set automatically. | |||
host | String | Specify the host name of the JMS provider. | |||
port | Integer | Specify the port the JMS provider is listening to. | |||
properties | Array of JMSStringProperty | Array of key/value pairs used to specify additional JMS Provider properties (e.g. the message queue using ActiveMQ). |
JMSMessage
Class | Attribute | Type | Description | Allowed Values | |
---|---|---|---|---|---|
JMSMessage | longProperties | JMSLongProperty | JMS properties. | ||
byteProperties | JMSByteProperty | JMS properties. | |||
booleanProperties | JMSBooleanProperty | JMS properties. | |||
doubleProperties | JMSDoubleProperty | JMS properties. | |||
stringProperties | JMSStringProperty | JMS properties. | |||
integerProperties | JMSIntegerProperty | JMS properties. | |||
floatProperties | JMSFloatProperty | JMS properties. | |||
shortProperties | JMSShortProperty | JMS properties. | |||
JMSCorrelationID | String | A client can use this header field to link one message with another. A typical use is to link a response message with its request message. | |||
JMSPersistentDeliveryMode | Boolean | This header field contains the delivery mode specified when the message is sent. | true | The JMS provider has to take extra care to ensure that the message is not lost in transit due to a JMS provider failure (default). The JMS provider must deliver the message once and only once. | |
false | The JMS provider may lose the message due to a JMS provider failure. | ||||
JMSDestination | String | This header field contains the destination, to which the message is sent. | |||
JMSExpiration | Integer | When a message is sent, its expiration time is calculated as the sum of the time-to-live value specified on the send method and the current GMT value. On return from the send method, the JMSExpiration header field of the message contains this value. When a message is received, its JMSExpiration header field contains the same value. | 0 | The JMS does not expire. | |
>0 | The JMS message expires after the given period of time. | ||||
JMSMessageID | String | This header field contains a value that uniquely identifies each message sent by a provider. A JMSMessageID is a string value, which should function as a unique key for identifying messages in a historical repository. A provider defines the exact scope of uniqueness. Combined with JMSCorrelationID , this header field is used to link messages, and thus to implement synchronous messaging. | |||
JMSPriority | Integer | This header field contains the message’s priority. JMS defines a ten-level priority value, with 0 as the lowest priority and 9 as the highest. | 0-4 | The JMS message has a normal priority (4 is the default value). | |
5-9 | The JMS message has an expedited priority. | ||||
JMSRedelivered | Boolean | If a client receives a message with the JMSRedelivered indicator set to true, it is likely, but not guaranteed, that this message was delivered, but not acknowledged, in the past. In general, a provider must set this message header field to true whenever he redelivers a message. | true | The JMS message has been redelivered. This is an indication to the consuming application that the message may have been delivered in the past and that the application should take extra precautions to prevent duplicate processing. | |
false | The JMS message has not been redelivered. | ||||
JMSReplyTo | String | This header field contains the name of a destination, to which the recipient of the message should send a reply. The client sending the message specifies the JMSReplyTo field value. | |||
JMSTimestamp | Integer | This header field contains the time a client passes the message to a provider to be sent. The time is not the actual transmission time of the message; the actual send may occur later due to transactions or other client side queuing of messages. | |||
JMSType | String | This header field contains a message type identifier supplied by a client when the message is sent. Some messaging systems require that a message type definition is created for each application message and that each message specifies its type. In order to work with such JMS providers, JMS clients should assign a value to JMSType whether the application makes use of it or not. The assignment of a value ensures that the field is set properly for those providers that require a JMSType value. | |||
JMSCorrelationIDAsBytes | Blob | JMSCorrelationID as a Blob. |
JMSBlobMessage
Class | Attribute | Type | Description | Allowed Values | |
---|---|---|---|---|---|
JMSBlobMessage | Possible type of a JMS message body. Derives from JMSMessage. | ||||
message | Blob | Blob message content. |
JMSStringMessage
Class | Attribute | Type | Description | Allowed Values | |
---|---|---|---|---|---|
JMSStringMessage | Possible type of a JMS message body. Derives from JMSMessage. | ||||
message | String | String message content. |
JMSReceiveParameter
Class | Attribute | Type | Description | Allowed Values | |
---|---|---|---|---|---|
JMSReceiveParameter | queueName | String | Specifies the name of the queue/topic, from which messages are received and is mandatory in order to receive messages | ||
selector | String | Used to filter the received messages (e.g. JMSType='alpha'). Refer to the official Java Message Service specification for the selector statement syntax. | |||
millisecondsToWait | Integer | Specifies the time the JMS adapter is waiting for a message from the specified queue/topic |
JMSSendParameter
Class | Attribute | Type | Description | Allowed Values | |
---|---|---|---|---|---|
JMSSendParameter | queueName | String | Specifies the name of the queue/topic, to which messages are sent. | ||
timeToLive | Integer | Specifies the expiration time of a sent message (refer also to the description of JMSExpiration in the JMS headers/properties). |
JMSSessionParameter
Class | Attribute | Type | Description | Allowed Values | |
---|---|---|---|---|---|
JMSSessionParameter | acknowledgeMode | JMSAcknowledgeModes | Message acknowledge mode. | Auto | Each single message sent to a JMS provider will be acknowledged by the JMS provider (not the recipient) after recipience. Using Auto acknowledge mode in a model, a client must be prepared for possible loss of messages. |
Duplicate | Duplicate acknowledge mode corresponds to Auto acknowledge mode. Additionally, the JMS provider may send the message more than once to the same destination. The receiving application must be tolerant of receiving duplicate messages. | ||||
Transacted | Messages sent to or received from a JMS provider within an activity are acknowledged explicitly after processing. Thus, the activity plays the role of a transactional lock. | ||||
name | String | Arbitrary name of the JMS session to distinct multiple sessions. | |||
connectionFactoryClass | String | Name of the connection factory class. | |||
connectionFactoryProperties | JMSStringProperty | Properties of the connection factory. | |||
user | String | JMS user. | |||
password | String | JMS user password. |
Custom JMS Properties
Class | Attribute | Type | Description | Allowed Values | |
---|---|---|---|---|---|
JMSBooleanProperty | key | String | Key of the JMS property. | ||
value | Boolean | Boolean property value. | |||
JMSByteProperty | key | String | Key of the JMS property. | ||
value | Integer | Integer property value. | |||
JMSDoubleProperty | key | String | Key of the JMS property. | ||
value | Float | Float property value. | |||
JMSStringProperty | key | String | Key of the JMS property. | ||
value | String | String property value. |
JMSAcknowledgeModes
Enumeration | Type | Value | Description |
---|---|---|---|
JMSAcknowledgeModes | String | Auto | Each single message sent to a JMS provider will be acknowledged by the JMS provider (not the recipient) after recipience. Using Auto acknowledge mode in a model, a client must be prepared for possible loss of messages. |
Duplicate | Duplicate acknowledge mode corresponds to Auto acknowledge mode. Additionally, the JMS provider may send the message more than once to the same destination. The receiving application must be tolerant of receiving duplicate messages. | ||
Transacted | Messages sent to or received from a JMS provider within an activity are acknowledged explicitly after processing. Thus, the activity plays the role of a transactional lock. |