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 |
A string value to associate with this topic. For example, a
description of the topic. Topic references are honored only when the JMS adapter
runs as a publisher. DEPRECATED: Future versions of the product might not support
this. |
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 |
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 |