Web container settings

Use this page to configure the web container settings.

To view this administrative console page, click Servers > Server Types > WebSphere application servers > server_name > Web Container Settings > Web container.

Default virtual host

Specifies a virtual host that enables a single host machine to resemble multiple host machines. Resources that are associated with one virtual host cannot share data with resources that are associated with another virtual host, even if the virtual hosts share the same physical machine.

Select a virtual host option:

default_host
The product provides a default virtual host with some common aliases such as the machine IP address, short host name, and fully qualified host name. The alias comprises the first part of the path for accessing a resource such as a servlet. For example, it is localhost:9080 in the request http://localhost:9080/myServlet.
admin_host
This virtual host option is another name for the application server; also known as server1 in the base installation. This process supports the use of the administrative console.
proxy_host
The virtual host called proxy_host, includes default port definitions, port 80 and 443, which are typically initialized as part of the proxy server initialization. Use this proxy host as appropriate with routing rules associated with the proxy server.

Enable servlet and command caching

Specifies that if a servlet is started and it generates output to be cached, a cache entry is created containing not only the output, but also side effects of the invocation. These side effects can include calls to other servlets or JavaServer Pages (JSP) files and metadata about the entry, including timeout and entry priority information.

Portlet fragment caching requires that servlet caching is enabled. Therefore, enabling portlet fragment caching automatically enables servlet caching. Disabling servlet caching automatically disables portlet fragment caching.

Disable servlet request and response pooling

Specifies to disable the pooling of servlet request and servlet response objects that are pooled by the web container. When you disable pooling of servlet request and servlet response objects, new servlet request and servlet response objects are created for each request.

When you disable pooling of servlet request and servlet response objects, new servlet request and servlet response objects are created for each request, which can negatively affect performance, but provides protection from any unforeseen pooling bugs.

Enable API discovery service

Specifies to gather information about applications deployed on the server and make it available as Swagger documents.

The API discovery service enables you to find REST APIs within the server. You can get a Swagger document with information about the REST APIs.

Number of timeout threads

Specifies the number of threads that are available to handle asynchronous servlet timeout operations per server.

The default of two might be too low if you have many applications using asynchronous servlets that often have timeouts.

Default timeout

Specifies the default asynchronous servlet timeout for the server.

The default of 30 seconds can be lowered if responses are not being received quickly enough and there is a viable fall back in the error case. You can raise the value if too many timeouts are being received and the longer timeout produces responses in an acceptable manner to the client. The units are in millisecond, so multiply the number by 1000 to convert to seconds. To configure at a higher granularity, you must use the AsyncContext setTimeout method programmatically.

Use thread pool to start Runnable objects

Select this option to use the same thread pool where the request originates. This option does not propagate any context from the original request.

Use a work manager to start Runnable objects

Select this option to use a work manager to start the runnable. This option is the default selection. The work manager option propagates any context that is configured for the selected work manager. This option also requires selecting the JNDI name of the work manager that you use.

Considerations when using a work manager:
  • The context that is propagated is configurable under Resources > Concurrency > Work managers. You can also create new work managers on the same panel.
  • The WebSphere® Application Server default Work Manager is used unless you specify otherwise. This might not be desirable as other components might be using the work manager and effectively decreasing the number of threads that are available at one time.
  • To make changes to the work manager settings, it is recommended that you create a work manager so changes to defaults do not affect other components.
  • If you have a work manager configured to throw exceptions when the work queue is full, then an exception of type IllegalStateException is thrown to the caller of start(Runnable) and the caller is responsible for handling the exception.