Show TOC

JMS Object Output Adapter ConfigurationLocate this document in the navigation structure

Configure the JMS Object Output adapter by specifying values for the ESP connector, formatter, and transporter modules in the adapter configuration file. The JMS Object Output adapter uses SimpleDateFormat formatting codes.

Logging
XML Element Description
Log4jProperty

Type: string

(Optional) Specify a full path to the log4j.properties logging file you wish to use. The default value is STREAMING_HOME/adapters/framework/config/log4j.properties.

Encryption
XML Element Description
Cipher

Type: string

(Optional) Specify a full path to the adapter.key encryption file you wish to use. The default value is $STREAMING_HOME/adapters/framework/adapter.key.

ESPConnector Module: ESP Subscriber

The ESP Subscriber module obtains data from the SAP Event Stream Processor project and passes it along to a transporter or formatter module.

XML Element Description
Module

(Required) Element containing all information for this module. It contains a type attribute for specifying the module type.

For example, espconnector.

InstanceName

Type: string

(Required) Instance name of the specific module you want to use. For example, MyInputTransporter.

Name

Type: string

(Required) Name of the module as defined in the modulesdefine.xml file. For example, <TransporterType>InputTransporter.

Next

Type: string

(Required) Instance name of the module that follows this one.

BufferMaxSize

Type: integer

(Advanced) Capacity of the buffer queue between this module and the next. The default value is 10240.

Parameters

Element containing the EspSubscriberParameters element.

EspSubscriberParameters

(Required) Element containing elements for the ESP subscriber.

ProjectName

Type: string

(Required if running adapter in standalone mode; optional if running in managed mode) Specifies the unique project tag of the ESP project to which the adapter is connected. For example, StreamingProject2.

This is the same project tag that you specify later in the adapter configuration file in the Name element within the Event Stream Processor (EspProjects) element.

If you are starting the adapter with the ESP project to which it is attached (running the adapter in managed mode), you do not need to set this element as the adapter automatically detects the project name.

StreamName

Type: string

(Required if running adapter in standalone mode; optional if running in managed mode) Name of te stream from which the adapter subscribes to data.

If you are starting the adapter with the ESP project to which it is attached (running the adapter in managed mode), you do not need to set this element as the adapter automatically detects the stream name.

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.

OnlyBase

Type: boolean

(Advanced) Sends a one-time snapshot of initial contents in a stream. Default value is false. If set to true, OutputBase automatically becomes true.

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.

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 the end source. Other rows are cached internally by the adapter.

GDSubscriberName

Type: string

(Advanced) If the adapter is running in GD mode (the EnableGDMode property is set to true), specify a unique name to identify the GD subscription client. If this value is empty when running in GD mode, the adapter logs an error and shuts down.

Formatter Module: ESP to Object List Formatter

The ESP to Object List formatter converts a row from a stream to an object list.

XML Element Description
Module

(Required) Element containing all information for this module. It contains a type attribute for specifying the module type.

For example, formatter.

InstanceName

Type: string

(Required) Instance name of the specific module you want to use. For example, MyInputTransporter.

Name

Type: string

(Required) Name of the module as defined in the modulesdefine.xml file. For example, <TransporterType>InputTransporter.

Next

Type: string

(Required) Instance name of the module that follows this one.

BufferMaxSize

Type: integer

(Advanced) Capacity of the buffer queue between this module and the next. The default value is 10240.

Parallel

Type: boolean

(Optional) If set to true, the module runs as a separated thread. The default value is true.

Parameters

(Required) Element containing the EspToObjectListFormatterParameters element.

EspToObjectListFormatterParameters

(Required) Element containing the ESP to Object List formatter elements.

OutputAsSQLDatetimeFormat

Type: boolean

(Optional) Specify whether the Event Stream Processor seconddate, msdate, and bigdatetime datatypes are output as java.sql.Date or java.sql.Timestamp.

The default output is java.util.Date.

Transporter Module: JMS Output Transporter

The JMS Output transport obtains data from the previous module that is configured in the adapter configuration file, wraps it up, and sends it to a JMS server.

XML Element Description
Module

(Required) Element containing all information for this module. It contains a type attribute for specifying the module type.

For example, transporter.

InstanceName

Type: string

(Required) Instance name of the specific module you want to use. For example, MyInputTransporter.

Name

Type: string

(Required) Name of the module as defined in the modulesdefine.xml file. For example, <TransporterType>InputTransporter.

BufferMaxSize

Type: integer

(Advanced) Capacity of the buffer queue between this module and the next. The default value is 10240.

Parameters

(Required) Element containing the JMSOutputTransporterParameters element.

JMSOutputTransporterParameters

(Required) Element containing the JMS Output transporter elements.

ConnectionFactory

Type: string

(Required) Specify the connection factory class name. No default value.

JndiContextFactory

Type: string

(Required) Specify the context factory for JNDI context initialization. No default value.

JndiUrl

Type: string

(Required) Specify the 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.

You can also enable automatic reconnection here. Consult your third-party vendor documentation for specific formats. Here is an example for ActiveMQ, failover:tcp://<hostname>:<portnumber>.

No default value.

Destination Type

Type: string

(Required) Specify the destination type. Valid values are: QUEUE and TOPIC. The default value is QUEUE.

DestinationName

Type: string

(Required) Specify the destination name. No default value.

MessageType

Type: string

(Required) Specify the message type you want the JMS transporter to process:
  • TEXT – for receiving and sending messages in text string.
  • OBJARRAY – for receiving and sending messages in custom format.
No default value.
DeliveryMode

Type: string

(Optional) Specify the delivery mode type. Valid values are:
  • PERSISTENT
  • NON_PERSISTENT
Default value is PERSISTENT.
BatchSize

Type: integer

(Advanced) If the adapter is running in GD (guaranteed delivery) mode, specify the number of message rows after which the adapter issues a commit command to the external data source and a GD commit to the stream to which the adapter is attached.

If the adapter is running without GD mode, specify the number of message rows after which the adapter issues a commit command to the external data source. The default value is 1.

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

If the ESP Subscriber module EnableGDMode element is set to true, set either this or the BatchPeriod property to greater than 0. If neither property is set to greater than 0, a warning is sent and this property is set to 1.

BatchPeriod

Type: integer

(Advanced) If the adapter is running in GD mode, specify the number of seconds after which the adapter issues a commit command to the external data source and a GD commit to the stream to which the adapter is attached.

If the adapter is running without GD mode, specify the number of seconds after which the adapter issues a commit command to the external data source. The default value is 0.

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

JndiSecurityPrincipal

Type: string

(Advanced) Specify the JNDI security principal that you use for the JMS server. This property corresponds to the JNDI property javax.naming.Context.SECURITY_PRINCIPAL. See your JMS server provider documentation for more information.

By default, this property is commented out. Enable this property only if your JMS server requires JNDI credentials.

JndiSecurityCredentials

Type: string

(Advanced) Specify the JNDI security credentials that you use for the JMS server. Includes an encyrpted attribute which specifies whether the JNDI credentials are encyrpted.

This property corresponds to the JNDI property javax.naming.Context.SECURITY_CREDENTIALS. See your JMS server provider documentation for more information.

By default, this property is commented out. Enable this property only if your JMS server requires JNDI credentials.

Username

Type: string

(Advanced) Specify a valid username for connecting to a specific JMS server.

Password

Type: string

(Advanced) Specify a valid password for connecting to a specific JMS server. Contains an encrypted attribute which determines whether the Password value is encrypted.

SAP Event Stream Processor Elements

SAP Event Stream Processor elements configure communication between Event Stream Processor and the JMS Object Output adapter.

XML Element Description
EspProjects

(Required) Element containing elements for connecting to Event Stream Processor.

EspProject

(Required) Element containing the Name and Uri elements. Specifies information for the ESP project to which the adapter is connected.

Name

Type: string

(Required) Specifies the unique project tag of the ESP project which the EspConnector (publisher/subscriber) module references.

Uri

Type: string

(Required) Specifies the total project URI to connect to the ESP project. For example, if you have SSL enabled, use esps://localhost:19011/ws1/p1.

Security

(Required) Element containing all the authentication elements below. Specifies details for the authentication method used for Event Stream Processor.

User

Type: string

(Required) Specifies the user name required to log in to Event Stream Processor (see AuthType). No default value.

Password

Type: string

(Required) Specifies the password required to log in to Event Stream Processor (see AuthType).

Includes an "encrypted" attribute indicating whether the Password value is encrypted. The default value is false. If set to true, the password value is decrypted using RSAKeyStore and RSAKeyStorePassword.

AuthType

Type: string

(Required) Method used to authenticate to Event Stream Processor. Valid values are:
  • server_rsa - RSA authentication using keystore
  • kerberos - Kerberos authentication using ticket-based authentication
  • user_password - LDAP, SAP BI, and Native OS (user name/password) authentication

If the adapter is operated as a Studio plug-in, AuthType is overridden by the Authentication Mode Studio start-up parameter.

RSAKeyStore

Type: string

(Dependent required) Specifies the location of the RSA keystore, and decrypts the password value. Required if AuthType is set to server_rsa, or the encrypted attribute for Password is set to true, or both.

RSAKeyStorePassword

Type:string

(Dependent required) Specifies the keystore password, and decrypts the password value. Required if AuthType is set to server_rsa, or the encrypted attribute for Password is set to true, or both.

KerberosKDC

Type: string

(Dependent required) Specifies host name of Kerberos key distribution center. Required if AuthType is set to kerberos.

KerberosRealm

Type: string

(Dependent required) Specifies the Kerberos realm setting. Required if AuthType is set to kerberos.

KerberosService

Type: string

(Dependent required) Specifies the Kerberos principal name that identifies the Event Stream Processor cluster. Required if AuthType is set to kerberos.

KerberosTicketCache

Type: string

(Dependent required) Specifies the location of the Kerberos ticket cache file. Required if AuthType is set to kerberos.

EncryptionAlgorithm

Type: string

(Optional) Used when the encrypted attribute for Password is set to true. If left blank, RSA is used as default.