Message Sources and Polls

To poll and enqueue messages from external sources like file systems and SFTP, Platform uses Message Source and Message Source Poll models. The following tables outline all fields for these models:

Table 16.4. MessageSource Fields

Field

Description

ValueChainId

Value Chain which owns the MessageSource. (KEY field)

Name

Identifying name of the source (KEY field)

EnterpriseName

The MessageSource can optionally be scoped by a parent Enterprise. (optional KEY field)

SourceType

Supports values "File" for enqueuing directly from a file system and "SFTP" for enqueuing from an SFTP server.

Config

Configuration passed to the MessageSource; expected values are specific to the SourceType.

For type "File", this should be a JSON of the form:

{ srcDir: '${SharedFileSystemRoot}/inboxes/router/Retailer1Test' }

(Note that ${SharedFileSystemRoot} is a well-known variable replacement that is aliased to the root of the shared filesystem of the platform cluster.)

For type "SFTP", this should be a JSON of the form:

{ host: 'mysftp.com', port: 22, Username: 'foo', Password: 'bar', polledDir: '/my/polleddir', sftpLib:'jsch' }


Table 16.5. MessageSourcePoll Fields

Field

Description

ValueChainId

Value Chain which owns the MessageSourcePoll. (KEY field)

Name

Identifying name of the source poll (KEY field)

EnterpriseName

The MessageSourcePoll can optionally be scoped by a parent Enterprise. (optional KEY field)

MessageSourceName

Name of MessageSource from which Messages should be picked up on a polled basis.

MessageSourceEnterpriseName

Enterprise of MessageSource from which Messages should be picked up on a polled basis, iff that source is scoped by Enterprise.

GroupName

Polling is done first by MessageSource; within a MessageSource, different MessageSourcePolls are then grouped by GroupName. Within a given GroupName, if the enqueue of messages fails for some reason, then any subsequent MessageSourcePolls for that same group will be skipped. MessageSourcePolls without a GroupName will be evaluated separately, without dependency.

Precedence

Within a GroupName, determines the order in which polling occurs.

InboundQueueName

Name of InboundQueue into which Message should be placed containing this file's content

InboundQueueEnterpriseName

Enterprise of InboundQueue into which Message should be placed containing this file's content, iff the queue is scoped by Enterprise.

InboundInterface

InboundInterface to be used to process the Message create

InboundInterfaceVersion

InboundInterface version to be used to process the Message created

IncludeExpr

When provided, only files matching this expression will be included; when omitted, all files are considered "included".

ExcludeExpr

When provided, any files matching this expression will be excluded (even if it matched the "IncludeExpr").