HTTP Connector

The HTTP Connector resource template represents an incoming HTTP connection. HTTP connectors are used by a service's SOAP binding, REST Binding and also by the WebApp component.

General
Field Required? Editable? Accepts SVars? Description
Machine Name Y N N

The name of the machine that accepts the incoming requests.

Note: In the Docker container, the IP address of the HTTP Connector is different and points to the hostname of the container. By default, the container is assigned an IP address for every Docker network it connects to. Therefore, the default value 0.0.0.0 is not editable.

Default: 0.0.0.0

Port Y Y Y

The port number on which to listen for incoming requests.

Default: 7777

Accept Queue Size N Y Y The number of incoming requests that can be queued before additional requests are rejected.

Default: 0, which indicates that the JVM must use the default value for the Accept Queue Size property.

Oracle JVM default value: 50

Acceptor Threads N Y Y

The number of threads dedicated to processing incoming connection requests.

Ideally, you should have enough acceptor threads so that one thread is always available when needed, but the thread count does not cause a burden on the system. The threads are started when the HTTP Connector resource is installed on a node.

After an acceptor thread accepts the connection, the request to the work thread pool is queued and the next connection request is processed.

In general, the number of acceptor threads should be kept low. A good rule of thumb is that the number of acceptor threads should not be greater than twice the number of processors.

To enable the "Acceptor Threads", you need to uncheck the "Use Non-Blocking IO Sockets" on the Advanced Tab.

Default: 1 and 20

SSL
Field Required? Editable? Accepts SVars? Description
Enable SSL N N N Indicates that SSL connections must be enabled. When selected, the SSL Certificate Source field is enabled.

Default: Cleared

SSL Server Provider N Y Y

The name of an SSL Server Provider resource.

Default: <None>

Advanced
Field Required? Editable? Accepts SVars? Description
Low Resources Max Idle Time (ms) N Y Y The period that a connection is allowed to be idle when there are more than (the number of) Low Resources Connections.

Default: -1. There is no timeout.

Idle Timeout (ms) N Y Y (New property in Jetty 9) The idle timeout, in milliseconds, for I/O operations during the handling of a HTTP request. The max idle time is applied to a HTTP request for I/O operations and delayed dispatch.

Default: 200000 ms

Request Header Size (B) N Y Y

(New property in Jetty 9) The maximum size of a request header.

Larger headers allow for more and/or larger cookies plus larger form content encoded in a URL. However, larger headers consume more memory and can make a server more vulnerable to denial of service attacks.

Default: 4096 bytes

Response Header Size (B) N Y Y

(New property in Jetty 9) The maximum size of a response header.

Larger headers allow for more and/or larger cookies and longer HTTP headers (for example, for redirection). However, larger headers also consume more memory.

Default: 4096 bytes

Output Buffer Size (B) N Y Y

(New property in Jetty 9) The size of the buffer into which response content is aggregated before being sent to the client.

A larger buffer can improve performance by allowing a content producer to run without blocking. However, larger buffers consume more memory and may induce some latency before a client starts processing the content.

Default: 24576 bytes

Linger Time (ms) N Y Y The time to delay before a socket resets. Before a socket terminates a connection, it can linger, allowing unsent data to be transmitted or it can reset, which means that all unsent data is lost.

Default: -1 (that is, there is no delay before resetting.)

Use Non-Blocking IO Sockets N N N

Indicates whether to use non-blocking or blocking IO.

  • In the non-blocking IO, the thread reads whatever data is available and returns to perform other tasks.

  • In the blocking IO, the thread does not perform a read operation until all the data is available.

Default: Checked

Restriction: Due to a bug in the Oracle JVM version 1.6, non-blocking IO does not work when the Machine Name field contains an iPV6 address or when the machine name resolves only to an IPv6 address. If the machine name resolves to an IPv4 and an IPv6 address, the IPv4 address is used and non-blocking IO works correctly. Because of this limitation, you should either use blocking IO or use IPv4 addresses for connectors with non-blocking IO.
Use Direct Buffers N N N Indicates whether to use direct buffers with non-blocking IO. Some JVMs have memory management issues with direct buffers.

Default: Checked

Worker Thread Pool N Y Y

The name of a Thread Pool resource containing the threads used to handle the HTTP request.

Note: When undefined, a thread pool with Max Pool Size set to 250 is created.

Default: None