uCosminexus Application Server, Expansion Guide

[Contents][Index][Back][Next]

6.4.1 Processing when starting an application

This subsection describes the application negotiation processing executed when an application starts and the application identifiers used in application negotiation processing.

Organization of this subsection
(1) Application negotiation processing
(2) Application identifier

(1) 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

Legend:
--: Not applicable

#
For the following confirmation items, if you have set different values in a Web application to be started and the same Web application on another J2EE server, you can select whether to continue or stop the processing of starting a Web application by specifying the webserver.dbsfo.negotiation.high_level parameter in the configuration tag of a logical J2EE server (j2ee-server) in the Easy Setup definition file.

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.

(a) Contents checked in negotiation processing (the database session failover functionality)

This subsection describes the contents checked in negotiation.

(b) Settings of a Web application that are checked in negotiation

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.

(2) Application identifier

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.

Note
If the same application identifier is set to different Web applications, the second Web application fails in negotiation when starting and does not start.
(a) Rules for automatically generating an application identifier

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.

(b) Examples of automatically generated application identifiers

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
  • Delete forward slash (/) at the beginning
  • Replace a forward slash (/) in between with an underscore (_)
3 /WebApplication_001 WebApplication_0
  • Delete forward slash (/) at the beginning
  • Delete 17th and later characters
4 /examples/WebApplication examples_WebAppl
  • Delete forward slash (/) at the beginning
  • Replace a forward slash (/) in between with an underscore (_)
  • Delete 17th and later characters
5 / ROOT Because it is root context, change to ROOT