Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 7 Release Notes

Known Problems and Limitations

This section describes known problems and associated workarounds for the Sun Java System Application Server 7 2004Q2 Update 7 Standard and Enterprise Edition.


Note –

If a problem statement does not specify a particular platform, the problem applies to all platforms.


This information is organized into the following sections:

Installation and Uninstallation

This section describes the known installation and uninstallation issues and associated solutions.

ID 

Summary 

6602615 

After upgrading from localized version of Application Server 7.1 Update 5 to Application Server 7.1 Update 7, the upgraded instance fails to start on Soalris 10 Update 3 and above. 

There is a conflict between the Message Queue (MQ) versions bundled with Solaris and the version bundled with Application Server. 

Solution:

  1. Remove the following MQ packages using the pkgrm command:

    • Base packages: SUNWiqdoc, SUNWiqfs, SUNWiqjx, SUNWiqr, SUNWiqu, SUNWiquc, SUNWiqum, and SUNWiqlpl

    • ja packages: SUNWjiqu, SUNWjiquc

    • zh packages: SUNWciqu, SUNWciquc

  2. Install the corresponding OS-bundled base, ja, and zh packages.

6606419 

Upgrade from localized version of Application Server 7.1 Update 5 to Application Server 7.1 Update 7 fails. 

The installer fails to delete the directory, SUNWhadb/4.

Solution:

Do one of the following: 

  • Delete SUNWhadb/4 before running ./setup.

  • Run the ./setup command for the second time, if you have already run the ./setup command once and experienced a failed upgrade.

6606417 

Upgrade from localized version of Application Server Enterprise Edition 7.1 Update 5 to Application Server Enterprise Edition 7.1 Update 7 does not change the SUNWhadb/4 symbolic links.

Solution: 

Changed the symbolic link to 4.4.2-30. 

6606979 

Upgrade to localized version of Application Server Enterprise Edition 7.1 Update 7 displays English index.html 

Solution: 

Perform the following steps: 

  1. Change directory to <AppServer_install_dir>/domains/domain1/server1/docroot.

  2. Rename index.html to index.html_en.

  3. Copy AppServer_install_dir/lib/install/templates/index.html to AppServer_install_dir/domains/domain1/server1/docroot.

6245916

When upgrading from localized Application Server 7.1 Update 2 to Update 3/Update 4/Update 7 in Japanese and Simplified Chinese locales, the localized welcome page and index.html is displayed from Update 2.

The localized version of Application Server 7.1 Update 7 contain localized files from Application Server 7.1 Update 2. 

Solution

After upgrading to Update 7, refer to the English welcome page and index page located at:

Appserver_Install_Dir/docs/about.html

Appserver_Install_Dirlib/install/templates/index.html

To register Sun Java System Application Server, use the following URLS: 

Japanese: https://www.sun.com/software/product_registration?locale=ja_JP

Simplified Chinese: https://www.sun.com/software/product_registration?locale=zh_CN

To view the latest index.html (in English) for an existing domain, instead of the old localized version, copy the index.html to the docroot folder:

copy Appserver_Install_Dir/lib/install/templates/index.html to

Appserver_domain_root/domains/domain1/admin-server/docroot

Before creating a new domain, replace the localized index.html with the English index.html:

Copy Appserver_Install_Dir/lib/install/templates/index.html to

Appserver_Install_Dir/lib/install/templates/{ja,zh_CN}/index.html

Ensure that you back up your current Japanese or Chinese index.html file. 

6222700

When upgrading from localized Application Server 7.1 Update 2 to Update 3/Update 4/Update 7 in Japanese and Simplified Chinese locales, the default page of server1 instance is displayed in English.

6245424

After uninstalling localized versions of Application Server Update 7, the localized packages/RPMs will remain.

Solution

Remove the localized packages/RPMs first and then run the uninstall program. Perform the following procedure on package-based Solaris installations. 

  1. Remove the following packages:

    pkgrm SUNWjaspx SUNWjasdmo SUNWjiquc SUNWjiqu SUNWjaso

    pkgrm SUNWjjmail SUNWjjaf SUNWjasaco SUNWjascmo SUNWjaspx

    pkgrm SUNWcaspx SUNWcasdmo SUNWciquc SUNWciqu SUNWcaso

    pkgrm SUNWcjmail SUNWcjaf SUNWcasaco SUNWcascmo SUNWcaspx

  2. Run the Application Server uninstall program.

  3. Remove the Application Server installation directory.

    rm -rf Appserver_Install_Dir

    Perform the following procedure on RPM-based Linux installations.

  4. Remove the following RPMs:

    rpm -e SUNWjasaco-7.1.0-02.src.rpm

    rpm -e SUNWjascmo-7.1.0-02.src.rpm

    rpm -e SUNWjasdmo-7.1.0-02.src.rpm

    rpm -e SUNWjaso-7.1.0-02.src.rpm

    rpm -e SUNWjaspx-7.1.0-02.src.rpm

    rpm -e SUNWjjaf-7.1.0-02.src.rpm

    rpm -e SUNWjjmail-7.1.0-02.src.rpm

    rpm -e SUNWasaco-zh_CN-7.1.0-02.src.rpm

    rpm -e SUNWascmo-zh_CN-7.1.0-02.src.rpm

    rpm -e SUNWasdmo-zh_CN-7.1.0-02.src.rpm

    rpm -e SUNWaso-zh_CN-7.1.0-02.src.rpm

    rpm -e SUNWaspx-zh_CN-7.1.0-02.src.rpm

    rpm -e SUNWjaf-zh_CN-7.1.0-02.src.rpm

    rpm -e SUNWjmail-zh_CN-7.1.0-02.src.rpm

  5. Run the Application Server uninstall program.

  6. Remove the Application Server installation directory.

    rm -rf Appserver_Install_Dir

    Perform the following procedure on Windows installations:

  7. Run the Application Server uninstall program.

  8. Delete Appserver_Install_Dir.

6208875

Upgrade installation Failed:java.io.FileNotFoundException

File-based upgrade of HADB on Solaris SPARC, Solaris x86, and Linux will encounter problems in certain scenarios, as described here: 

Installation fails with the following exception: 

java.io.FileNotFoundException: /sun/appserver7/./SUNWhadb/4 (Is a directory)

Upgrade scenarios: 7.1RTM/7.1ER1/7.1UR1 file-based upgrade to 7.1UR2. 

Solution

Rename the file-based-installing-directory/SUNWhadb/4 softlink to another name, such as, SUNWhadb/3. Restart the upgrade.

6217112

Incremental installation is not working on Windows platforms.

Sample applications can be installed along with Application Server. They cannot be incrementally installed. 

Solution

Select to install sample applications at the beginning of installation. During incremental installations, do not select the sample applications option. 

5006942

On Windows, the services created have the start type set by default to “Automatic” after an upgrade.

Solution

  1. Open the Windows services.

  2. Change the start type of the servers to “Manual.”

6217097

File-based upgrade performed as a non-root user seems to fail if the Application Server binaries for the upgrade were not downloaded as non-root user.

Solution

The downloaded binaries need to be owned by the non-root user. The downloaded archive must be unzipped by the user who will do the installation or upgrade. Otherwise this is known to lead to permissions issues while the JDK is being upgraded. 

Server Startup and Shutdown

This section describes the known startup and shutdown issues and the associated solutions.

ID 

Summary 

4693581

During Application Server startup, IMQ broker fails with IOException: Not Enough Space

This error appears when Application Server and the IMQ broker is started simultaneously. The appservd process tries to fork a new process to start the iMQ broker, and fails if there is not enough swap space.

Solution

Start the IMQ broker process before starting Application Server. For example: appserver_install_dir/imq/bin/imqbrokerd -name appserver_instance_name -port jms-service port -silent

4762420

Firewall rules may cause Application Server startup failures.

If you have a personal firewall installed, you may experience this problem. The presence of strict firewall rules on the same machine as a Application Server installation may cause startup failures of the Admin Server and App Server instances. Specifically, the Admin Server and App Server instances attempt to establish local connections within the Application Server environment. Since these connection attempts access ports using the host name of the system rather than localhost, local firewall rules may block such attempts. 

The local firewall may also inadvertently generate alerts saying that either the “Portal of Doom Trojan” attack (for example, TCP connection attempts on port 3700) or similar attacks have occurred when, in fact, such access attempts have been made by the Application Server and are in no way a security threat to your machine. Under some conditions, the port number which the Application Server uses for various local communications may overlap with port numbers used in known popular attacks. Some symptoms of this problem: 

  • The administrative and server instance log files contain connection exceptions followed by this message: CORE3186: Failed to set configuration

Solution

Modify the firewall policy to allow the Application Server to make connection attempts to ports on the local system. 

To avoid inaccurate alerts concerning possible attacks, either modify the relevant rules or change the conflicting port number(s) used by the Application Server. 

To determine the port numbers used by the Admin Server and App Server instances, see the server.xml file in the following location of your Application Server installation: domain_config_dir/domain1/admin-server/config/server.xml domain_config_dir/domain1/server1/config/server.xml

where domain_config_dir is the location of your initial server configuration. For example:Solaris 9 integrated install: /var/appserver/domains/...Solaris 8, 9 unbundled install: /var/opt/SUNWappserver7/domains/...

Look for the port settings in the <iiop-listener> and <jms-service> elements. You can either change these port numbers to other unused port numbers, or you can modify your firewall policy to allow connection attempts from clients on the local machine to these port numbers on the same machine.

5003245

Server listens on two ports after reconfiguring ports and restarting

Solution 

After changing the port numbers, stop and then start the server using asadmin commands, asadmin stop-instance and asadmin start-instance, respectively. 

Database Driver

This section describes the known database driver issues and associated solutions.

ID 

Summary 

2082209, 5022904

DB2 Server has connection growing after idle time-out with DB2 Type II driver

Solution

Set the SteadyPoolSize and MaxPoolSize to the same number, and in addition, set the Idle Connection timeout also to 0 (zero). This will disable the timing-out of idle connections and the user will have the full set of connections available.

4700531

On Solaris, an Oracle JDBC driver error occurs with JDK 1.4.

This affects the new JDBC driver for Oracle (R) when working with JDK1.4. The problem is caused by a combination of the Oracle 9.0.1 database and ojdbc14.jar. Applying the patch will fix the problem on Solaris 32-bit machine, running an Oracle 9.0.1.3 database. 

Solution

Obtain and apply the patch to your server from the Oracle Web site for Bug 2199718. Perform the following steps: 

  1. Go to the Oracle Web site.

  2. Click the ’patches’ button.

  3. Type 2199718 in the patch number field.

  4. Click the 32-bit Solaris OS patch.Go to Metalink.oracle.com.

  5. Click patches.

  6. Under patch number, enter 2199718.

  7. Click the 32 bit Solaris OS patch.

4991065

Oracle JDBC drivers must be configured properly to be compliant with J2EE 1.3.

Solution

Use the following configuration for Type 2 and Type 4 drivers: 

  1. Use the JDBC from 9.2.0.3 or later.

  2. The Oracle database needs to have compatible=9.0.0.0.0 or higher in its parameter (init.ora) file.

  3. Use the ojdbc14.jar file.

  4. Configure the Application Server to define the following JVM property:

    -Doracle.jdbc.J2EE13Compliant=true

In addition, for Type-2 drivers both the ORACLE_HOME and LD_LIBRARY_PATH (which must include $ORACLE_HOME/lib) need to be defined in the environment that the Application Server is started in. For example, add them to the asenv.conf file and ensure they are exported.

Logging

ID 

Summary 

5014017

The Appclient logging services don’t work properly

Default value for file attribute will not work. 

Solution

  1. Create a logs directory.

  2. Specify the complete path to the newly created logs directory in the sun-acc.xml file.

In case of logging to console, the log level is always’ INFO’ irrespective of the log level setting (FINE,FINEST...etc) 

The Administration Guide to Clients states that logs will be present in the acc_dir/logs/client.log, however you must create the “logs” directory and then specify the full path to this dir in the sun-acc.xml to make it work.

Web Container

This section describes the known web container issues and associated solutions.

ID 

Summary 

6183117

Incorrect http-headers when using servlet filters for pdf/ xls files.

There is no default mime-type mapping in default-web.xml. Add the desired mime-types to default-web.xml.

Solution

Add the following mime-type definition in the default-web.xml of the instance that will server xls:

<mime-mapping>

<extension>xls</extension>

<mime-type>application/vnd.ms-excel</mime-type>

</mime-mapping>

Similarly, add the specific mime-type definitions for other file types to the default-web.xml file.

6308777, 6324326

Servlet container UTF-8 URI mapping vulnerability.

ACL-based protection for JSPs can be bypassed by presenting characters in the URI in UTF-8 format. 

Solution

Ensure to modify ACLs to not accept wildcards in the URI. 

5089201, 5001994

getRequestURI() returns unencoded values when it should not.

The fix for this issue will break clients of older NSAPI, such as Portal Server 6.3, which call getRequestURI() and expect the URI to be automatically decoded when the data is returned.

Therefore, to maintain backward compatibility for older NSAPI clients, a new JVM option has been added to revert to the old NSAPI behavior and allow Portal Server to function correctly. 

Solution

Enable the JVM option, -DJ2EEDecodeURI, on computers running Portal Server to allow cookie-less mode (and all other functionality) on the getRequestURI() call.

4951476

javax.ejb.EJBException: org/dom4j/Element error is thrown with JWSDP 1.2(1.3) installed.

Solution

Add dom4j-full.jar to server-classpath in server.xml file. It can be downloaded from http://dom4j.organd should precede appserv-jstl.jar entry in server-classpath.

4997770

HTTP 404 error message still indicating "Sun ONE Application Server"

Read "Sun ONE Application Server" as Sun Java System Application Server. 

Message Service and Message-Driven Beans

This section describes the known issues in Java Message Service (JMS), Sun Java System Message Queue, and message-driven beans issues and the associated solutions.

ID 

Summary 

6184426

ConnectException errors on HP-UX11.11during stress tests.

Configuration of the HP-UX TCP-IP parameter at the OS level or at the IMQ level is required. 

Solution

At the IMQ level, make the following changes: 

imq.portmapper.backlog=1000

imq.authentication.client.response.timeout=360

imq.jms.tcp.backlog=3000

imq.jms.max_threads=5000

4683029

The -javahome flag in all MQ Solaris scripts does not work if the value has a space.

The command-line utilities in Sun ONE Message Queue have a -javahome option that allows you to specify an alternate Java runtime. Using this option exposes a limitation where the path of the specified alternate Java runtime must not contain spaces. Examples of paths that have spaces are:

/work/java 1.4

This problem occurs at Application Server instance startup. When a Sun ONE Application Server instance is started, by default its corresponding Sun ONE Message Queue broker instance is also started. The broker always starts using the -javahome command-line option to ensure that it uses the same Java runtime used by the Application Server. If the Java runtime that is configured for use by the Application Server (and therefore passed on for use by the broker) is located at a path that contains spaces, broker startup fails, which also causes the Application Server instance startup to fail.

Solution

Make sure that the Java runtime used by the Application Server is located at a path that does not contain spaces. 

Java Transaction Service (JTS)

This section describes the known Java Transaction Service (JTS) issues and the associated solutions.

Java Transaction Service Issues

ID 

Summary 

6218460

Transactions can fail due to a transaction timeout even when the JTS timeout is large enough.

Solution

Configure the Application Server’s transaction service property, xaresource-txn-timeout, and set its value to match the transaction timeout (in seconds) configured for the transaction service.

Recovery

There are some known problems with the recovery implementations of some of the JDBC drivers. For these known problems, Sun Java System Application Server provided some workarounds. By default, these workarounds will not be used unless you explicitly indicate that these workarounds are to be used.

Transactions

In the server.xml file, res-type is used to demarcate the connection as non-XA or XA. This demarcation is used to identify the configuration of the data source to drive data. For example, in the Datadirect driver, the same data source can be used as either XA or non-XA.

The default behavior of the data source is non-XA. To make the data source behave as XA with the connpool element for transactions, res-type is needed. For the connpool element to work and participate in transactions, add the following for the attributes res-type in the server.xml file:

res-type="javax.sql.XADataSource"

Application Deployment

This section describes the known application deployment issues and associated solutions.

ID 

Summary 

6502888

In Application Server 7.1, when you deploy an application to server instance that is running as non-root user, the files of <server-instance>/generated is owned by root user.

Solution

You need to change the permissions manually. 

6078271

Deployment of an EAR fails on Windows due to file length issue.

Windows running on non-NTFS file systems will face file name and path limitation of that file system. 

Solution

Run Windows on an NTFS file system. 

6223279

ejb-ref-name to the jndi-name mapping incorrect if the jndi-name is missing.

When deploying ejb applications, the XML Deployment Descriptor (sun-ejb-jar.xml) should have a jndi-name entry for each EJB reference. For example:

<ejb-ref>

<ejb-ref-name>ejb/package_name.ejb_name</ejb-ref-name>

<jndi-name>ejb/package_name.ejb_name</jndi-name>

</ejb-ref>

If the jndi-name entry is missing, it will deploy without error, but the application will not work correctly as JNDI lookup will fail to find an EJB.

Solution

Ensure that JNDI names are present in the deployment descriptors. To ensure that your application does not have this problem, select the Run Verifier check box before deploying as this will highlight problems with missing JNDI names.

4725147

Cannot choose a particular virtual server for deployment.

In this case, two virtual servers are configured with exactly the same host and listener. If an application is deployed only for second virtual server, it cannot be reached because combination host:port leads to the first virtual server. 

Solution

The virtual server hostname should not be the same as the original hostname, especially when the same HTTP listener is used. 

4994366

Deploy error with ejb-local-ref and ejb-link.

Solution

ejb-local-ref requires ejb-link. Therefore, when dealing with ejb-local-ref, you must specify an ejb-link value.

Verifier

This section describes the known verifier issues and associated solutions.

ID 

Summary 

4742545

Standalone verifier shows EJB Class Not Found errors.

The verifier indicates some failed tests with the following test description message: EJB Class Not Found. The test failures occur when an EJB JAR file uses an enterprise bean with a reference to another enterprise bean that is packaged in a separate EJB JAR file within the same EAR application. The failure messages are also observed if you try to validate the connector (RAR) dependent EAR files. This is because the RAR bundle need not be packaged within the EAR file that houses the enterprise bean with dependency on the RAR bundled files. The failures (exception to this are the connector-related failures) are only observed with the standalone verifier. The verifier invoked through the deployment command or the Administration interface does not show the failures.

Solution

Make sure that the packaging of the application EAR is correct and if you are using any utility JAR file, it is packaged within the EAR file. To resolve the referencing errors, you can shift to the verifier invoked through the deployment backend using asadmin or the Administration interface. For the connector-related failures, place the JAR file containing the required classes into the class path for the verifier. You can open the install_root/bin/verifier[.bat] file and add a LOCAL_CLASSPATH variable to the end of the JVM_CLASSPATH variable. Locally add the classes to the LOCAL_CLASSPATH variable, then run the verifier.

Load Balancer

This section describes the known load balancer issues and associated solutions.

ID 

Summary 

6422893 

The Application Server 7.1 UR5 load balancer plug-in does not recognize the HTTPS listeners even when the https-routing property is set to true in loadbalancer.xml. 

Solution 

If you are installing Application Server 7.1 afresh: 

  1. Install Application Server 7.1 UR5 without the load balancer plug-in by deselecting the load balancer during product installation.

  2. Install the Java Enterprise System (JES) 3 or JES4 Application Server from http://www.sun.com/software/javaenterprisesystem

  3. Download JES component Patch 10 from http://sunsolve.sun.com

    • For package-based patches, the patch ids are 119166-16(Solaris Sparc), 119167-16 (Solaris x86), 119168-16 (Linux)

    • For file-based patches, the patch ids (Enterprise Edition) are 119169-08 (Solaris Sparc), 119170-08 (Solaris x86), 119171-08(Linux) , 119172-08 (Windows)

    • For file-based patches, the patch ids (Platform Editon) are 119173-08 (Solaris Sparc), 119174-08 (Solaris x86), 119175-08 (Linux), 119176-08 (Windows)

  4. Begin installation. From the component list, select only the load balancer plug-in and proceed with the installation of the load balancer plug-in in the specified Web Server location.

  5. Configure Application Server 7.1 UR5 and Web server to use this plug-in.

If you already have an installation of Application Server 7.1: 

  1. Rename the libpassthrough.so file and all other related files, such as LBPluginDefault_root.res and LBPlugin_root.res installed as part of the Application Server 7.1 UR5 load balancer plugin.

  2. Install the Java Enterprise System (JES) 3 or JES4 Application Server from: http://www.sun.com/software/javaenterprisesystem

  3. Download JES component Patch 10 from http://sunsolve.sun.com

  4. For package-based patches, the patch ids are 119166-16(Solaris Sparc), 119167-16 (Solaris x86), 119168-16 (Linux)

  5. For file-based patches, the patch ids (Enterprise Edition) are 119169-08 (Solaris Sparc), 119170-08 (Solaris x86), 119171-08(Linux) , 119172-08 (Windows)

  6. For file-based patches, the patch ids (Platform Editon) are 119173-08 (Solaris Sparc), 119174-08 (Solaris x86), 119175-08 (Linux), 119176-08 (Windows)

  7. Begin installation. From the component list, select only the load balancer plug-in and proceed with the installation of the load balancer in the specified Web Server location.

  8. Configure Application Server 7.1 UR5 and Web server to use this plug-in.

6338687

Load Balancer Plug-in cannot handle URL/URI greater than 8K.

Ensure not to create a URL/URI greater than 8k if it is going to be forwarded by the load balancer plug-in to the Application Server. 

6262746

Load balancer plug-in on Apache web server, installed on Solaris 10 (SPARC and x86), is not a supported configuration.

Solution

  • Use Apache on Solaris 8 or 9, and the Application Server on Solaris 10.

    Or,

  • Use Sun Java System Web Server on Solaris10.

6155134

Manual setting of path is required for webservers to start.

After installing load balancer plug-in on Windows for IIS or Apache, append the path of the Application Server to the Path environment variable. 

  • Go to Start->Settings->Control Panel->System->Advanced->Environment Variables->System Variables->Path, and add: appserver_install_dir\bin

  • You must restart the machine.

4761151, 4825429, 4981545

Intermediate form and basic authentication failures while sending intermittent SSL and non-SSL requests through load balancer plug-in. Displays a 502 Bad Gateway error message. The persistency of proxy-to-container connections is not maintained with the default settings.

Loadbalancer looses persistent connections to the application server due to deployment/undeployment on the application server and/or due to keep alive timeout or due to stale connections in the load balancer’s connection pool. When this happens, some of load balancer’s requests will fail and the error page is displayed. This typically occurs in a development environment where frequent deployment/undeployment and other configuration changes are tried and tested. 

Solution

Set the keep alive timeout on the appserver to 0. 

Using web-based Administration interface:

  1. Launch the Administration console.

  2. Select HTTP Server -> Tuning.

  3. In the HTTP Persistent Connection Timeout field, enter 0 (last text box on the page)

  4. Apply changes and restart the appserver.

    Using the Command-line Interface:

  5. Add the line: KeepAliveTimeout 0 in init.conf of appserver

  6. Launch the asadmin reconfig command.

  7. Restart the appserver.

4962735 

On Linux, Apache Web Server 1.3.27 does not start after installing load balancer plug-in and sec_db files.

Solution

Include the following lines in /src/MakeFile after “End of automatically generated section,” and just before “OBJS= \”. Also, make sure the Application Server libraries are already installed in a particular location:

LIBS+= -licuuc -licuil8n -lnspr4 -lpthread -lxerces-c -lsupport -lnsprwrap -lns-httpd40 LDFLAGS+= -L/space/SJSAS/installations/lib.

Where: /space/SJSAS/installations is the location of the application server installation. For more information, see Appendix “Compiling Apache Web Server” in Sun Java System Application Server Administration Guide.

5018537

Identity Server/Application Server Integration Services unavailable error shown during failover.

Loadbalancer.xml has “/” as the context-root for a web-module. After a failover, since there is no context root, a “Default” string is assigned as the path of the update JROUTE cookie. This results in two JROUTE cookies on the browser side. 

  1. The old JROUTE cookie pointing to the failed instance with “/” aspath.

  2. The new JROUTE cookie pointing to the new instance with “/Default” as the path.

    The browser would always use the old outdated cookie (1) and consequently it results in redirects and failovers, and sometimes the browser itself fails.

Solution

Have specific context root for all web modules. For example: 

<web-module context-root=”appl” enabled=”true” disable-timeout-in-minutes=”60” error-url=”appl-lberror.html” />
<web-module context-root=”app2” enabled=”true” disable-timeout-in-minutes=”60” error-url=”app2-lberror.html” />

After the failover, the JROUTE gets the path as “/appl” which is valid and works correctly. 

5007720

Log message not proper for invalid value for error-url in web-module.

When the error-url attribute in web-module tag of loadbalancer.xml is set, as follows, to an invalid value, such as:

<web-module context-root="app1" enabled="true" disable-timeout-in-minutes="60" error-url="abc"/>

The log message displayed is as follows: 

warning (11113):  reports: lb.configurator: XML_VALIDATOR_WARNING: Invalid format for the error-url sun-http-lberror.

However, the log should be: 

warning (20015):  reports: lb.configurator: XML_VALIDATOR_WARNING: Invalid format for the error-url abc

High Availability

This section describes the known high availability issues and associated solutions.

ID 

Summary 

6301842

Sometimes on Windows, the management agent cannot deregister the service when running, ma -r, and fails with the error message, Could not identify program.

Solution

Start a Windows command prompt window and run sc stop HADBMgmtAgent and then run sc delete HADBMgmtAgent. If the command ma -i -n servicename was used to install and start the service, then use servicename when running the command sc.

6293912

The Management Agent should not use special-use interfaces.

Solution

When issuing hadbm create on hosts with multiple interfaces, always specify the IP-addresses explicitly, using DDN notation. 

6291562

Reassembly failures on Windows.

On the Windows platform, with certain configurations and load, there may be a large number of reassembly failures in the operating system. The problem has been seen with configurations of more than 20 nodes when running several table scans (select *) in parallel. The symptoms could be that transactions abort frequently, or repair and recovery may take a long time to complete, and there may be frequent timeouts in various parts of the system. 

Solution

To fix the problem, the Windows registry variable HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters should be set to a value higher than the default value of 100. We recommend increasing it to 0x1000 (4096). For more information, see article 811003 from the Microsoft support pages: http://support.microsoft.com/default.aspx?scid=kb;en-us;811003

6275319

Non-root users cannot manage HADB.

Installing with Java Enterprise System (as root) does not permit non-root users to manage HADB. 

Solution

Always login as root to manage HADB. 

6275103

hadbm management agent should give a better error message when a session object has timed out and deleted at MA.

Sometimes, a resource contention problem on the server may cause a management client to become disconnected, When reconnecting, a misleading error message, hadbm:Error 22184: A password is required to connect to the management agent may be returned.

Solution

Check if there is a resource problem on the server, take proper action (e.g., add more resources), and retry the operation. 

6273681

Management agents in global and local zones may interfere.

On Solaris 10, stopping a management agent by using the ma-initd script in a global zone stops the management agent in the local zone as well.

Solution

Do not install the management agent both in the global and local zone. 

6271063

Install/removal and symlink preservation.

Regarding install/removal of HADB c package (Solaris: SUNWhadbc, Linux: sun-hadb-c) version <m.n.u-p>, the symlink /opt/SUNWhadb/<m> is never touched once it exists. Thus, it is possible that an orphaned symlink will exist.

Solution

Delete the symlink before install or after uninstall unless in use. 

6265419

Downgrading from HADB Version 4.4.2.5 to HADB Version 4.4.1.7 causes management agent to fail with different error codes.

When downgrading to a previous HADB version, the management agent may fail with different error codes. 

Solution

It is possible to downgrade the HADB database, however the management agent cannot be downgraded if there changes have been made in the repository objects. After a downgrade, you must use the management agent from the latest HADB version. 

6262824

hadbm does not support passwords containing uppercase letters.

Capital letters in passwords are converted to lowercase when the password is stored in hadb. 

Solution

Do not use passwords containing uppercase letters. 

6173886, 6253132

hadbm createdomain may fail.

If running the management agent on a host with multiple network interfaces, the createdomain command may fail if not all network interfaces are on the same subnet:

hadbm:Error 22020: The management agents could not establish a domain, please check that the hosts can communicate with UDP multicast.

The management agents will (if not configured otherwise) use the first interface for UDP multicasts (first as defined by the result from java.net.NetworkInterface.getNetworkInterfaces()).

Solution

The best solution is to tell the management agent which subnet to use (using ma.server.mainternal.interfaces in the configuration file. For example, ma.server.mainternal.interfaces=10.11.100.0). Alternatively you can configure the router between the subnets to route multicast packets (the management agent uses multicast address 228.8.8.8).

Before retrying with a new configuration of the management agents, you should clean up the management agent’s repository. Stop all agents in the domain, and delete all files and directories in the repository directory (identified by repository.dr.path in the management agent configuration file). This must be done on all hosts before restarting the agents with a new configuration file.

6249685

clu_trans_srv process cannot be interrupted on Linux.

There is a bug in the 64 bit version of Red Hat Enterprise Linux 3.0 that makes the clu_trans_srv process end up in an uninterruptible mode when performing asynchronous I/O. This means that kill -9 does not work and the operating system must be rebooted.

Solution

Use a 32 bit version of Red Hat Enterprise Linux 3.0. 

6230792, 6230415

Starting, stopping or reconfiguring HADB may fail or hang.

On AMD OpteronTM systems running Solaris 10, starting, stopping or reconfiguring HADB using the hadbm command may fail or hang with one of the following errors:

hadbm:Error 22009: The command issued had no progress in the last 300 seconds.

HADB-E-21070: The operation did not complete within the time limit, but has not been cancelled and may complete at a later time.

This may happen if there are inconsistencies while reading/writing to a file (nomandevice) which the clu_noman_srv process uses. This problem can be detected by looking for the following messages in the HADB history files:

n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Child process noman3 733 does not respond.

n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Have not heard from it in 104.537454 sec

n:3 NSUP INF 2005-02-11 18:00:33.844 p:731 Child process noman3 733 did not start.

Solution

To solve the problem, run the following command for the affected node: 

hadbm restartnode --level=clear nodeno dbname

Note that all devices for the node will be reinitialized. You may have to stop the node before reinitializing it. 

None

HADB database creation fails.

Creating a new database may fail with the following error, stating that too few shared memory segments are available: 

HADB-E-21054: System resource is unavailable : HADB-S-05512: Attaching shared memory segment with key "xxxxx" failed, OS status=24 OS error message: Too many open files.

Solution

Verify that shared memory is configured and the configuration is working. In particular, on Solaris 8, inspect the file /etc/system, and check that the value of the variable shmsys:shminfo_shmseg is at least six times the number of nodes per host.

6232140

The management agent terminates with the exception, "IPV6_MULTICAST_IF failed."

The management agent may terminate with the exception, IPV6_MULTICAST_IF failed, when starting on a host running Solaris 8 with several NIC cards, and if there is a mixture of cards with IPv6 and IPv4 enabled. The root cause is described in bug 4418866/4418865.

Solution

  1. Set the environment variable, _JAVA_OPTIONS, as described here:

    $> export _JAVA_OPTIONS="-Djava.net.preferIPv4Stack=true”

  2. Alternatively, use Solaris 9.

6171832, 6172138

Stale sessions are not cleaned up leading to degraded HADB performance, or the data device is getting full.

Solution

To remove stale sessions efficiently, modify the sun-ejb-jar.xml file to set the value of cache-idle-timeout-in-seconds to less than the removal-timeout-in-seconds value.

If the cache-idle-timeout-in-seconds is equal to or greater than the removal-timeout-in-seconds, old sessions will not be cleaned-up in HADB, which is the expected behavior.

If you continue to face issues with stale sessions even after setting these properties as recommended, contact product support for help. 

6171994

Improper permissions in security.policy file causing startup hang.

Description

hadb-jdbc has improper access permissions in the security.policy file.

Solution

If there is an intermittent hang during startup, add the following suggested permissions in the security.policy file: 

By default, the following is present: 

permission java.net.SocketPermission "*", "connect";

Suggested permissions: 

permission java.net.SocketPermission "*", "connect accept,listen,resolve";

5042351

New tables created after new nodes are added will not spread on the added nodes.

Description

If a user creates a database instance, add nodes to it, then any new tables created afterwards will not be fragmented on the nodes added after database creation. Only the tables created before addnodes will be able to use the added nodes when hadbm addnodes refragment it.

This is because create table uses the sysnode node group which is created at the boot time of the database (when hadbm create is executed).

Solution

Run hadbm refragment after new tables have been added, or create the new tables on nodegroup, all_nodes.

6158393

HADB problem with RedHat AS 3.0 in co-located mode under load.

Description

HADB runs on RedHat Linux AS 3.0 co-located with Application Server. Transactions may get aborted and affect the performance. This is caused by the excessive swapping performed by the operating system. 

Solution

This issue appears to have been resolved when HADB was tested against RedHat Linux AS 3.0 Update 4. 

6214601

Addnodes fails with table not found error since hadbm searches user tables in sysroot schema.

Description

The hadbm refragment command fails with: 

hadbm:Error 22042: Database could not be refragmented. Please retry with hadbm refragment command to refragment the database.. Caused by: HADB-E-11701: *Table singlesignon not found*

Solution

Refragment the Application Server tables manually with the help of clusql:

> clusql server:port list> system+dbpassword specified at database create>

SQL: set autocommit on;

SQL: set schema haschema;

SQL: alter table sessionattribute nodegroup all_nodes;

SQL: alter table singlesignon nodegroup all_nodes;

SQL: alter table statefulsessionbean nodegroup all_nodes;

SQL: alter table sessionheader nodegroup all_nodes;

SQL: alter table blobsessions nodegroup all_nodes;

SQL: quit;

6159633

configure-ha-cluster may hang.

Description

When the asadmin configure-ha-cluster command is used to create or configure a highly available cluster on more than one host, the command hangs. There are no exceptions thrown from the HADB Management Agent or the Application Server.

Solution

HADB does not support heterogeneous paths across nodes in a database cluster. Make sure that the HADB server installation directory and configuration directory are the same across all participating hosts. 

Additionally, clear the repository directories before running the command again. 

6197822

hadbm set brings the database instance to a state from which it is difficult to recover.

Description

In this scenario, the hadbm set command fails when attempting to change some database configuration variable; for example, setting DataBufferPoolSize to a larger size fails due to insufficient shared memory on node-0. The hadbm set command then leaves the database with node-0 in stopped state and node-1 in running state. Resetting the pool size back to the original value with the help of hadbm set fails with the message:

22073: The operation requires restart of node 1. Its mirror node is currently not available. Use hadbm status --nodes to see the status of the nodes.

In this case, hadbm startnode 0 also fails. 

Solution

Stop the database, then restore the old values using hadbm set and restart the database.

6200133

Failure in configure-ha-cluster; creating an HADB instance fails.

Description

Attempts to create a HADB cluster fails with the message: 

HADB-E-00208: The transaction was aborted.

The booting transaction populating the SQL dictionary tables gets aborted. 

Solution

Run the configure-ha-cluster command again. If you run the hadbm create command and it fails with the previous message, rerun it.

5091349

Heterogeneous install paths are not supported.

It’s not possible to register the same software package with the same name at different locations on different hosts. 

Solution

HADB does not support heterogeneous paths across nodes in a database cluster. Ensure that the HADB server installation directory and configuration directory are same across all participating hosts. 

5091280

hadbm set does not check resource availability (disk and memory space)

Scenario

Increasing device or buffer sizes using hadbm set.

Description

The management system will check resource availability when creating databases or adding nodes, but it will not check if there are sufficient resources available when device or main-memory buffer sizes are changed. 

Solution

Check that there is enough free disk/memory space on all hosts before increasing any of the devicesize or buffersize configuration attributes.

4855623

When one of the nodes’ host is down, hadbm stop command does not exit.

The hadbm stop command may not be able to shutdown a database completely if HADB nodes do not receive shutdown messages due to network problems. The typical symptom is that hadbm takes more than 60 seconds to complete. In this situation, hadbm stop/delete will not work. You must specify the nodes that needs to be shutdown. 

Solution

  1. To determine which nodes are still alive, use hadbm status --nodes.

  2. For each of the partially running nodes, run hadbm stopnode -f node_number.

4861337

If an active data node fails while executing hadm stopdb, hadm startdb will fail.

hadbm status should return non-operational if the database is unable to start.

Solution

To correct the problem: 

  1. Run hadbm clear --fast

    If this command reports failures of type, address in use, for each machine in the system, login and kill all processes starting with clu_.

  2. Rerun the command, hadbm clear --fast.

    This will restart the database, causing the loss of all data.

  3. Recreate the session-store.

    For details on creating the session-store, see Sun Java System Application Server Administration Guide.

4958827

Child process transaction does not respond.

When a host machine accommodates more than one HADB node and all nodes use the same disk for placing their devices, it is observed that the disk I/O becomes the bottleneck. HADB process have been waiting for asynchronous I/O and therefore did not answer the node supervisor’s heartbeat check. This causes the processes to be restarted by the node supervisor. Although this problem can occur on any operating system, it is observed on Red Hat Linux AS 2.1 and 3. 

Solution

Use separate disks to place the devices belonging to different HADB nodes residing on the same machine. 

None

HADB Configuration with Double Networks

HADB, configured with double networks on two subnets, work properly on Solaris SPARC. However, due to problems in the operating system or network drivers on some hardware platforms, it is observed that Solaris x86 and Linux platforms do not handle double networks properly. This causes the following problems to HADB: 

  • On Linux, some of the HADB processes are blocked on message sending. This causes HADB node restarts and network partitioning.

  • On Solaris x86, after a network failure, some problems may arise that prohibits switching to the other network interface. This does not happen all the time, so it is still better to have two networks than one. These problems are partially solved in Solaris 10.

  • Trunking is not supported.

  • HADB does not support double networks on Windows 2003 (bug id 5103186).

Server Administration

This section contains the following sections:

Command Line Interface (CLI)

This section describes the known command-line interface issues and associated solutions.

ID 

Summary 

4676889

CLI command overflows in single-mode if the command is more than 256 characters long.

On UNIX(R), when executing a CLI command in single-mode that contains more than 256 characters, the command fails with this error: ...Command Not Found...

This is a terminal restriction, not a CLI restriction. 

Example: 

create-jdbc-connection-pool --instance server4 --datasourceuser admin --datasourcepassword adminadmin --datasourceclassname test --datasourceurl test --minpoolsize=8 --maxpoolsize=32 --maxwait=60000 --poolresize=2 --idletimeout=300 --connectionvalidate=false --validationmethod=auto-commit --failconnection=false --description test sample_connectionpoolid)

Solution

  1. For commands that require more than 256 characters, use CLI multi-mode.

  2. If you must use single-mode, run the command using OpenWin cmdtool.

Administration Infrastructure

This section describes the known administration infrastructure issues and associated solutions.

ID 

Summary 

6635248

*~ wildcard pattern does not work as documented.

See the Sun ONE Application Server 7 Developer's Guide (817–2176) for a list of available wildcard patterns used by Sun Application Server. However, the wildcard pattern with tilde in the ppath does not work as documented.

Solution

Add one of the following to the obj.conf file.

  • <Object ppath="/test[^h].html"> PathCheck fn="htaccess-find" filename=".htaccess"</Object>

  • <Object ppath="*~*(.testh.html|.testh.html/)">PathCheck fn="htaccess-find" filename=".htaccess" </Object>

  • <Object ppath="*~*.testh.html*"> PathCheck fn="htaccess-find" filename=".htaccess" </Object>

6245376

Virtual server’s obj.conf is not removed after deleting the virtual server.

By default, the configuration file for a virtual server is not removed from the filesystem after deleting the virtual server. 

Solution

Manually remove the virtual_server-obj.conf file of the deleted virtual server.

4686003

HTTP Quality of Service limits are not enforced.

Quality of Service (QOS) includes a means of specifying the maximum number of HTTP connections and the bandwidth limit. When these attributes are exceeded, a 503 error should be returned to the client. However, after enabling QOS through the Administration interface, the server does not enforce the QOS limits. 

Solution

To fully enable QOS features, you must manually add an AuthTrans fn=qos-handler line to the top of the default object in the obj.conf file of the virtual server. The qos-handler Server Application Function (SAF) and obj.conf configuration file are described in the Developer’s Guide to NSAPI.

4740022

SNMP: END OF MIB is returned when adding and starting a new instance server.

If you add and start a new instance without shutting down the instance server and subagent, an END OF MIB message is returned.

Solution

  1. To view a new instance, make sure the subagent and all the instance server processes are shut down. Under each server ->Monitoring -> "Enable SNMP Statistics Collection: on", apply the change, then restart each instance server, and start only one subagent process again.

  2. If the subagent is already running, don’t start any extra subagent processes in any instance. There can only be one master agent and one subagent for a Application Server installation (common for all domains/instances).

4865739

Negative test for instance port in server.xml corrupts domains.bin

If the port number and/or IP Address includes a letter character, no new instances can be created and the current instances become unmanageable. 

Solution

  1. Edit the server.xml file and the backup server.xml and correct the port number and/or IP Address.

  2. Execute the asadmin reconfig command using the keepmanualchanges=true option.

  3. Using the Administration Interface, stop the instance by selecting the instance name in the Administration tree.

  4. Restart the administration server and application server instance.

Administration Interface

When using Administration interface, make sure that the browser is configured to check for newer versions of pages from the server, instead of picking these from cache. Generally, default browser settings would not cause problems.

This section describes the known administration graphical user interface issues, and the associated solutions.

ID 

Summary 

4725473

External certificate nickname doesn’t display on the Admin Console Nickname list.

When you install an external certificate through the Application Server Administration interface, a problem is encountered when you attempt to enable SSL for the http-listener by using the certificate that is installed on the external cryptographic module. Although the installation of the certificate is successful, the certificate nickname does not display in the Administration interface. 

Solution

  1. Log in to the system where the Sun ONE Application Server software is installed as an Administrative User.

  2. Link the http-listener to the certificate installed on the external cryptographic module. Execute the asadmin command. For more information on the asadmin command, see the asadmin(1M) man page.

    /sun/appserver7/bin/asadmin create-ssl --user admin --password password --host host_name --port 8888 --type http-listener --certname nobody@apprealm:Server-Cert --instance server1 --ssl3enabled=true --ssl3tlsciphers +rsa_rc4_128_md5 http-listener-1

    This command establishes the link between the certificate and the server instance; it does not install the certificate (which was done using the Admin Console). Even though the certificate is linked with http-listener, the http-listener will be listening in non-SSL mode.

  3. Enable the http-listener to listen in SSL mode by using the following CLI command.

    /sun/appserver7/bin/asadmin set --user admin --password password --host host_name --port 8888 server1.http-listener.http-listener-1.securityEnabled=true

    This command switches the server instance listening state from non-SSL to SSL.

    After completing the preceding steps, the certificate is displayed in the Admin Console.

  4. You can now use the Admin Console to edit the http-listener as needed.

4760939

SSL: A self-signed certificate generated by certutil is not displayed on the Certificate Nickname list.

A self-signed certificate is generated by the certutil and Certificate Nickname is not displayed on the Admin Console. 

Solution

To use a self-signed certificate, you must manually edit the server.xml file.

4991824

Restart times out after SSL is enabled from the Admin Console.

Solution

Stop and start the server when SSL is enabled instead of doing a instance restart. 

4988332

“Apply Changes Required” icon appears even though no changes have been made.

In the Admin Console, when an Application Server instance’s properties or settings are viewed, the Apply Changes Required” icon appears even if no changes have been made to the settings. 

Solution

This message appears only once and does not make any changes to the Application Server. Select “Apply Changes” when you get this message. 

5011969

On Solaris x86, HTTP listener and IIOP listener pages in the Administration interface give errors.

Solution

The problem is caused by certain versions of jss3.jar. Two workarounds exist: 

For patch levels 115924-03, 115925-03, 115926-03, 115927-03, upgrade the SUNWjss package with a later version. 

Remove the path to jss3.jar from the server’s classpath as described here:

  1. Open server.xml for editing.

  2. Remove usr/share/lib/mps/secv1/jss3.jar from the classpath.

    This is the first entry in the classpath unless you have explicitly modified it.

  3. Save server.xml and run asadmin reconfig.

  4. Before starting your server instance, you also need to rename jss3.jar.

Sample Applications

This section describes known sample application issues and associated solutions.

ID 

Summary 

5048279

Steps 1&2 of the Precompilation Tasks section of JDBC Realm Authentication sample is incomplete.

Solution

The proper steps for 1 and 2 should be: 

  1. 1. Start the PointBase database server.

    Go to the appserver_install_root/pointbase/server directory and run the StartServer.sh script.

  2. Start the PointBase Console.

    • Go to the appserver_install_root/pointbase/client_tools directory and run the PB_console.sh script.

    • The database URL is: jdbc:pontbase:server://localhost/sun-appserv-samples

    • The default admin username is: security.

    • The default admin password is: security.

  3. Verify that the PUBLIC.user_tbl exists and contains users.

    • Navigate to the Catalog -> Catalog menu item.

    • Within the Database Catalog, navigate to the PUBLIC, TABLES, USER_TBL node.

    • Right-click the USER_TBL node and click SELECT * FROM "PUBLIC"."USER_TBL" within the pop-up menu.

4739854

Instructions needed for deploying resources using asadmin.

In the documentation for some samples, your are instructed to deploy the application using the asadmin command, but no explanation is provided on how to create the needed resources.

Solution

You can deploy the application/resource by using the asadmin command and can get more information by referring to the sample’s build.xml file. More information can also be found in the printout from running asant deploy.

For JDBC/BLOB example, the following steps create the resources using asadmin (assuming the hostname is jackiel2 and the username/password/port for the Admin Server is admin/adminadmin/4848):

asadmin create-jdbc-connection-pool --port 4848 --host jackiel2 --password adminadmin --user admin jdbc-simple-pool

--datasourceclassname com.pointbase.jdbc.jdbcDataSource --instance server1

asadmin set --port 4848 --host jackiel2 --password adminadmin --user admin

server1.jdbc-connection-pool.jdbc-simple-pool.property.DatabaseName=jdbc:pointbase:server://localhost/sun-appserv-samples

4993620

afterCompletion() called with false when more than one XA connection is used.

Using a modified version of samples/transactions/ejb/cmt/bank application - The BankBean ejb connects to two databases. one for checking a/c and one for saving. There are two connection pools created which are configured for oracle.jdbc.xa.client.OracleXADataSource datasource and global transactions have been turned on.

Running the standalone client which transfers some balance and retrieves the checking as well as saving balances, three remote calls are made - transferBalance(), getCheckingBalance() and getSavingsBalance().

It is observed that afterCompletion for getCheckingBalance() invocation is called with committed=false, although all the database operations were successful.

For example, the following is executed: 

appclient -client /space/S1AS/installation/domains/domain1/server1/applications/j2ee-apps/transactions-bank_13/transact -name BankClient -textauth com.sun.jndi.cosnaming.CNCtxFactory iiop://localhost:3700

Result: afterCompletion() is called with false even though tx is successful for a stateful session bean that uses more than one XA connections and performs only read-only db operations.

Solution

The current JTS implementation does not support this. 

5016748

The description for running SFSB Failover sample application using java client is incorrect.

The java command for running the SFSB Failover sample application in the sample application documentation is incorrect. 

Solution

The following is the correct description for running sfsbFailover with java client: 

Running sfsbFailover sample with local or remote RMI/IIOP-based client without ACC: 

The java client is executed without using the interface of Application Client Container. It can be executed on the local machine (ashost) or a remote machine. The client application runs from the command line, i.e. 

java -Djava.library.path=$AS_INSTALL/lib:/usr/lib/mps

-Dcom.sun.CORBA.connection.ORBSocketFactoryClass=com.sun.enterprise.iiop.EEIIOPSocketFactory-Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sun.appserv.ee.iiop.EEORBInitializer-Dorg.omg.CORBA.ORBClass=com.sun.enterprise.iiop.POAEJBORB-Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.ee.internal.corba.ORBSingleton-Djavax.rmi.CORBA.UtilClass=com.sun.corba.ee.internal.POA.ShutdownUtilDelegate-classpath <CP> <ClientApp>java.naming.factory.initial=com.sun.appserv.naming.S1ASCtxFactorycom.sun.appserv.iiop.loadbalancingpolicy=ic-basedcom.sun.appserv.iiop.endpoints=host:port,host:port

where: 

  • CP includes five jar files for CLASSPATH which are sfsbFailover.jar, appserv-rt.jar, appserv-ext.jar and appserver-rt-ee.jar,appserv-admin.jar.

The file of sfsbFailoverClient.jar is copied to the current directory from the deployment directory: install_dir/domains/domain1/server1/applications/j2ee-apps/sfsbFailover_1

The other jars are copied to the current directory from AS installation: install_dir/lib

If you intend to run the client application on a remote machine, you need to transfer the sfsbFailoverClient.jar and other three appserver jar files to the client machine. Although the sfsbFailoverClient.jar file is used in this example to run application client with or without an ACC, it contains more files than absolutely necessary for the situation in which an ACC is not used. The minimal files required to run the example on a remote machine without an ACC are the appserv-ext.jar file and the following files as extracted from the sfsbFailoverClient.jar file:

samples/ejb/stateful/simple/ejb/Cart.class - Remote Interfacesamples/ejb/stateful/simple/ejb/CartHome.class - Home Interfacesamples/ejb/stateful/simple/ejb/_Cart_Stub.class - Remote Stubsamples/ejb/stateful/simple/ejb/_CartHome_Stub.class - Home Stubsamples/ejb/stateful/simple/client/CartClient.class - Client Application Main Class

The appserv-ext.jar file is required on the client machine because it contains the javax.ejb package that the client needs, and also contains the implementation and interface for J2EE APIs that the client may need.

  • ClientApp refers to the client program. In this example: samples.ejb.stateful.simple.client.CartClient

5016748 cont.

  • URL refers to the comma separated list of application server running as part of one cluster with hostname (e.g. ashost) and with an ORB-port (e.g. 3700). For example,

ashost:3700,ashost:3701,ashost:3702

The following is a complete example for the command: 

java -Djava.library.path=$AS_ISNTALLlib:/usr/lib/mps

-Dcom.sun.CORBA.connection.ORBSocketFactoryClass=com.sun.enterprise.iiop.EEIIOPSocketFactory-Dorg.omg.PortableInterceptor.ORBInitializerClass.com.sun.appserv.ee.iiop.EEORBInitializer-Dorg.omg.CORBA.ORBClass=com.sun.enterprise.iiop.POAEJBORB-Dorg.omg.CORBA.ORBSingletonClass=com.sun.corba.ee.internal.corba.ORBSingleton-Djavax.rmi.CORBA.UtilClass=com.sun.corba.ee.internal.POA.ShutdownUtilDelegate -classpathsfsbFailoverClient.jar:appserv-ext.jar:appserv-rt.jar:appserv-rt-ee.jar:appserv-admin.jarsamples.ejb.stateful.simple.client.CartClientjava.naming.factory.initial=com.sun.appserv.naming.S1ASCtxFactorycom.sun.appserv.iiop.loadbalancingpolicy=ic-basedcom.sun.appserv.iiop.endpoints=localhost:3700,localhost:3701

Include $AS_INSTALL/lib and /usr/lib/mps in LD_LIBRARY_PATH before running the command. 

You will see interactive console, which helps you to also test the high availability of the SFSB, InitialContext, Home reference and remote reference. After creating the InitialContext, press Enter. The reference is failed over to another available server instance. You can test the failover behavior for home reference, remote reference as well in the same way.

5016656

Samples document points to incorrect path for PointBase startup scripts.

The path of startserver.sh is incorrectly mentioned as pointbase_install_dir/tools/server/startserver.sh.

Solution

The correct path to the PointBase startup script is pointbase_install_dir/client_tools/server/startserver.sh.

5016647

Indent-amount issue with Coffee Break application in JWSDP 1.0_01.

The following error is displayed while running the Coffee Break sample application: 

ERROR: output property ’indent-amount’ not recognized 

Solution

This is a known issue in JWSDP 1.0_01. To avoid this issue, use a JWSDP version later than 1.1. 

ORB/IIOP Listener

This section describes known ORB/IIOP-Listener issues and associated solutions.

ID 

Summa 

4743419

RMI-IIOP clients will not work for IPv6 addresses where DNS address lookups fail for the IPv6 address.

If a DNS lookup for an IPv6 address fails, clients of Remote Method Invocation-Internet Inter-ORB Protocol (RMI-IIOP) will not work for IPv6 addresses. 

Solution

Domain Name Service (DNS) should be set up at the deployment site in order to look up an IPv6 address. 

5017470

Default IIOP port numbers assigned by the Application Server are randomly generated.

When a new ORB listener or IIOP endpoint is created, the IIOP Port value varies, depending on whether one is creating an ORB Listener or IIOP Endpoint. 

  1. Creating a new ORB Listener > The IIOP port value cannot be left blank, though the * that signifies a ’must-specify’ entry is not present. The default value shown is 1072, although the listener port value for the default listener created during server installation is 3700.

  2. Creating a new IIOP Endpoint > The default IIOP port value shown is 3600. If an endpoint is created with the port value left blank, an IIOP endpoint is created with IIOP port value null.

  3. If an new server instance is created, the default ORB listener port value is an arbitrarily high value, usually > 30000.

Solution

IIOP port values should not exceed 32767. If the values configured are outside this range, a connection failure occurs during failover. When configuring the IIOP listener for the server, ensure that the port values are within this range. 

Documentation

This section describes the known documentation issues and associated solutions.

ID 

Summary 

6489168

Instructions in the README.txt file in the <addons_install>/se directory need to be revised for clarity.

The README.txt currently reads as follows: 

Installing on Solaris as root user 

1) Copy SUNWaspx from the RootInstall directory on the CD to directory on your machine. 

2) Change the directory to where SUNWaspx was copied. 

$ cd <addons_install>/ProxyPlugin

Solution:

The instructions in README.txt must read as follows: 

1) Copy SUNWaspx from the RootInstall directory on the CD to a directory on your machine. 

$ cp -R <addons_install>/se/WebPlugins/RootInstall/SUNWaspx /var/tmp

2) Change the directory to where SUNWaspx was copied. 

$ cd /var/tmp

6511489

Information regarding KeepAliveFlushes in the Sun Java System Application Server Performance Tuning guide is incorrect.

The Performance Tuning guide currently has the following information:

The number of times the server had to close a connection because the KeepAliveCount exceeded the MaxKeepAliveConnections. This setting is not tunable. 

Solution

The statement must read as follows: 

Application Server does not close existing connections when the KeepAliveCount exceeds the MaxKeepAliveConnections. Instead, new keep-alive connections are refused and the KeepAliveRefusals count is incremented. 

6495372

The section on Dynamic Deployment in Chapter 13 - Application Deployment of the Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 3 Administration Guide (English) or the Sun ONE Application Server 7 Administration Guide (Japanese) does not warn users about errors that could occur if they attempt dynamic deployment when a client is accessing the server. 

Solution

It is recommended that you execute the online dynamic deployment only when a client is not accessing the server. An error could occur in the data processing for memory and files if a client accesses the server during the application deployment process. 

6412668

The following statement in the Configuring the File Cache section of the Application Server 7 Performance Tuning Guide is incorrect:

By default, Transmit File is enabled on NT, and not enabled on Unix. On Unix, enable Transmit File for platforms that have native OS support for PR_TransmitFile, which currently includes HP-UX and AIX. It is not recommended for other Unix/Linux platforms. 

Solution

The statement must read as follows: 

By default, Transmit File is enabled on NT, and not enabled on Unix. On Unix, Transmit File is enabled for platforms that have native OS support for PR_TransmitFile, which currently includes Solaris, HP-UX and AIX. It is not recommended for other Unix/Linux platforms. 

6067211

Change in behavior of sessionFilename for memory persistence in Application Server 7 2004Q2 as compared to Application Server 7.0 series not documented.

The sessionFileName property in the manager-properties table from Developer’s Guide to Web Applications should read:

Specifies the absolute or relative pathname of the file in which the session state is preserved between application restarts, if preserving the state is possible. A relative pathname is relative to the temporary directory for this web module. The actual name of the file gets prepended with the context information. For example, if you specify fileName to be /tmp/Session and the web app context name is MemoryPersistenceApp, the session state is preserved in /tmp/MemoryPersistenceAppSession.

This is applicable only if the persistence-type attribute of the session-manager element is memory. 

5060001

Typo in sample config.xml in Developing JAX-RPC Web Services chapter.

In the Developer’s Guide to Web Services chapter, Developing JAX-RPC Web Services, the sample config.xml incorrectly capitalizes the S in targetNamespace and typeNamespace.

Solution

targetNameSpace should be targetNamespace.

typeNameSpace should be typeNamespace.

5050378

Incorrect button label specified in Application Server 7 2004Q2 Getting Started Guide.

In Chapter 1, under Session Persistence Types, the guide incorrectly states to use the Save button to complete the procedure. 

There is no Save button. Use the OK button. 

6267772

Instructions for configuring Borland OptimizeIt are incorrect.

Sun Java System Application Server Developer’s Guide contains a typo in instructions for configuring Borland OptimizeIt Profiler. 

Solution

Use the following parameters for JVM options in the Profiler tab: 

-DOPTITHOME=Optimizeit_dir-Xbootclasspath/p:/Optimizit_dir/lib/oibcp.jar-Xrunpri:startAudit=t

5039674

Error in asadmin create-jdbc-connection-pool man page.

The current description of --restype is incorrect. 

The -restype must be specified to disambiguate when a Datasource class implements both interfaces. An error is produced when this option has a legal value and the indicated interface is not implemented by the datasource class. This option has no default value. 

Solution

--restype must be specified to disambiguate when a datasource class implements more than one of the JDBC interfaces javax.sql.DataSource, javax.sql.ConnectionPoolDataSource or javax.sql.XADataSource. An error is produced when this option has a legal value and the indicated interface is not implemented by the datasource class.

5010038

Incorrect information in Administration Console online help on security realms.

In Application server Administration console, under Appserver instances>Server1>Security>Realms, the help file lists the different realms as: file, ldap, certificate, solaris.

This is incorrect. The actual realms are: file, ldap, certificate, agentRealm. The Application Server installer sets the security realm to agentRealm by default.

6190702

hadbm help gives outdated information.

Solution

For the latest information, see Chapter, “Administering the High-Availability Database (Enterprise Edition),” in Sun Java System Application Server Standard and Enterprise Edition 7 2004Q2 Update 3 Administration Guide (819–2783).

4970418

In the create-ssl man page, a space is missing between --certname and cert_name.

Solution

The correct syntax for the --certname option is as follows:

--certname cert_name

4993601

Outdated help files from Sun ONE Application Server 7, Enterprise Edition are displayed.

Solution

If you have previously installed a different version of the Sun Java System Application Server (for example, Sun ONE Application Server 7, Enterprise Edition), make sure that your MANPATH environment variable points to your current installation directory. 

5008199

Documentation error in the example section of the delete-jvm-options manpage.

The example should read as follows: 

asadmin delete-jvm-options --user admin --password adminadmin --host localhost --port 4848 --instance server1 -- "-Djava.security.policy=/var/opt/SUNWappserver7/domains/domain1/server1/config/server.policy"

None

Installation Guide PDF file in product CD is corrupt.

Solution

Use the HTML version of the Installation Guide.