Just a second...

JMSAdapter.xml

This file specifies the schema for the configuration required by the JMS adapter. Note that JMS topics and queues are referred to only as destinations. Topics refers exclusively to Diffusion topics.

JMSRootConfig

The mandatory root node of the JMS adapter configuration.

The following table lists the elements that an element of type JMSRootConfig can contain:
Name Type Description Min occurs Max occurs
topics JMSTopicsConfig The set of Diffusion topics created at startup. 0 1
providers JMSProvidersConfig The set of JMS providers. 1 1
server-connection ServerConnectionConfig Configuration specific to the JMS adapter when run as a client. When run as a publisher this is ignored. 0 1

JMSTopicsConfig

The set of Diffusion topics created at startup. Diffusion Unified client messaging does not require an existing topic, but Diffusion publishing and Diffusion Classic client messaging do.

The following table lists the elements that an element of type JMSTopicsConfig can contain:
Name Type Description Min occurs Max occurs
stateful JMSStatefulTopicConfig The configuration required to create a stateful Diffusion topic, including the initial state of the topic. 0 unbounded
stateless JMSTopicConfig The configuration required to create a Diffusion topic. 0 unbounded

JMSTopicConfig

The configuration required to create a Diffusion .

The following table lists the attributes that an element of type JMSTopicConfig can have:
Name Type Description Required
name xs:string The full topic path of the topic to create. For example, 'foo/bar/baz'. true
reference xs:string DEPRECATED: This is no longer used and will be removed in a future release. false

JMSStatefulTopicConfig

The following table lists the attributes that an element of type JMSStatefulTopicConfig can have:
Name Type Description Required
initialState xs:string The initial state of a topic when the topic is created. false

JNDIPropertiesConfig

The set of named values required to to create an InitialContext to access the JNDI configuration of the JMS server. Individual JMS providers will provide documentation on this step.

The following table lists the elements that an element of type JNDIPropertiesConfig can contain:
Name Type Description Min occurs Max occurs
property JNDIProperty A named value. 0 unbounded

JNDIProperty

A named value.

The following table lists the attributes that an element of type JNDIProperty can have:
Name Type Description Required
name xs:string The property name. true
value xs:string The property value. true

JMSProviderConfig

The configuration model to connect to a JMS provider (a broker), establish sessions, subscribe, and publish to destinations.

The following table lists the attributes that an element of type JMSProviderConfig can have:
Name Type Description Required
name xs:string The name associated with this configuration model. false
The following table lists the elements that an element of type JMSProviderConfig can contain:
Name Type Description Min occurs Max occurs
jndiProperties JNDIPropertiesConfig The set of named values required to to create an InitialContext to access the JNDI configuration of the JMS server. 1 1
jmsProperties JMSConnectionConfig The configuration related to connection to the JMS provider. 1 1
sessions JMSSessionsConfig The configuration for all JMS sessions related to this JMS provider. 1 1
reconnection JMSReconnectionConfig The configuration for reconnection behavior. 0 1
subscriptions JMSSubscriptionsConfig The set of subscriptions to JMS destinations. 0 1
publications JMSPublicationsConfig The set of publications to JMS destinations. 0 1

JMSProvidersConfig

The set of JMS providers.

The following table lists the elements that an element of type JMSProvidersConfig can contain:
Name Type Description Min occurs Max occurs
provider JMSProviderConfig The configuration model to connect to a JMS provider. 0 unbounded

JMSSessionsConfig

The configuration for all JMS sessions related to this JMS provider.

The following table lists the elements that an element of type JMSSessionsConfig can contain:
Name Type Description Min occurs Max occurs
anonymousSessions JMSAnonymousSessionsConfig A number of JMS sessions shared between JMSSubscriptions. 1 1
namedSessions JMSNamedSessionsConfig The set of named JMS sessions, optionally used by JMSSubscription nodes in order to guarantee ordering, or use specific JMS session properties. 0 1

JMSAnonymousSessionsConfig

A number of JMS sessions shared between JMSSubscriptions.

The following table lists the attributes that an element of type JMSAnonymousSessionsConfig can have:
Name Type Description Required
number PositiveInteger The number of shared JMS sessions true

JMSNamedSessionsConfig

The set of named JMS sessions, optionally used by JMSSubscription nodes in order to guarantee ordering, or use specific JMS session properties.

The following table lists the elements that an element of type JMSNamedSessionsConfig can contain:
Name Type Description Min occurs Max occurs
session JMSNamedSessionConfig A named set of configuration relating to the placing of a JMS session. 1 unbounded

JMSReconnectionConfig

Following a disconnection event the adapter optionally attempts periodic reconnection. The first reconnection attempt occurs after minFrequency seconds, and the following after twice that number. The back-off time value doubles until it reaches the maxFrequency value in seconds. For example, where minFrequency=2 and maxFrequency=10, the reconnection will be attempted after 2s, 4s, 8s, 10s, 10s and so on.

The following table lists the attributes that an element of type JMSReconnectionConfig can have:
Name Type Description Required
minFrequency PositiveInteger The interval between disconnection and the first reconnection attempt (in seconds). The interval is doubled for each subsequent reconnection attempt. true
maxFrequency PositiveInteger The maximum interval between reconnection attempts. true

JMSSubscriptionsConfig

The set of subscriptions to JMS destinations.

The following table lists the elements that an element of type JMSSubscriptionsConfig can contain:
Name Type Description Min occurs Max occurs
subscription JMSSubscriptionConfig Configuration to subscribe to a JMS destination and relay to Diffusion topics or messaging or both. 0 unbounded

JMSPublicationsConfig

The set of publications to JMS destinations.

The following table lists the elements that an element of type JMSPublicationsConfig can contain:
Name Type Description Min occurs Max occurs
publication JMSPublicationConfig Configuration to receive Diffusion topic messaging and relay to a JMS destination. 0 unbounded

JMSSubscriptionConfig

Configuration to subscribe to a JMS destination and relay to Diffusion topics

The following table lists the attributes that an element of type JMSSubscriptionConfig can have:
Name Type Description Required
sessionName xs:string The name of the session to use. This session name must be defined in the namedSessions element. If this element is not defined, the JMS adapter does not start. false
The following table lists the elements that an element of type JMSSubscriptionConfig can contain:
Name Type Description Min occurs Max occurs
destination JmsURI The URI of the JMS destination. 1 1
options JMSSubscriptionOptions Configuration relating to publishing in JMS. 0 1
messaging ClientMessagingConfig Configuration relating to the sending of a Diffusion message to a single Diffusion client. 0 1
publish TopicPublishingConfig Configuration relating to the publishing of a message or setting of a topic's state. 0 1

JMSPublicationConfig

Configuration to receive Diffusion topic messaging and relay to a JMS destination.

The following table lists the elements that an element of type JMSPublicationConfig can contain:
Name Type Description Min occurs Max occurs
destination JmsURI The URI of the JMS destination. 1 1
options JMSPublicationOptionsConfig Configuration relating to publishing to JMS destinations. 0 1
messaging ClientMessagingConfig Configuration relating to the sending of a Diffusion message to a single Diffusion client. 0 1

JMSSubscriptionOptions

Options employed when subscribing to a JMS destination.

The following table lists the attributes that an element of type JMSSubscriptionOptions can have:
Name Type Description Required
noLocal xs:boolean Inhibits the delivery of messages published through its own connection. false
The following table lists the elements that an element of type JMSSubscriptionOptions can contain:
Name Type Description Min occurs Max occurs
selector xs:string SQL 92 compliant expression used to filter messages received from a JMS destination. 0 1

JMSPublicationOptionsConfig

The following table lists the attributes that an element of type JMSPublicationOptionsConfig can have:
Name Type Description Required
ttl PositiveInteger The Time-To-Live value for a published JMS message, in milliseconds false
priority JMSPriorityRange The higher the number, the higher the priority. false
deliveryMode JMSDeliveryMode Maps to javax.jms.DeliveryMode false

ClientEndpointConfig

The following table lists the attributes that an element of type ClientEndpointConfig can have:
Name Type Description Required
topicName xs:string The topic path used by this end point. Depending on the task it might not need to relate to an existing topic. true
The following table lists the elements that an element of type ClientEndpointConfig can contain:
Name Type Description Min occurs Max occurs
transformation MessageTransformationConfig The transformation type to use for messages relayed to and from this topic. 0 1

MessageTransformationConfig

The following table lists the attributes that an element of type MessageTransformationConfig can have:
Name Type Description Required
type MessageTransformationType The tranformation employed when relaying Diffusion to JMS messages, or JMS to Diffusion messages. false
The following table lists the elements that an element of type MessageTransformationConfig can contain:
Name Type Description Min occurs Max occurs
sessionProperties SessionPropertyMappings The set of session property mappings. 0 1

TopicPublishingConfig

Configuration relating to the publishing of a message or setting of a topic's state.

ClientMessagingConfig

Configuration relating to the sending of a Diffusion message to a single Diffusion client.

The following table lists the attributes that an element of type ClientMessagingConfig can have:
Name Type Description Required
routingProperty xs:string The routingProperty attribute describes a facet of the JMS TextMessage that contains the destination Diffusion client SessionID. false

SessionPropertyMapping

A mapping from Diffusion session properties to JMS message metadata (JMS headers or properties).

The following table lists the attributes that an element of type SessionPropertyMapping can have:
Name Type Description Required
from xs:string Currently limited to $Principal true
to xs:string Values starting with "JMS" are mapped into JMS headers (for example, JMSType), others are mapped into JMS message properties. true

SessionPropertyMappings

The set of SessionPropertyMappings.

The following table lists the elements that an element of type SessionPropertyMappings can contain:
Name Type Description Min occurs Max occurs
sessionProperty SessionPropertyMapping A session property name. Currently, only $Principal is supported. 1 1

JMSCredentialsConfig

A username and password pair.

The following table lists the elements that an element of type JMSCredentialsConfig can contain:
Name Type Description Min occurs Max occurs
username xs:string A username to use to connect to the JMS provider. 1 1
password xs:string The password associated with the username. 1 1

JMSConnectionConfig

The configuration related to connection to the JMS provider.

The following table lists the attributes that an element of type JMSConnectionConfig can have:
Name Type Description Required
connectionFactoryName xs:string The name of the connection factory to use. true
The following table lists the elements that an element of type JMSConnectionConfig can contain:
Name Type Description Min occurs Max occurs
credentials JMSCredentialsConfig Optional credentials, used when connecting to the JMS provider 0 1

JMSSessionConfig

All configuration relating to the placing of a JMS session.

The following table lists the attributes that an element of type JMSSessionConfig can have:
Name Type Description Required
transacted xs:boolean Currently unsupported. false
acknowledgeMode JMSSessionAcknowledgeMode Currently unsupported. false

JMSNamedSessionConfig

A JMSSessionConfig that can be referred to by name.

The following table lists the attributes that an element of type JMSNamedSessionConfig can have:
Name Type Description Required
name xs:string Name used to refer to the session elsewhere in the JMSProviderConfig. true

ServerAuthenticationConfig

Optional session authentication details. The adapter defaults to establishing an anonymous session. Note: The JMS adapter requires a session that has the TOPIC_CONTROL role. Either assign the TOPIC_CONTROL role to the anonymous principal or specify a principal with this role for the JMS adapter to use to make the connection.

The following table lists the attributes that an element of type ServerAuthenticationConfig can have:
Name Type Description Required
principal xs:string The principal used during authentication. true
The following table lists the elements that an element of type ServerAuthenticationConfig can contain:
Name Type Description Min occurs Max occurs
password xs:string Optional plain text password using during authentication. 1 1

ServerConfig

The following table lists the attributes that an element of type ServerConfig can have:
Name Type Description Required
reconnection SessionReconnection The timeout duration in milliseconds used when attempting to reconnect, or 'none' to prevent any reconnection attempts. false
url xs:string Location of the server to which the adapter connects. false
The following table lists the elements that an element of type ServerConfig can contain:
Name Type Description Min occurs Max occurs
authentication ServerAuthenticationConfig Optional session authentication details. The adapter defaults to establishing an anonymous session. Note: The JMS adapter requires a session that has the TOPIC_CONTROL role. Either assign the TOPIC_CONTROL role to the anonymous principal or specify a principal with this role for the JMS adapter to use to make the connection. 0 1

ClientEditionProperties

Set of properties defined for the JMS adapter running as a client.

The following table lists the elements that an element of type ClientEditionProperties can contain:
Name Type Description Min occurs Max occurs
serverName xs:string Mandatory value for placeholder '${serverName}' used in JMS request-reply scenarios. 1 1

ServerConnectionConfig

Configuration specific to the JMS adapter when run as a client. When run as a publisher this is ignored

The following table lists the elements that an element of type ServerConnectionConfig can contain:
Name Type Description Min occurs Max occurs
server ServerConfig Location and authentication details of the Diffusion server. 1 1
properties ClientEditionProperties Set of properties defined for the JMS adapter running as a client. 1 1

PositiveInteger

Any whole number greater than or equal to 1.

This value must be a xs:int.

SessionReconnection

Any integer or the string 'none'.

This value must be a xs:string.

JmsURI

A URI string conforming to RFC6167 (https://tools.ietf.org/html/rfc6167).

This value must be a xs:string.

HexString

Arbitrary number of hex pairs. Decodable as binary data

This value must be a xs:string.

JMSPriorityRange

JMS message priorities range from 0 to 9. Higher numbers are higher priority. The default is 4.

This value must be a xs:int.

JMSSessionAcknowledgeMode

The set of all JMS acknowledgment options. Currently only AUTO_ACKNOWLEDGE is supported. Relates to the constants defined in javax.jms.Session.

This value must be a xs:string.

The following values are allowed:
  • AUTO_ACKNOWLEDGE
  • CLIENT_ACKNOWLEDGE
  • DUPS_OK_ACKNOWLEDGE
  • SESSION_TRANSACTED

JMSDeliveryMode

The set of all JMS delivery options. Relates to the constants defined in javax.jms.DeliveryMode

This value must be a xs:string.

The following values are allowed:
  • NON_PERSISTENT
  • PERSISTENT

MessageTransformationType

The set of message transformation options, used when relaying messages in both directions between JMS and Diffusion.

This value must be a xs:string.

The following values are allowed:
  • basic
  • JSON