uCosminexus Application Server, Expansion Guide
This subsection describes the application negotiation processing executed when an application starts and the application identifiers used in application negotiation processing.
With a Web application that uses the database session failover functionality, negotiation processing is executed when you start an application.
With negotiation processing, the following contents are checked:
The result of negotiation processing determines whether a Web application will start.
The following table describes the relation between the result of negotiation processing and the Web application states.
Table 6-6 Relation between the result of negotiation processing and the Web application states
| Result of negotiation processing | Web application state | Cause of negotiation failure | Output message |
|---|---|---|---|
| Successful (no problem in checked contents) | Started | -- | KDJE34306-I |
| Failed (there is a problem in checked contents) | Not started | Web application is not matching. | KDJE34340-E |
| Not started# | Web application settings are not matching. | KDJE34307-E | |
| Started# | KDJE34358-I | ||
| Not started | J2EE server settings are not matching. | KDJE34307-E | |
| Not started | Required tables do not exist in the database. | KDJE34308-W | |
| Not started | Contents of the existing table are not the contents of the table for the database session failover functionality. | KDJE34309-E | |
| Not started | Existing table is used by another application. | KDJE34340-E |
If other confirmation contents are not matching, Web applications do not start.
If you set to stop the processing of starting a Web application, make sure to specify a valid value (1 or greater) as the upper limit of the number of HttpSession objects.
If an error occurs while accessing the database during negotiation processing, the KDJE34312-W message is output to the message log.
This subsection describes the contents checked in negotiation.
Table 6-7 Items used for confirming whether web applications are matching
| Sr. No. | Confirmation item |
|---|---|
| 1 | Application identifier# |
| 2 | J2EE application name |
| 3 | Web application name (context root name) |
# For details on application identifier, see (2) Application identifier.
Table 6-8 Items used for confirming whether the settings of each Web application are matching
| Sr. No. | Confirmation item |
|---|---|
| 1 | Upper limit of the number of HttpSession objects |
| 2 | Maximum size of HTTP session attribute information that you can include in global session information |
| 3 | Validity of HTTP sessions defined in DD (web.xml) |
| 4 | Extensions that inhibit the database session failover functionality |
Table 6-9 Items used for confirming whether the settings of each J2EE server are matching
| Sr. No. | Confirmation item |
|---|---|
| 1 | Settings of integrity mode |
| 2 | Settings of refer-only requests |
| 3 | Settings if pending queues are insufficient when using the functionality for controlling the number of concurrent execution threads |
| 4 | Settings of exception when executing the getSession method in the requests targeted for inhibiting the database session failover functionality |
Table 6-10 Conditions for checking that the database settings are correct
| Sr. No. | Condition |
|---|---|
| 1 | Required tables exist in the database. |
| 2 | Contents of existing table are the contents of the table used for the database session failover functionality. |
| 3 | Existing tables are not used in other applications. |
First of all, settings of a Web application that succeeds in negotiation processing are stored in the application information table in the database. Stored settings are treated as correct preference information used in negotiation confirmation.
Therefore, if you want to change the settings of a Web application, you must delete the preference information already stored in the database that is related to a Web application targeted to make changes. For details on the procedures for changing the settings, see 6.10. Changing settings related to the database session failover functionality.
The Application identifier is a name used for recognizing clustered Web applications when using the database session failover functionality. By default, the system automatically generates application identifiers.
An application identifier is used in negotiation for checking whether Web applications are matching. Therefore, an application identifier must satisfy the following conditions:
If an application identifier, which is automatically generated by the system, does not satisfy a condition, you need to define values that satisfy the conditions. For details on how to define an application identifier, see 6.5 Definitions in cosminexus.xml.
The following subsections describe the rules for automatically generating an application identifier and examples of automatically generated application identifiers.
By default, a string based on context root name is automatically set in application identifiers. If an application identifier is automatically generated, the applicable value is output to the message log with the KDJE34302-I message, when starting a Web application.
The following rules are applied when automatically generating an application identifier on the basis of context root name:
If you apply the rules for automatic generation, an application identifier might not remain unique in the system. In that case, the second Web application, to which the same application identifier is set, fails in negotiation when starting and does not start. Therefore, it is essential to set an application identifier that unique in the system, for Web applications.
The following table shows examples of default application identifiers, which are automatically generated from context root name.
Table 6-11 Examples of automatically generated default application identifiers
| Sr. No. | Context root name | Application identifier | Rules applied when creating |
|---|---|---|---|
| 1 | /examples | examples | Delete forward slash (/) at the beginning |
| 2 | /App01/test1 | App01_test1 |
|
| 3 | /WebApplication_001 | WebApplication_0 |
|
| 4 | /examples/WebApplication | examples_WebAppl |
|
| 5 | / | ROOT | Because it is root context, change to ROOT |
All Rights Reserved. Copyright (C) 2013, 2015, Hitachi, Ltd.