Show TOC

JMS Map Input Adapter ConfigurationLocate this document in the navigation structure

Configure the JMS Map Input adapter by specifying values for the ESP connector, formatter, and transporter modules in the adapter configuration file. The JMS Map Input 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.

Transporter Module: JMS Input Transporter

The JMS Input transporter receives JMS messages from a JMS server, and sends it to the next module that is configured in the adapter configuration file.

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.

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

(Required) Element containing the JMSInputTransporterParameters element.

JMSInputTransporterParameters

(Required) Element containing elements for the JMS Input transporter.

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.
  • MAP – for receiving and sending messages in sets of name-value pairs.
No default value.
SubscriptionMode

Type: string

(Optional) Specify the subscription mode for TOPIC (see the Destination Type element). Valid values are DURABLE and NONDURABLE.

Default value is NONDURABLE.

ScanDepth

Type: integer

(Optional) Specify the depth of the schema discovery. The adapter reads the number of rows specified by this element value when discovering the input data schema.

The default value is three.

ClientID

Type: string

(Required for DURABLE subscription mode) Specifies the client identifier for a JMS client. Can be any string, but must be unique for each topic. No default value.

Example: client1 .

SubscriptionName

Type: string

(Required for DURABLE subscription mode) Specifies a unique name identifying a durable subscription. Can be any string, but must be unique within a given client ID. No default value.

Example: subscription1.

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.

Formatter Module: Map to ESP Formatter

The Map to ESP formatter converts a map message to row in a stream.

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 MapToEspFormatterParameters element.

MapToEspFormatterParameters

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

ExpectStreamNameOpcode

Type: boolean

(Required) If set to true, the adapter inserts the stream name into the field _ESP_STREAM_NAME, and the opcode into the field _ESP_OPS.

The accepted opcodes are:
  • i or I: INSERT
  • d or D: DELETE
  • u or U: UPDATE
  • p or P: UPSERT
  • s or S: SAFEDELETE

The default value is false.

ValueAsString

Type: boolean

(Advanced) If set to true, the adapter assumes all incoming data type as text string and interprets them into ESP data type. The default value is true.

SecondDateFormat

Type: string

(Optional) Format string for parsing SecondDate values.

For example, yyyy-MM-dd'T'HH:mm:ss is the default value.

MsDateFormat

Type: string

(Optional) Format string for parsing MsDate values.

For example, yyyy-MM-dd'T'HH:mm:ss.SSS is the default value.

ESP Connector Module: ESP Publisher

The ESP Publisher module obtains data from a transporter or formatter module and publishes it to a project.

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.

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 EspPublisherParameters element.

EspPublisherParameters

(Required) Element containing elements for the ESP publisher.

ProjectName

Type: string

(Required if adapter is running in standalone mode; optional if it is running in managed mode) Name 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 (that is, running the adapter in managed mode), you need not set this element as the adapter automatically detects the project name.

StreamName

Type: string

(Required if adapter is running in standalone mode; optional if it is running in managed mode) Name of the stream to which the adapter publishes data.

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

MaxPubPoolSize

Type: positive integer

(Optional) Maximum size of the record pool. Record pooling, also referred to as block or batch publishing, allows for faster publication since there is less overall resource cost in publishing multiple records together, compared to publishing records individually.

Record pooling is disabled if this value is 1. The default value is 256.

MaxPubPoolTime

Type: positive integer

(Optional) Maximum period of time, in milliseconds, for which records are pooled before being published. If not set, pooling time is unlimited and the pooling strategy is governed by maxPubPoolSize. No default value.

UseTransactions

Type: boolean

(Optional) If set to true, pooled messages are published to Event Stream Processor in transactions. If set to false, they are published in envelopes. The default value is false.

SafeOps

Type: boolean

(Advanced) Converts the opcodes INSERT and UPDATE to UPSERT, and converts DELETE to SAFEDELETE. The default value is false.

SkipDels

Type: boolean

(Advanced) Skips the rows with opcodes DELETE or SAFEDELETE. The default value is false.

GDMode

Type: boolean

(Optional) If set to true, 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.

The default value is false.

SAP Event Stream Processor Elements

Event Stream Processor elements configure communication betweenEvent Stream Processor and the JMS Map Input 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.