Using the Sun TCP/IP JCA Adapter

TCP/IP Outbound Settings

The TCP/IP Outbound properties specify general and socket settings (Java Socket Options) for the TCP/IP JCA Adapter.

Connection Type

Default: Client

Choices include:

Client

The adapter is in active mode, connecting to an external TCP/IP server (host/port).

Server

The adapter is in passive mode, listening on a particular port for an incoming connection request from an external TCP/IP client.

ServerSoTimeout

Default: 60000 (millseconds); in other words, one minute

Applies only when Connection Type is set to Server.

Gets or sets the value of the SO_TIMEOUT socket option for the ServerSocket, used for ServerSocket.accept(). A value of 0 is interpreted as an infinite timeout.

To have effect, this option must be enabled prior to entering the blocking operation. When it is set to a nonzero timeout, calling accept() for ServerSocket blocks for only the specified number of milliseconds. If the timeout expires, a java.net.SocketTimeoutException or java.net.InterruptedIOException is thrown, even though the ServerSocket remains valid.

Keep Alive

Default: true

Choices include:

true

The SO_KEEPALIVE socket option is enabled: After prolonged period of inactivity, a keepalive probe is sent automatically, and the socket is either kept open (if the probe fetches an ACK response) or closed (if the probe fetches a RST response or no response).

false

The SO_KEEPALIVE socket option is disabled.

Receive Buffer Size

Default: 8192 (bytes)

Gets or suggests the size of the client's SO_RCVBUF socket option; in other words, the buffer size used by the platform for input on the socket.

Send Buffer Size

Default: 8192 (bytes)

Gets or suggests the size of the client's SO_SNDBUF socket option; in other words, the buffer size used by the platform for output on the socket.

SoLinger

Default: true

Choices include:

true

Enables the SO_LINGER socket option, causing a nonzero SoLinger Timeout value to be applied (see below)

false

Disables the SO_LINGER socket option.

SoLinger Timeout

Default: 30 (seconds)

Effective maximum is 65535 (in other words, 18.2 hours); values above 65535 are treated as if they were 65535.

If SoLinger is set to true (see above), this specifies the number of seconds to block a close() in order to allow for graceful transmission and acknowledgment of all data written. Reaching the timeout value, or setting it to 0, results in a forceful termination with a TCP RST.

SoTimeout

Default: 10000 (milliseconds); in other words, 10 seconds

Gets or sets the value of the SO_TIMEOUT socket option, used for read(). A value of 0 is interpreted as an infinite timeout.

To have effect, this option must be enabled prior to entering the blocking operation. When it is set to a nonzero timeout, a read() call on the input stream blocks for the specified number of milliseconds. If the timeout expires, a java.net.SocketTimeoutException or java.net.InterruptedIOException is thrown, even though the ServerSocket remains valid.

TcpNoDelay

Default: false

Choices include:

false

Disables the TCP_NODELAY option Per Nagle's algorithm, data packets are not sent until the maximum transmission unit (MTU) value is achieved.

true

Enables the TCP_NODELAY option. Data packets are sent out immediately, even if they have not filled the MTU.

Socket Factory Implementation Class Name

Default: com.stc.connector.tcpip.model.factory.TCPIPSocketFactoryImpl

Specifies the name of the Java class that implements the client socket factory. Allows the user to specify a custom implementation. The class must implement the interface com.stc.connector.tcpip.model.factory.TCPIPSocketFactory.

Host

Default: localhost

Applies only when Connection Type is set to Client.

Specifies the hostname or IP address to use for establishing a TCP/IP connection

Port

Default: 8888

Specifies the port number of the TCP/IP destination, a number from 0 through 65535. If the Connection Type is set to Client, this indicates the port number on the external TCP/IP host. If the Connection Type is set to Server, this indicates the port on which the local host is listening.

Backlog

Default: 50

Applies only when Connection Type is set to Client.

Specifies the maximum length of the queue when creating the ServerSocket; if a connection indication arrives when the queue is full, the connection is refused.