uCosminexus Application Server, Expansion Guide
Implement the settings of J2EE server in Easy Setup Definition file. Specify the definitions of the database session failover functionality in the configuration tag of a logical J2EE server (j2ee-server) in the Easy Setup definition file.
The following table describes the definitions of the database session failover functionality in Easy Setup definition file.
Table 6-39 Definitions of the database session failover functionality in Easy Setup definition file
| Item | Parameter to be specified | Settings | Reference location |
|---|---|---|---|
| Setting of the database session failover functionality | webserver.dbsfo.enabled | Set in the unit of J2EE server whether to use the database session failover functionality. | -- |
| Specifying optional name of DB Connector | webserver.dbsfo.connector.name | Specify optional name of DB Connector to be set in DB Connector. For details on setting optional name of DB Connector, see 6.9.2 Specifying optional name of DB Connector. |
-- |
| Setting maximum size of HTTP session attribute information that you can include in global session information | webserver.dbsfo.attribute_data_size.max | Set maximum size of HTTP session attribute information that you can include in global session information. | -- |
| Setting of functionality for estimating the size of HTTP session attribute information | webserver.dbsfo.check_size.mode | Set whether to use functionality for estimating the size of HTTP session attribute information. | -- |
| Setting integrity mode | webserver.dbsfo.integrity_mode.enabled#1 | Set whether to enable integrity mode of the database session failover functionality. | -- |
| Setting memory used in serialize processing | -- | Consider the memory used in serialize processing and perform tuning of JavaVM#2. | -- |
| Setting of inhibiting the database session failover functionality by using extension | webserver.dbsfo.exclude.extensions | If you want to use the database session failover functionality in the unit of J2EE server, set the extensions that inhibit database session failover functionality. | -- |
| Setting of Inhibiting the database session failover functionality in the unit of URI | webserver.dbsfo.exclude.uris | If you want to use the database session failover functionality in the unit of J2EE server, set the URIs that inhibit the database session failover functionality. | (1) |
| Setting refer-only requests | webserver.dbsfo.session_read_only.uris | Set URI to be treated as refer-only requests. | (2) |
| Setting server ID addition functionality of HttpSession |
|
Set server ID addition functionality of HttpSession. Set different values as server IDs for each replicated J2EE server. | -- |
| Setting if pending queues are insufficient when using the functionality for controlling the number of concurrent execution threads | webserver.dbsfo.thread_control_queue.enabled | When the functionality that controls the number of concurrent execution threads in the unit of a Web application is enabled, set operations to be performed when free space in pending queues is insufficient. | -- |
| Setting of processing of starting a Web application when negotiation fails | webserver.dbsfo.negotiation.high_level | Set whether to continue or cancel the processing of starting a Web application when negotiation fails. | -- |
| Setting of exceptions thrown when using HTTP session in the requests targeted for inhibiting the database session failover functionality | webserver.dbsfo.exception_type_backcompat | Set exceptions to be thrown when using HTTP session in the requests targeted for inhibiting the database session failover functionality. | -- |
For details on the Easy Setup definition file and parameters to be specified, see 4.6 Easy Setup definition file in the uCosminexus Application Server Definition Reference Guide.
This subsection describes how to specify a URI when inhibiting the database session failover functionality in the unit of URI.
Specify a URI, which includes the context path and starts with a forward slash (/). Do not include path parameter, query, or fragment. Note that you cannot use a semicolon (;) in URI of set values.
If you want to specify multiple URIs, separate them with semicolons (;).
You can specify by using one of the following methods:
The specified URI is targeted for inhibiting the database session failover functionality only if it exactly matches with the request URI.
:
configuration
logical-server-typej2ee-server/logical-server-type
param
param-namewebserver.dbsfo.exclude.uris</param-name>
param-value/examples/test/TestServlet;/examples/test2/TestServlet2/param-value
/param
configuration
:
In this example, the following request URIs are targeted for inhibiting the database session failover functionality:
If request URI and prefix match, it is targeted for inhibiting the database session failover functionality.
:
:
In this example, the following request URIs are targeted for inhibiting the database session failover functionality:
Note that URI specification must end with a forward slash and an asterisk (/*) in the case of prefix match specification. For example, if you specify the following URI, it is considered for exact match specification and not for prefix match specification.
URIs to be targeted for inhibiting the database session failover functionality must be specified after normalizing. If you specify a URI that is not normalized, the KDJE34341-W message is output and the corresponding URI is not targeted for inhibiting.
An example of normalized URI is:
Examples of URIs that are not normalized, are as follows. These URIs are not targeted for inhibiting.
If you specify a URL encoded URI as a target for inhibiting, requests of URL encoded URL that match with the specified URI, are targeted for inhibiting the database session failover functionality. Similarly, if you specify a URI for which URL encoding is not performed, requests of URL, for which URL encoding is not performed, are targeted for inhibiting the database session failover functionality.
However, if you use URI decode functionality, whether the target URL is to be targeted for inhibiting the database session failover functionality according to URI is determined after decoding is performed. Hence, if a URL encoded URL matches with the URI specified as a target of inhibiting, the URL is targeted for inhibiting the database session failover functionality in the unit of URI.
The following table describes URLs that are targeted for inhibiting depending on enabled/disabled status of URI decode functionality.
Table 6-40 URL that are targeted for inhibiting depending on enabled or disabled state of the URI decode functionality
| Property set value |
Request URL | |||
|---|---|---|---|---|
| URI decode function enabled | URI decode function disabled | |||
| Encoded | Not encoded | Encoded | Not encoded | |
| Encoded | Does not inhibit | Does not inhibit | Inhibits | Does not inhibit |
| Not encoded | Inhibits | Inhibits | Does not inhibit | Inhibits |
For details of URI decode functionality, see 2.22 URI decode functionality in the uCosminexus Application Server Web Container Functionality Guide.
URIs that are set for inhibiting the database session failover functionality by URI, are not checked in negotiation. Therefore, check that URIs set on each J2EE server are the same.
This subsection describes how to specify a URI when setting refer-only requests.
Specify a URI that includes the context path and starts with a forward slash (/). Do not include path parameter, query, or fragment. You can specify up to 512 characters. Note that you cannot use a semicolon (;) in URI of set values.
If you want to specify multiple URIs, separate them with semicolons (;).
You can specify by using one of the following methods:
Only if the specified URI exactly matches with the request URI, it becomes a refer-only request.
:
configuration
logical-server-typej2ee-server/logical-server-type
param
param-namewebserver.dbsfo.session_read_only.uris/param-name
param-value/examples/test/TestServlet;/examples/test2/TestServlet2/param-value
/param
configuration
:
In this example, the following request URIs become refer-only requests:
http://host/examples/test/TestServlet http://host/examples/test/TestServlet?name=value http://host/examples/test/TestServlet;gsessionid=XXXXXXXXXX
If the prefix matches with the request URI, it becomes a refer-only request.
:
<configuration>
logical-server-typej2ee-server/logical-server-type
param
param-namewebserver.dbsfo.session_read_only.uris/param-name
param-value/examples/*/param-value
/param
configuration
:
In this example, the following request URIs become refer-only requests:
Note that URI specification must end with a forward slash and an asterisk (/*) in the case of prefix match specification. For example, if you specify the following URI, it is considered for exact match specification and not for prefix match specification.
A URI that you want to make a refer-only request, must be normalized and specified. If you specify a URI that is not normalized, the KDJE34357-W message is output and the corresponding URI does not become a refer-only request.
An example of normalized URI is:
Examples of URIs that are not normalized, are shown below. These URIs do not become refer-only requests.
If you specify a URL encoded URI as a refer-only request, the request of URL encoded URL tjat matches with the specified URI, becomes a refer-only request. Similarly, if you specify a URI that is not to be URL encoded, the request of URL that is not URL encoded becomes a refer-only request.
However, if you use URI decode functionality, whether the target URL is a refer-only request according to URI is determined after decoding is performed. As a result, if a URL encoded URL matches with the URI specified as a refer-only request, the URL becomes a refer-only request in URI unit.
The following table describes URLs that become refer-only requests depending on enabled/disabled status of URI decode functionality.
Table 6-41 URLs that become refer-only requests depending on enabled/disabled status of URI decode functionality
| Property set value |
Request URL | |||
|---|---|---|---|---|
| URI decode function enabled | URI decode function disabled | |||
| Encoded | Not encoded | Encoded | Not encoded | |
| Encoded | Does not become a refer-only request | Does not become a refer-only request | Becomes a refer-only request | Does not become a refer-only request |
| Not encoded | Becomes a refer-only request | Becomes a refer-only request | Does not become a refer-only request | Becomes a refer-only request |
For details of URI decode functionality, see 2.22 URI decode functionality in the uCosminexus Application Server Web Container Functionality Guide.
All Rights Reserved. Copyright (C) 2013, 2015, Hitachi, Ltd.