Show TOC

JMS XML Output AdapterLocate this document in the navigation structure

Adapter type: jms_xml_out. The JMS XML Output adapter publishes stream data as XML-formatted text messages to a JMS queue or topic.

Ensure that each message consists of an XML element with the same name as the stream name.

The first attribute is the Event Stream Processor opcode. The rest of the attributes have the same names as the corresponding stream columns. Ensure that any columns with null values are omitted.

If you use the CCL ATTACH ADAPTER statement to attach an adapter, you must supply the adapter type.

Property Label Description
Connection Factory

Property ID: connectionFactory

Type: string

(Required) Specifies the JNDI name for the JMS server connection factory. Consult your third-party vendor documentation for specific formats. Here are some examples:
  • ActiveMQ ConnectionFactory
  • TIBCO QueueConnectionFactory
  • WebSphere MQ MyMQConnFactory
The default value is ConnectionFactory.
JNDI Context Factory

Property ID: jndiContextFactory

Type: string

(Required) Context factory for JNDI context initialization. Consult your third-party vendor documentation for specific formats. Here are some examples:
  • ActiveMQ org.apache.activemq.jndi.ActiveMQInitialContextFactory
  • TIBCO com.tibco.tibjms.naming.TibjmsInitialContextFactory
  • WebSphere MQ com.sun.jndi.fscontext.RefFSContextFactory
The default value is org.apache.activemq.jndi.ActiveMQInitialContextFactory.
JNDI URL

Property ID: jndiURL

Type: string

(Required) JNDI URL. Consult your third-party vendor documentation for specific formats. Here are some examples:
  • ActiveMQ tcp://server:61616
  • TIBCO tibjmsnaming://server:7222
  • WebSphere MQ file:/var/mqm/jndi/
WebSphere MQ is different as it requires a separate naming server to be configured with it. By default, WebSphere MQ only provides a file-based naming server. The default value is tcp://localhost:61616.
Destination Type

Property ID: destinationType

Type: choice

(Required) Destination type.

Valid values are:
  • QUEUE
  • TOPIC
Default value is QUEUE.
Destination Name

Property ID: destinationName

Type: string

(Required) Destination name. The default value is xmlout.queue.

Delivery Mode

Property ID: deliveryMode

Type: choice

(Optional) Type of delivery mode.

Valid values are:
  • PERSISTENT
  • NON_PERSISTENT
Default value is PERSISTENT.
Include Base Content

Property ID: outputBase

Type: boolean

(Optional) If set to true, the adapter outputs the initial stream contents in addition to stream updates.

If this option is enabled and the adapter is running in GD mode, once the adapter has done a GD commit on the entire base data, the ESP Server does not redeliver the base data on adapter restart and only sends deltas that are saved for delivery. The default value is false.

PropertySet

Property ID: propertyset

Type: string

(Advanced) Specifies the name of the property set. Property sets are reusable sets of properties that are stored in the project configuration file. Using these sets allows you to move adapter configuration properties out of the CCL file and into the CCR file. If you specify the same properties in the project configuration file and the ATTACH ADAPTER statement, the values in the property set override the values defined in the ATTACH ADAPTER statement. No default value.

Column To Message Property Map

Property ID: columnPropertyMap

Type: string

(Advanced) A comma-delimited list of ColumnName=PropertyName mappings that enables message filtering on the message broker side using the JMS selector mechanism.

Ensure that there are no spaces present in the value of this property. For each mapped column name, the outbound message is paired with a corresponding JMS property that has a value equal to the column value. ColumnName1=PropertyName1,ColumnName2=PropertyName2...

No default value.
SecondDate Format

Property ID: seconddateFormat

Type: string

(Advanced) SecondDate format. Default value is YYYY-MM-DDTHH:MM:SS.SSS.

MsDate Format

Property ID: msdateFormat

Type: string

(Advanced) MsDate format. Default value is YYYY-MM-DDTHH:MM:SS.SSS.

Runs Adapter in PSP GD Mode

Property ID: enablePSPGDMode

Type: boolean

(Advanced) If set to true, the adapter runs in persistent subscribe pattern (PSP) guaranteed delivery (GD) mode and all GD-related parameters become required. Default value is false

Name of Column Holding PSP GD Key

Property ID: gdKeyColumn

Type: string

(Advanced) Specifies column name in the Flex operator holding the PSP GD key. The GD key is a constantly increasing value that uniquely identifies every event regardless of the opcode in the stream of interest. No default value.

Name of Column Holding opcode

Property ID: gdOpcodeColumn

Type: string

(Advanced) Specifies name of column in Flex operator holding opcode. The opcode is the operation code (for example, inserts, update, or delete) of the event occurring in the stream of interest. No default value.

Name of Truncate Stream

Property ID: gdControlStream

Type: string

(Advanced) Specifies name of the control window in the GD setup. The control window is a source stream that informs the Flex operator of which data has been processed by the adapter and can be safely deleted. No default value.

Purge After Number of Records

Property ID: gdPurgeInternal

Type: int

(Advanced) Specifies number of records after which to purge the Flex operator. Default value is 1000.

Batch Size to Update Truncate Stream

Property ID: gdPSPBatchSize

Type: int

(Advanced) Specifies number of records after which the control window must be updated with the latest GD key. Default value is 1000.

Runs Adapter in GD Mode

Property ID: enableGDMode

Type: boolean

(Advanced) Specifies whether the adapter runs in guaranteed delivery (GD) mode. GD ensures that data continues to be processed in the case that the ESP Server fails, or the destination (third-party server) fails or does not respond for a long time. See Guaranteed Delivery in the SAP Event Stream Processor: Developer Guide for details on enabling GD for your project.

The default value is false.

Enable the Adapter Internal Cache Mode

Property ID: enableGDCache

Type: boolean

(Advanced) If set to true, only rows that can be recovered (that is, checkpointed) by the ESP Server on restart are sent to JMS. Other rows are cached internally by the adapter.

When this option is enabled, you may see a significant increase in latency depending on how frequently the attached stream delivers checkpoint messages. Streams support three modes related to GD: GD not supported, GD supported, and GD supported with checkpoint messages. This setting is ignored if the attached stream does not support GD and does not deliver checkpoint message. The default value is true.

GD Batch Size

Property ID: gdBatchSize

Type: int

(Advanced) Specify after how many message blocks (transactions or envelopes) the adapter issues a commit command to JMS and a GD commit to the stream to which the adapter is attached. The default value is 10. Increasing this value improves performance at the expense of latency (specifically, how soon rows are available in JMS to be consumed by other applications.

Increasing this value also increases memory consumption in the ESP Server because the uncommitted rows need to be preserved for redelivery in case of failure.

Known limitations:

  • If the connection to the message broker is lost, the adapter does not attempt to reconnect.