TCPIP Server policy (TCPIPServer)
Attach a TCP/IP Server policy to one or more TCP/IP nodes in a message flow to control connection details to a TCP/IP server at run time.
You use a TCP/IP server node in a message flow to create a server connection to a raw TCP/IP socket, and to send or receive data over the connection to or from an external application. The TCPIPServerOutput node listens on a TCP/IP port and waits for a client node to make a connection with the port. When the client node connects to the port, the server node creates a connection for the client. The connections are not made directly by the node but are obtained from a connection pool that is managed by an integration server. The integration server uses the default TCPIP Server policy to determine which attributes are used for the socket connection. However, if the policy is set on the node, the policy is used for all the properties, including the host and port number.
mqsireportproperties INODE -c TCPIPClient -o AllReportableEntityNames -r
To
attach a TCPIP Server policy to a TCPIP Server node, set the Connection details property of the TCPIPServerInput, TCPIPServerOutput, or TCPIPServerReceive node to
the name of the policy, in the format {policyProjectName}:policyName
.
You must deploy this policy before the associated message flow is
started.
If you redeploy a TCPIPServer policy, all message flows that are using the policy are stopped and restarted.
Property | Property name in .policyxml file | Value |
---|---|---|
Port number | Port | This property specifies the port number to use for this policy.
The default value is 0 (zero), which means no port number is used.
By default, the policy is not used and the value of the port that
is provided on the node is used instead. A port number can be assigned to only one policy at a time; if you try to assign a port number to more than one policy, an error occurs. Value type: Integer |
SSL protocol | SSLProtocol | This property specifies the SSL protocol to use. Valid
values are:
Note: SSLv3 is disabled by default in IBM® App Connect Enterprise 13.0, because SSLv3 is no longer considered secure.
For more information, see Migrating a flow that uses SSLv3.
Value type: String |
Cipher suites | SSLCiphers | This property consists of a semicolon-delimited list of
cipher suites that can be used for the SSL handshake. The default
value Value type: String |
SSL client authentication | SSLClientAuth | This property specifies whether the client must provide authentication
information about itself. Valid values are:
Value type: String |
SSL key alias | SSLKeyAlias | This property specifies the key alias that identifies the key
in the integration server keystore that
is to be used for the SSL connection. Set this property if your keystore
contains more than one key. The default value ("",
or none) indicates that an SSL key alias is
not used. Any other string value identifies the alias. Note: If the keystore contains more than one key, and no key alias is defined, the
Java™ virtual machine arbitrarily chooses a key at run time.
Value type: String |
Maximum number of connections | MaximumConnections | This property specifies the maximum number of server connections
that can be made on this port. The default value is 100. Value type: Integer |
Maximum record size (bytes) | MaxReceiveRecordBytes | This property specifies the maximum size that a record can
reach before an exception is issued. The default value is 100000000,
which means that the integration server accepts
messages with a maximum size of 100 MB. The record size is taken to
be the size of the data, including any delimiters. Value type: Integer |
Connection expiry time (seconds) | ExpireConnectionSec | This property specifies the length of time (in seconds) that
a connection is kept open without being used. The value can be any
integer. A value of 0 (zero) causes the connection
to be closed immediately. This property has a default value of -1,
which causes the connection to remain open indefinitely without expiring. Value type: Integer |
SO_RCVBUF | SO_RCVBUF | This property specifies the size (in bytes) of the SO_RCVBUF property
on the socket. Valid values vary according to the operating system
that you are using. This property is a standard TCP/IP property. The
default value is 0 (zero), which sets the size
of the SO_RCVBUF property to the operating system
default. Value type: Integer |
SO_SNDBUF | SO_SNDBUF | This property specifies the size (in bytes) of the SO_SNDBUF property
on the socket. Valid values vary according to the operating system
that you are using. This property is a standard TCP/IP property. The
default value is 0 (zero), which sets the size
of the SO_SNDBUF property to the operating system
default. Value type: Integer |
SO_KEEPALIVE | SO_KEEPALIVE | This property specifies the value of the KEEPALIVE property
on the socket. If the value is set to True,
the socket checks that it is still connected after a specified time.
The length of time depends on the TCP/IP implementation on the operating
system, but is typically two hours. Keep-alive processing works only
if the underlying operating system supports SO_KEEPALIVE.
This property is a standard TCP/IP property. The default value is False,
which means that no keep-alive processing is completed. Value type: Boolean |
TCP_NODELAY | TCP_NODELAY | This property specifies the value of the TCP_NODELAY property
on the socket. This property has a default value of True,
which means that the socket sends data as soon as it is sent to its
buffer. Value type: Boolean |
Traffic class | TrafficClass | This property specifies the traffic class on any connection
that is established. Valid values are positive integers. The default
value is -1, which leaves the traffic class
set to the operating system default. Value type: Integer |
SO_LINGER | SO_LINGER | This property specifies the SO_LINGER property
on any connection that is established. This
property is a standard TCP/IP property. The default value is False. Value type: Boolean |
SO_LINGER_TIMEOUT_SEC | SO_LINGER_TIMEOUT_SEC | This property specifies the SO_LINGER_TIMEOUT_SEC property
on any connection that is established. This property is a standard
TCP/IP property. Valid values are positive integers. The default value
is -1, which leaves the SO_LINGER_TIMEOUT_SEC value
set to the operating system default. Value type: Integer |
Close with unprocessed data | CloseWithUnprocessedData | This property specifies whether the integration node reads
ahead up to 1 MB on the stream to look for TCP/IP closure events from
the steam. If a closure event is found, the connection is allowed
to close if it is not owned by an input node. This process is used
by flows that contain connections that are owned by receive nodes
to respond to TCP/IP closure events, even if execution never proceeds
to another receive node (for example, if the flow's input node is
idle when the close occurs). This property has a default value of False. Value type: Boolean |