Socket CSV Input Adapter Configuration

Configure the Socket CSV Input adapter by specifying values for the ESP connector, formatter, and transporter modules in the adapter configuration file.

Logging

Parameter Description
Log4jProperty

Type: string

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

Transporter Module: Socket Input Transporter

Parameter Description
Module

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

For example, transporter.

InstanceName

Type: string

(Required) Specify the instance name of the specific module you wish to use. For example, MyInputTransporter.

Name

Type: string

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

Next

Type: string

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

Parameters

(Required) Section containing the SocketInputTransporterParameters element.

SocketInputTransporterParameters

(Required) Section containing parameters for the Socket Input transporter.

Host

Type: string

(Required if EpFile is set to null) If the transporter is acting as a socket client, specify the socket server name. If the transporter is acting as a socket server, do not set this parameter. No default value.

Port

Type: integer

(Required if EpFile is set to null) Specify the socket server port. If you set this to -1, the adapter reads from the ephemeral port file which is specified in the EpFile parameter. The default value is 12345.

EpFile

Type: string

(Required if Host and Port are set to null) Specify the file that contains the socket server name/IP and port number. No default value.

Retryperiod

Type: integer

(Advanced) When the transporter is acting as a socket server, this parameter designates the length of time to wait for the first incoming connection before switching to the continuous state.

When the transporter is acting as a socket client, this parameter designates the time period for attempting to re-establish an outgoing connection, in seconds. The default value is 0.

BlockSize

Type: integer

(Advanced) Define the size of the data block when transporting data from the socket server to the socket client. The default value is 1024.

KeepAlive

Type: boolean

(Advanced) If set to true, the adapter disconnects from the socket server if there are no data transports for the duration of time specified in your router configuration. For example, if you set your router configuration to two hours and there are no messages during that time, the adapter disconnects from the socket server.

The default value is false.

Formatter Module: Stream to String Formatter

Parameter Description
Module

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

For example, formatter.

InstanceName

Type: string

(Required) Specify the instance name of the specific module you wish to use. For example, MyInputTransporter.

Name

Type: string

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

Next

Type: string

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

Parameters

(Required) Section containing the StreamToStringFormatterParameters parameter.

StreamToStringFormatterParameters

(Required) Section containing the Stream to String formatter parameters.

Delimiter

Type: string

(Required) Specify the symbol used to separate columns. The default value is "\n".

IncludeDelimiter

Type: boolean

(Required) If set to true, the delimiter is part of current row. If set to false, the delimiter is not part of the current row. The default value is false.

AppendString

Type: string

(Required if IncludeDelimiter is set to true) If set to true, specify the string to append to the end of each result row. No default value.

AppendPosition

Type: string

(Required if IncludeDelimiter is set to true) Specify the position to which the AppendString parameter takes effect. There are two valid values: front and end. The default value is front.

IgnoreSpace

Type: boolean

(Required) Specify whether to trim the space char. The default value is true.

Formatter Module: CSV String to ESP Formatter

Parameter Description
Module

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

For example, formatter.

InstanceName

Type: string

(Required) Specify the instance name of the specific module you wish to use. For example, MyInputTransporter.

Name

Type: string

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

Next

Type: string

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

Parallel

Type: boolean

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

Parameters

(Required) Section containing the CsvStringToEspFormatterParameters parameter.

CsvStringToEspFormatterParameters

(Required) Section containing the CSV String to ESP formatter parameters.

ExpectStreamNameOpcode

Type: boolean

(Required) If set to true, the adapter interprets the first two fields of the incoming CSV line as stream name and opcode respectively. The adapter discards messages with unmatched stream names.

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.

Delimiter

Type: string

(Advanced) The symbols used to separate the column. The default value is a comma (,).

HasHeader

Type: boolean

(Advanced) Determines whether the first line of the file contains the description of the fields. Default value is false.

DateFormat

Type: string

(Advanced) The format string for parsing date values. For example, yyyy-MM-dd'T'HH:mm:ss.

TimestampFormat

Type: string

(Advanced) Format string for parsing timestamp values. For example, yyyy-MM-dd'T'HH:mm:ss.SSS.

ESP Connector Module: ESP Publisher

Parameter Description
Module

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

For example, formatter.

InstanceName

Type: string

(Required) Specify the instance name of the specific module you wish to use. For example, MyInputTransporter.

Name

Type: string

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

Parameters

(Required) Section containing the EspPublisherParameters parameter.

EspPublisherParameters

(Required) Section containing parameters for the ESP publisher.

ProjectName

Type: string

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

This is the same project tag that you specify later in the adapter configuration file in the Name parameter of the Event Stream Processor (EspProjects) parameters section.

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 property 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 the ESP stream to which the adapter publishes 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 property as the adapter automatically detects the stream name.

MaxPubPoolSize

Type: positive integer

(Optional) Specifies the 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.

Block publishing (record pooling or batch publishing) is disabled if this value is set to 1. The default value is 256.

MaxPubPoolTime

Type: positive integer

(Optional) Specifies the 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. 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.

Event Stream Processor Parameters

Event Stream Processor parameters configure communication between Event Stream Processor and the Socket CSV Input adapter.

Parameter Description
EspProjects

Section containing parameters for connecting to Event Stream Processor.

EspProject

Section containing the Name and Uri parameters. 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 Event Stream Processor cluster. For example, esp://localhost:19011/ws1/p1.

Security

Section containing all the authentication parameters 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 espAuthType).

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

AuthType

Type: string

(Required) Specifies method used to authenticate to the 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 an 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.