uCosminexus Application Server

Expansion Guide

3020-3-Y08-20(E)


Contents

Notices
Summary of amendments
Preface

1. Application Server Functionality
1.1 Classification of functionality
1.1.1 Functionality as an application execution platform
1.1.2 Functionality for operating and maintaining an application execution platform
1.1.3 Functionality and corresponding manuals
1.2 Functionality corresponding to the purpose of the system
1.2.1 Functionality used when executing batch applications
1.2.2 Functionality for scheduling Enterprise Beans using CTM
1.2.3 Other extended functionality
1.3 Description of the functionality described in this manual
1.3.1 Meaning of classification
1.3.2 Example of tables describing the classification
1.4 Main updates in the functionality of Application Server 09-50

2. Executing Applications by Using Batch Servers
2.1 Organization of this chapter
2.2 Overview of the execution environment of batch applications
2.2.1 Systems executing batch applications
2.2.2 Procedure for operating batch servers and batch applications
2.2.3 Setup and operation of the batch application execution environment
2.2.4 Using multibyte characters
2.3 Batch application execution functionality
2.3.1 Overview of the batch application execution functionality
2.3.2 Executing batch applications
2.3.3 Forcefully stopping a batch application
2.3.4 Displaying list of batch application information
2.3.5 Log output of a batch application
2.3.6 Executing commands used in a batch application
2.3.7 Implementing a batch application (Batch application creation rules)
2.3.8 Implementing a batch application (When connecting to resources)
2.3.9 Implementing a batch application (when accessing EJB)
2.3.10 Settings in the execution environment (batch server settings)
2.3.11 Points to be considered when creating a batch application
2.4 EJB access functionality
2.4.1 Functionality that you can use with EJB access
2.4.2 Settings in the execution environment (Batch server settings)
2.5 Naming management functionality
2.5.1 Naming management functionality that you can use on a batch server
2.5.2 Settings in the execution environment (Batch server settings)
2.6 Overview of resource connections and transaction management
2.7 Resource connection functionality
2.7.1 Databases that can be connected
2.7.2 How to connect to resources
2.7.3 Types of DB Connector (RAR file)
2.7.4 How to use a resource adapter
2.7.5 How to set up resource adapters
2.7.6 Procedure for setting a resource adapter
2.7.7 Settings in the execution environment
2.8 Transaction management
2.8.1 Overview of transaction management when connecting to resources
2.8.2 Settings in the execution environment (Batch server settings)
2.9 Garbage collection control functionality
2.9.1 Overview of garbage collection control functionality
2.9.2 Flow of garbage collection control processing
2.9.3 Settings in the execution environment (batch server settings)
2.10 Container extension libraries
2.10.1 Overview of container extension libraries
2.10.2 Settings in the execution environment (Batch server settings)
2.11 JavaVM functionality
2.11.1 Overview of JavaVM functionality
2.11.2 Settings in the execution environment (Batch server settings)
2.12 Migrating from Java applications
2.12.1 Implementing batch applications (Migrating from Java applications)
2.12.2 Settings of the execution environment (Setting batch servers)
2.13 Integrating with JP1/AJS
2.13.1 Settings for integrating with JP1/AJS
2.13.2 Settings for integrating with JP1/AJS, BJEX, and JP1/Advanced Shell

3. Scheduling and Load Balancing of Requests Using CTM
3.1 Topics covered by this chapter
3.2 Overview of request scheduling using CTM
3.2.1 Purpose of request scheduling
3.2.2 Type of requests that can be controlled by CTM
3.2.3 Client applications that send requests
3.2.4 Processing performed for using CTM
3.2.5 Basis on which to create schedule queues and sharing schedule queues
3.2.6 Length of a schedule queue
3.3 Process configuration for using CTM
3.3.1 Configuration and deployment of CTM processes
3.3.2 Guidelines for deploying processes
3.3.3 CTM daemon
3.3.4 CTM regulator
3.3.5 CTM domains and CTM domain managers
3.3.6 Global CORBA Naming Service
3.4 Flow-volume control of requests
3.4.1 Overview of flow-volume control of requests
3.4.2 Settings in the execution environment
3.5 Controlling priority of requests
3.6 Dynamically changing the number of concurrent executions of requests
3.6.1 Mechanism of dynamically changing the number of concurrent executions
3.6.2 Values that can be specified for the number of concurrent executions
3.6.3 Checking the operating status of CTM schedule queues
3.6.4 Changing the maximum number of concurrent executions for a CTM schedule queue
3.7 Locking and controlling requests
3.7.1 Overview of locking and controlling requests
3.7.2 Replacing a J2EE application while the system is online
3.7.3 Locking and controlling requests for a J2EE application
3.7.4 Locking and controlling requests for a schedule queue
3.7.5 Holding requests if a J2EE server terminates abnormally
3.7.6 Specifying settings in the execution environment
3.8 Load balancing of requests
3.8.1 Times when load balancing takes place
3.8.2 Watching the load status
3.8.3 Specifying settings in the execution environment
3.9 Monitoring and retaining request queues
3.9.1 Overview of monitoring requests remaining in a schedule queue
3.9.2 Example of monitoring a schedule queue
3.9.3 Specifying settings in the execution environment
3.9.4 Notes
3.10 Connection with the TPBroker/OTM client by using the gateway functionality in CTM

4. Scheduling of Batch Applications
4.1 Organization of this chapter
4.2 Overview of the scheduling functionality
4.2.1 Advantages of scheduling batch applications
4.2.2 Prerequisites for using the scheduling functionality
4.2.3 Procedure for executing the batch applications using the scheduling functionality
4.3 Systems using the scheduling functionality
4.3.1 Configuring a system using the scheduling functionality
4.3.2 Processes required for the scheduling functionality
4.4 Setting and operating the batch application execution environment when using the scheduling functionality
4.5 Executing batch applications by using the scheduling functionality
4.5.1 Status transition of batch applications using the scheduling functionality
4.5.2 Executing batch applications
4.5.3 Forced stopping of batch applications
4.5.4 Displaying a list of batch application information
4.5.5 Executing the commands used in batch applications
4.6 Migrating to the environment using the scheduling functionality
4.7 Settings of the execution environment
4.8 Points to be considered when using the scheduling functionality

5. Inheriting Session Information Between J2EE Servers
5.1 Organization of this chapter
5.2 Overview of the session failover functionality
5.2.1 Benefits of using the session failover functionality
5.2.2 Types of session failover functionality
5.3 Session management using a global session
5.3.1 Global session information
5.3.2 Information included in the global session information
5.3.3 HTTP session attributes that are inherited as global session information
5.4 Prerequisites
5.4.1 Prerequisite configuration
5.4.2 Prerequisite settings
5.5 Types of session failover functionality and the differences between the types
5.5.1 Overview of the database session failover functionality
5.5.2 Overview of the EADs session failover functionality
5.5.3 Differences between session failover functionality
5.6 Functionality that you can set when using the session failover functionality
5.6.1 Inhibiting the session failover functionality
5.6.2 Defining refer-only requests of an HTTP session
5.7 Functionality executed when using a session failover functionality
5.7.1 Concurrent execution with the same session ID
5.7.2 Inheriting global session information when starting a web application
5.7.3 Reducing an HTTP session
5.8 Estimating memory
5.8.1 Estimating memory used in serialize processing
5.8.2 Estimating size of HTTP session attribute information
5.8.3 Estimating disk space of a database
5.8.4 Estimating memory of an EADs server
5.9 Precautions
5.9.1 HTTP session that is implicitly created in JSP
5.9.2 Processing considering that the same objects are registered in different HTTP sessions
5.9.3 Handling authentication information when inheriting session information
5.9.4 Impact on servlet API

6. Database session failover functionality
6.1 Organization of this chapter
6.2 Application procedures
6.3 Selecting a mode in which performance is important (disabling integrity mode)
6.3.1 Operations performed when disabling integrity mode
6.3.2 Deleting global session information
6.3.3 Notes
6.4 Processing implemented in the database session failover functionality
6.4.1 Processing when starting an application
6.4.2 Processing when executing a request
6.4.3 Processing when validity of global session information expires
6.4.4 Listeners that operate in association with events occurring in the database session failover functionality
6.4.5 Locking global session information (when integrity mode is enabled)
6.4.6 Operations performed when a failure occurs during global session information operation
6.5 Definitions in cosminexus.xml
6.6 J2EE server settings
6.7 Web application settings
6.8 Database settings
6.8.1 Permissions required for connecting to a database
6.8.2 Creating database tables
6.8.3 Creating Application information table
6.8.4 Creating session information storage tables and blank record information tables
6.8.5 Environment settings of database
6.9 DB Connector settings
6.9.1 Setting transaction support level
6.9.2 Specifying optional name of DB Connector
6.9.3 Environment settings of DB Connector
6.10 Changing settings related to the database session failover functionality
6.10.1 Changing settings of a J2EE server and application
6.10.2 Initializing a database table
6.10.3 Deleting global session information (destroying HTTP sessions)
6.11 Deleting database tables
6.11.1 Deleting application information tables
6.11.2 Deleting session information storage table and blank record information table
6.12 Precautions to be taken when using database session failover functionality

7. EADs Session Failover Functionality
7.1 Organization of this chapter
7.2 Preparations for using the EADs session failover functionality
7.2.1 Application procedures
7.2.2 Setting up a timeout
7.2.3 Settings of number of concurrent connections, number of concurrent executions, and connection pool size
7.3 Processing implemented in the EADs session failover functionality
7.3.1 Processing when starting an application
7.3.2 Processing when executing a request
7.3.3 Processing when validity of global session information expires
7.3.4 Operations performed when a failure occurs during global session information operation
7.3.5 Listeners that operate in association with events occurring in the EADs session failover functionality
7.4 Definitions in cosminexus.xml
7.5 J2EE server settings
7.6 Preparations for EADs server
7.6.1 Setting up the EADs server environment
7.6.2 Starting the EADs server
7.6.3 Creating a cache
7.6.4 Unlocking clusters
7.7 Changing settings related to the EADs session failover functionality
7.7.1 Changing J2EE server and application settings
7.7.2 Initializing application information
7.7.3 Destroying an HTTP session
7.8 Deleting data on the EADs server
7.8.1 Deleting global session information on the EADs server (session information storage destination server)
7.8.2 Deleting global session information remaining on the EADs server (the session information copy destination server)
7.8.3 Deleting a cache on the EADs server
7.9 Procedure for analyzing log that uses the performance analysis trace
7.10 Log output of EADs operations
7.10.1 Output of the message log
7.10.2 Output of the exception information to the message log and exception log
7.10.3 EADs client output log

8. Inhibiting Full Garbage Collection by Using Explicit Memory Management
8.1 Organization of this chapter
8.2 Overview of the Explicit Memory Management functionality
8.2.1 Objectives of using the Explicit Memory Management functionality
8.2.2 Mechanism of inhibiting full garbage collection by using the Explicit Memory Management functionality
8.2.3 Prerequisites for using the Explicit Memory Management functionality
8.3 Overview of memory space used in the Explicit Memory Management functionality
8.4 When using J2EE server objects placed in Explicit heap
8.4.1 Objects related to HTTP session
8.4.2 Objects for communication with redirector
8.5 Objects that you can optionally place in the Explicit heap in the application
8.5.1 Conditions for objects that you can place in the Explicit heap
8.5.2 Life cycle and state transition of objects
8.6 Life cycle of Explicit memory block and executed processes
8.6.1 Life cycle and states of Explicit memory blocks
8.6.2 Initializing the Explicit memory block
8.6.3 Directly generating objects in the Explicit memory block
8.6.4 Extending the Explicit memory block
8.6.5 Moving the objects from the Java heap to the Explicit memory block based on a reference relation
8.6.6 Event log output at each stage in the life cycle
8.7 Releasing Explicit memory blocks when the automatic release functionality is enabled
8.7.1 Explicit release reserving of the Explicit memory block when the automatic release functionality is enabled
8.7.2 Automatic release reserving of the Explicit memory block when the automatic release functionality is enabled
8.7.3 The process of releasing the Explicit memory block when the automatic release functionality is enabled
8.8 Releasing Explicit memory blocks when the automatic release functionality is disabled
8.8.1 Explicit release reserving of the Explicit memory block when the automatic release functionality is disabled
8.8.2 The process of releasing the Explicit memory block when the automatic release functionality is disabled
8.9 Releasing Explicit memory blocks by using the javagc command
8.10 Reducing time required for automatic release processing of Explicit memory blocks
8.10.1 Checking whether the application is effective
8.10.2 Mechanism of reducing time required for automatic release processing
8.10.3 Using object release rate information of the Explicit memory block
8.10.4 Notes on reducing the time required for automatic release processing
8.11 Reducing memory usage of the Explicit heap that is used in an HTTP session
8.11.1 Checking whether the application is effective
8.11.2 Mechanism of reducing memory usage
8.11.3 Points to be considered when using the memory saving functionality of the Explicit heap that is used in an HTTP session
8.12 Implementing the Java program that uses the Explicit Memory Management functionality API
8.12.1 Implementing to place objects in the Explicit heap
8.12.2 Implementing to obtain statistics of the Explicit Memory Management functionality
8.13 Settings in the execution environment
8.13.1 Common settings for using the Explicit Memory Management functionality (setting JavaVM options)
8.13.2 Using the Explicit Memory Management functionality by using the automatic placement configuration file
8.13.3 Controlling application target of the Explicit Memory Management functionality by using a configuration file
8.13.4 Settings for using the function on the J2EE server
8.14 Precautions for using the Explicit Memory Management functionality

9. User Log Output for Applications
9.1 Organization of this chapter
9.2 Overview of the user log output
9.2.1 Overview of the user log output
9.2.2 Mechanism of the user log output
9.3 Log format
9.4 Methods used in the user log output
9.5 Implementation for user log output
9.6 Creating and setting loggers and handlers
9.6.1 Creating and setting loggers
9.6.2 Creating and setting handlers
9.6.3 Guidelines for creating and setting loggers and handlers
9.7 How you can use your own Filter/ formatter/ handler
9.7.1 Using library JAR
9.7.2 Using container extension library
9.8 Setting the user log output of J2EE applications
9.8.1 J2EE server settings
9.8.2 Setting security policy
9.8.3 Examples of the user log output of applications
9.9 Setting the user log output of batch applications
9.10 Setting the user log output of EJB client applications (When using the cjclstartap command)
9.11 Implementing and setting the user log output of EJB client applications (When using the vbj command)
9.11.1 Overview of processing when using the vbj command
9.11.2 Preparing for use
9.11.3 Procedure for the user log output processing
9.11.4 Extending the user log output in EJB client applications
9.11.5 How to use Filter/ Formatter/ Handler independently created by the user
9.12 Notes for using the user log functionality

10. Asynchronous Parallel Processing of Threads
10.1 Organization of this chapter
10.2 Overview of the asynchronous parallel processing of threads
10.2.1 Procedure for the asynchronous parallel processing of threads
10.2.2 Java EE functionality that you can use in the asynchronous parallel processing of threads
10.2.3 Compatibility with Timer and Work Manager for Application Server
10.3 Asynchronous timer processing by using TimerManager
10.3.1 Methods of scheduling threads by using TimerManager
10.3.2 Life cycle of TimerManager
10.3.3 State transition of TimerManager
10.3.4 Multiple schedules of TimerManager
10.3.5 Developing applications by using TimerManager
10.4 Asynchronous thread processing by using WorkManager
10.4.1 Daemon Work and non-daemon Work
10.4.2 Thread pool and queues used in non-daemon Work
10.4.3 Life cycle of WorkManager, daemon Work and non-daemon Work
10.4.4 Developing applications by using WorkManager
10.4.5 Settings in the execution environment

Appendixes
A. Main Updates in the Functionality of Each Version
A.1 Main updates in the functionality of 09-00
A.2 Main updates in the functionality of 08-70
A.3 Main updates in the functionality of 08-53
A.4 Main updates in the functionality of 08-50
A.5 Main updates in the functionality of 08-00
B. Terminology Used in this Manual

Index