IBM i (AS400) Connector

Configurations


Config

Default configuration

Parameters

Name Type Description Default Value Required

Name

String

The name for this configuration. Connectors reference the configuration with this name.

x 

Connection

The connection types that can be provided to this configuration.

x 

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit.

 

Connection Types

Config

AS400 Connection Management

Parameters
Name Type Description Default Value Required

URL

String

x 

UserID

String

x 

Password

String

x 

IASP

String

 

LibraryList

String

List of libraries, in addition to the library list associated with this user id. The libraries must be separated with comma and will be added to the top of the library list

 

License Url

String

License Url to license file location.

as400-license.lic

x 

Secure Connection

Boolean

Enable secure connection with AS400 over encrypted channel. Refer to https://www.infoviewsystems.com/2016/08/11/securely-connect-mule-to-ibm-i-as400

false

 

Socket Timeout

Number

Socket Timeout, ms. Default value of -1 means the default JVM SO_TIMEOUT will be used

-1

 

Time unit to be used for Socket Timeout

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Socket Timeout time unit

MILLISECONDS

 

Connection Retries

Number

Number of times to retry establishing the connection internally before throwing an exception and passing back to Mulesoft connection manager

3

 

Reconnection Period

Number

Time between internal reconnection retries, ms

60000

 

Time unit to be used for Reconnection Period

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Reconnection Period time unit

MILLISECONDS

 

Connection Time To Live

Number

Max time (seconds) that the connection can be used

0

 

Time unit to be used for Connection Time To Live

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Reconnection Period time unit

SECONDS

 

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn't pass after exhausting the associated reconnection strategy

 

Pooling Profile

Characteristics of the connection pool

 

Associated Sources

Operations

Command Call

<as400:command-call>

Execute OS400 (IBM i) command

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x 

Command

String

the AS400 command

#[payload]

 

Reconnection Strategy

A retry strategy in case of connectivity errors

 

For Configurations.

Throws

  • AS400:CONNECTION_FAILED  

  • AS400:RETRY_EXHAUSTED  

  • AS400:INVALID_LICENSE  

  • AS400:CONNECTIVITY  

  • AS400:COMMAND_CALL_FAILED  

Program Call Processor

<as400:program-call-processor>

Implementation of IBM i program call. Supports all simple data types, as well as data structures (use type = STRUCTURE) and arrays. Element of data structure cannot be a data structure or an array. Element of an array cannot be an array.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x 

Program or Service Program Name

String

name of the program

x 

Program Library

String

name of the program library

x 

Service Program Procedure Name

String

name of service program procedure

 

Procedure Returns Value

Boolean

indicator if the service program procedure returns the value

false

 

Thread Safe

Boolean

indicator if the program is thread safe

false

 

Call Timeout

Long

timeout of program call. By default the call timeout is 0 or negative - meaning no specific call timeout

-1

 

Call Timeout Unit

TimeUnit

call timeout time unit

MILLISECONDS

 

Parameters

Array of Parameter

list of ProgramCallParameter definitions and value references

 

Target Variable

String

The name of a variable on which the operation's output will be placed

 

Target Value

String

An expression that will be evaluated against the operation's output and the outcome of that expression will be stored in the target variable

#[payload]

 

Reconnection Strategy

A retry strategy in case of connectivity errors

 

Output

Type

Object

For Configurations.

Throws

  • AS400:PROGRAM_CALL_FAILED  

  • AS400:CONNECTION_FAILED  

  • AS400:RETRY_EXHAUSTED  

  • AS400:INVALID_LICENSE  

  • AS400:CONNECTIVITY  

  • AS400:PROGRAM_CALL_TIMEOUT  

Read Data Queue Processor

<as400:read-data-queue-processor>

TODO: @MediaType should be used in this method. Ro learn more about @MediaType see: https://docs.mulesoft.com/mule-sdk/v/1.1/return-media-type Data queue message reader - waits for specified period of time until the message arrives then times out. For keyed data queues, specify key and search type. The key will be saved into OutboundProperties parameter as400.dataqueue.key. The data queue message is saved into payload.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x 

Data Queue

String

the name of data queue

x 

Library

String

the name of library

x 

Key

String

the name of key

 

Key Search Type

Enumeration, one of:

  • EQUAL

  • NOT_EQUAL

  • LESS_THAN

  • LESS_THAN_OR_EQUAL

  • GREATER_THAN

  • GREATER_THAN_OR_EQUAL

the key search type

 

Max Wait Time

Number

the max wait time

0

 

Keep messages in Queue

Boolean

the keep messages in queue

false

 

Format File Name

String

Format file (AS400 table) name

 

Format File Library

String

Format file (AS400 table) library name

 

Target Variable

String

The name of a variable on which the operation's output will be placed

 

Target Value

String

An expression that will be evaluated against the operation's output and the outcome of that expression will be stored in the target variable

#[payload]

 

Reconnection Strategy

A retry strategy in case of connectivity errors

 

Output

Type

Any

Attributes Type

For Configurations.

Throws

  • AS400:DATA_QUEUE_READ_FAILED  

  • AS400:CONNECTION_FAILED  

  • AS400:RETRY_EXHAUSTED  

  • AS400:INVALID_LICENSE  

  • AS400:CONNECTIVITY  

Write Data Queue

<as400:write-data-queue>

Data queue message writer.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x 

Data Queue

String

the data queue

x 

Library

String

the name of library

x 

Data Entry

String

the data entry

#[payload]

 

Key

String

the key

 

Format File Name

String

the name of the external format file

 

Format File Library

String

the library where the external format file resides

 

DQ Entry Length

Number

0

 

DQ Key Length

Number

0

 

Reconnection Strategy

A retry strategy in case of connectivity errors

 

For Configurations.

Throws

  • AS400:DATA_QUEUE_WRITE_FAILED  

  • AS400:CONNECTION_FAILED  

  • AS400:RETRY_EXHAUSTED  

  • AS400:INVALID_LICENSE  

  • AS400:CONNECTIVITY  

Sources

Read Data Queue

<as400:read-data-queue>

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x 

Data Queue

String

x 

Library

String

x 

Key

String

 

Key Search Type

Enumeration, one of:

  • EQUAL

  • NOT_EQUAL

  • LESS_THAN

  • LESS_THAN_OR_EQUAL

  • GREATER_THAN

  • GREATER_THAN_OR_EQUAL

 

Keep messages in Queue

Boolean

false

 

Format File Name

String

 

Format File Library

String

 

Number of Consumers

Number

4

 

Connection retries

Number

Number of times to retry -1

 

Reconnection period

Number

Time between internal reconnection retries, ms 1000

 

Reconnection period time unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit to be used for reconnection period MILLISECONDS

 

Primary Node Only

Boolean

Whether this source should only be executed on the primary node when runnning in Cluster

 

Redelivery Policy

Defines a policy for processing the redelivery of the same message

 

Reconnection Strategy

A retry strategy in case of connectivity errors

 

Output

Type

Any

Attributes Type

For Configurations.

Types

Reconnection

Field Type Description Default Value Required

Fails Deployment

Boolean

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn’t pass after exhausting the associated reconnection strategy

Reconnection Strategy

The reconnection strategy to use

Reconnect

Field Type Description Default Value Required

Frequency

Number

How often (in ms) to reconnect

Count

Number

How many reconnection attempts to make

Reconnect Forever

Field Type Description Default Value Required

Frequency

Number

How often (in ms) to reconnect

Pooling Profile

Field Type Description Default Value Required

Max Active

Number

Controls the maximum number of Mule components that can be borrowed from a session at one time. When set to a negative value, there is no limit to the number of components that may be active at one time. When maxActive is exceeded, the pool is said to be exhausted.

Max Idle

Number

Controls the maximum number of Mule components that can sit idle in the pool at any time. When set to a negative value, there is no limit to the number of Mule components that may be idle at one time.

Max Wait

Number

Specifies the number of milliseconds to wait for a pooled component to become available when the pool is exhausted and the exhaustedAction is set to WHEN_EXHAUSTED_WAIT.

Min Eviction Millis

Number

Determines the minimum amount of time an object may sit idle in the pool before it is eligible for eviction. When non-positive, no objects will be evicted from the pool due to idle time alone.

Eviction Check Interval Millis

Number

Specifies the number of milliseconds between runs of the object evictor. When non-positive, no object evictor is executed.

Exhausted Action

Enumeration, one of:

  • WHEN_EXHAUSTED_GROW

  • WHEN_EXHAUSTED_WAIT

  • WHEN_EXHAUSTED_FAIL

Specifies the behavior of the Mule component pool when the pool is exhausted. Possible values are: "WHEN_EXHAUSTED_FAIL", which will throw a NoSuchElementException, "WHEN_EXHAUSTED_WAIT", which will block by invoking Object.wait(long) until a new or idle object is available, or WHEN_EXHAUSTED_GROW, which will create a new Mule instance and return it, essentially making maxActive meaningless. If a positive maxWait value is supplied, it will block for at most that many milliseconds, after which a NoSuchElementException will be thrown. If maxThreadWait is a negative value, it will block indefinitely.

Initialisation Policy

Enumeration, one of:

  • INITIALISE_NONE

  • INITIALISE_ONE

  • INITIALISE_ALL

Determines how components in a pool should be initialized. The possible values are: INITIALISE_NONE (will not load any components into the pool on startup), INITIALISE_ONE (will load one initial component into the pool on startup), or INITIALISE_ALL (will load all components in the pool on startup)

Disabled

Boolean

Whether pooling should be disabled

Expiration Policy

Field Type Description Default Value Required

Max Idle Time

Number

A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it’s considered eligible for expiration

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

A time unit that qualifies the maxIdleTime attribute

Data Queue Attributes

Field Type Description Default Value Required

Key

String

x

Redelivery Policy

Field Type Description Default Value Required

Max Redelivery Count

Number

The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message

Use Secure Hash

Boolean

Whether to use a secure hash algorithm to identify a redelivered message

Message Digest Algorithm

String

The secure hashing algorithm to use. If not set, the default is SHA-256.

Id Expression

String

Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false.

Object Store

The object store where the redelivery counter for each message is going to be stored.

Parameter

Field Type Description Default Value Required

Parameter Name

String

x

Data Type

Enumeration, one of:

  • BIGINTEGER

  • BINARY

  • BYTEARRAY

  • DATE

  • FLOAT

  • INTEGER

  • PACKED

  • STRING

  • STRUCTURE

  • SHORT

  • TIME

  • TIMESTAMP

  • UNSIGNEDBINARY

  • ZONED

x

Length

Number

0

Decimal Positions

Number

0

Usage

Enumeration, one of:

  • IN

  • OUT

  • INOUT

x

Count

Number

1

Data Structure Elements

Array of Parameter

Parm Value

Any