Sun Java System Application Server 7 Release Notes

Sun Java™ System Application Server 7 Release Notes

(Formerly Sun ONE Application Server)

Version 7, Update 7

Part Number 819-3233

June 2005

These release notes contain important information available at the time of the Update 7 release of the Sun Java System Application Server, Version 7 product (formerly known as Sun™ Open Net Environment (ONE) Application Server).


Note

Throughout this document and other documents in the documentation set, the product is still referred to as Sun ONE Application Server.


Enhancements, installation notes, known problems, and other late-breaking issues are addressed here. Read this document and associated documents before you begin using the Sun ONE Application Server 7, Update 7.

This document contains the following sections:


Release Notes Revision History

This section lists the changes that have been made in these release notes after the initial release of the Sun ONE Application Server 7, product.

Table 1  Revision History 

Date

Description of Changes

June 2005

Initial release of Sun ONE Application Server 7, Update 7.


About Sun ONE Application Server, Version 7, Update 7

Sun ONE Application Server 7 provides a high-performance J2EE platform suitable for broad deployment of application services and web services.

This section includes:

What’s New in the Sun ONE Application Server 7 Product

Information on what’s new in the Sun ONE Application Server 7 product can be found in the Sun ONE Application Server What’s New document at this location:

http://docs.sun.com/db/prod/s1.asse

For information on what has changed for this update, see "Important Information" .

Requirements and Limitations

Information on the platform requirements for the Sun ONE Application Server 7 Update 7 product can be found in the Sun ONE Application Server Platform Summary document at this location:

http://docs.sun.com/db/prod/s1.asse

The following topics are addressed in this section:

Platform Requirements

The following table summarizes the Sun ONE Application Server 7, Update 7 requirements. For complete platform information, see the Sun ONE Application Server Platform Summary document at this location:

http://docs.sun.com/db/prod/s1.asse

Table 2  Platform Requirements for Sun ONE Application Server 

Operating System

Architecture

Minimum Memory

Recommended Memory

Minimum Disk Space

Recommended Disk Space

UNIX

Sun Solaris 8 or 9 for SPARC

32 and 64 bit

256 MB without Sun Java Studio

512 MB with Sun Java Studio

512 MB

250 MB free

500 MB free

Solaris x86, Version 9

32 bit

Red Hat Linux 7.2, 7.3

Red Hat Enterprise Linux 2.1, 3.0

Microsoft Windows

Windows 2000 Advanced Server, SP2

Windows 2000 Server, SP2

Windows 2000 Professional, SP2

Windows XP Professional

Intel 32 bit

256 MB without Sun Java Studio

256 MB with Sun Java Studio

256 MB without Sun Java Studio

512 MB with Sun Java Studio

250 MB free

500 MB free

Solaris Patches

Solaris 8 users must have the Sun recommended patch cluster installed, available under “Recommended and Security Patches” at this location:

http://sunsolve.sun.com/

Patches that are absolutely required for Solaris 8 are 109326-06, 108993-23, and 110934 (any revision, for package based installation only). Without these patches, which the installer checks for, you won't be able to install or run the Sun ONE Application Server software. These patches are already contained in the latest recommended patch cluster.

Solaris x86 Limitations

Installing or Upgrading Japanese and Simplified Chinese Sun ONE Application Server

Sun ONE Application Server 7, Update 7 does not have a separate release for Japanese or Simplified Chinese. If you have an existing installation you must upgrade to the English version of Update 7. Once you have upgraded to Update 7, your localized version of the software will contain all the latest fixed bugs.

Full instructions for installing and upgrading to Sun ONE Application Server, Update 7 are contained in the Sun ONE Application Server Installation Guide at this location:

http://docs.sun.com/db/prod/s1.asse

Different versions of the software have different upgrade paths.

Installing for the First Time

If you have not previously installed Sun ONE Application Server 7, first install the Japanese or Simplified Chinese Sun ONE Application Server 7, Update 4, then upgrade to the English version of Update 7.

Upgrading from Update 3, Update 4, or Update 5

To upgrade your Japanese or Simplified Chinese version from Update 3, Update 4, or Update 5, upgrade to the English version of Update 7. Upgrade instructions are provided in the Installation Guide.

Upgrading from Update 2 or Earlier

If you have Sun ONE Application Server 7, Update 2 or an earlier version of Sun ONE Application Server 7, first upgrade to the Japanese or Simplified Chinese version of Sun ONE Application Server 7, Update 4, then upgrade to the English version of Update 7.


Important Information

This section covers the following topics:

Documentation

All Sun Microsystems product documentation can be found at this location:

http://docs.sun.com/

This section addresses the following topics:

Sun ONE Application Server 7 Documentation

For this early access of Sun ONE Application Server 7, Update 7, only these release notes have been updated. But you can refer to the Sun ONE Application Server 7, Update 6 documentation set for instructions on how to deploy and use the product.


Note

For significant issues, a document might be revised. In this case, the revised version will be posted to this site. The date last updated is displayed with the copyright information in the HTML version of the document.


The Sun ONE Application Server 7, Update 6 documents can be found at this location:

http://docs.sun.com/db/prod/s1.asse

The following list provides the part number and a brief description for each of the documents in the Sun ONE Application Server collection:

Referenced Documentation

Documentation for other Sun ONE products is often referenced in the Sun ONE Application Server documentation.

Sun ONE Message Queue Documentation

The Sun ONE Message Queue (also known as Sun Java System Message Queue) subsystem that is integrated with the Sun ONE Application Server has its own documentation that can be found at the following location:

http://docs.sun.com/db?p=prod/s1.s1msgqu

Sun Java Studio 5, Standard Edition Documentation

The Sun Java Studio 5, Standard Edition product that you can use with the Sun ONE Application Server has its own documentation that can be found at the following location:

For Sun Java Studio 5, Standard Edition, Update 1 documentation:

http://docs.sun.com/db/prod/java.studio

Accessibility

Sun ONE Application Server product documentation is provided in accessible formats that are readable by assistive technologies.

The product provides many accessibility features that enable you to read about and use the product in the manner that is most comfortable and convenient to you. These features include:

If you want to modify the Sun ONE Application Server HTML online help, you can go to the help directory and edit the style sheet which is located here:

server_root/lib/install/applications/admingui/adminGUI_war/help

Restart the Admin Server for changes to take effect.

Upgrade Notes

The entire documentation has not been updated for Sun ONE Application Server, Update 7. However, the instructions for upgrading to Sun ONE Application Server, Update 6 are applicable to this release as well. They are contained in the Sun ONE Application Server Installation Guide at this location:

http://docs.sun.com/db/prod/s1.asse


Bugs Fixed in This Release

This section lists the customer-escalated issues resolved for the Sun ONE Application Server 7, Update 6 and Update 7.

Table 3  Fixed Bugs in Sun ONE Application Server 7, Update 6 and Update 7 

Bug Number

Description

6197275

New install of Sun ONE Application Server Update 5 creates the cert7.db instead of cert8.db certificate database.

2126023

Adding a principal to a security role and removing a principal from a security role did not work as expected after re-deployment.

2126024

Server-Parsed HTML led to the display of JSP sources with a trailing ’/’ in the URI.

2126025

Application Server Reverse SSL Proxy plugin was vulnerable to MITM attacks.

2126026

Missing synchronization in the connection pool could cause deadlock.

2126242

Session Timeout did not appear to be taking into account the last access time.

6240424

A default error page had a cross-site scripting vulnerability.


Known Issues and Limitations

This section describes known problems and associated workarounds for the Sun ONE Application Server 7 product.


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, Upgrade, and Uninstallation

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

ID

Summary

4403166

On Microsoft Windows, package/path/application names longer than 255 characters will fail to deploy applications.

On Microsoft Windows only, long package/path names are not supported because of the JDK™ limitation. During deployment, the deployment tool will try to extract class file from the archive. If the expanded name is more than 255 characters, the extraction will fail.

  • Example of a long application name:

J2EE application name as servlet_jsh_HttpServletRequestWrapper.ear

  • Example of a long package name:

The servlet is located in the following package:

servlet_jsh_HttpServletRequestWrapper_1\
servlet_jsh_HttpServletRequestWrapper_servlet_war\WEB-INF\classes\tests\
javax_servlet_http\HttpServletRequestWrapperHttpServletRequestWrapperCon
structorTestServlet.class

  • Example of a long path name:

Sun ONE Application Server is installed as drive \:> Sun \ApplicationServer

Solution

Consider the following solutions:

1.  Make a shorter directory structure during installation. For example, drive:>App\ instead of the default drive:\>Sun\Apsserver7.

2.  Use the create_instance command to rename the instance to something shorter. For example, /instance1/domain1/ could be changed to /i/d.

3.  Have shorter package names, path names, and application names.

4687768

On Solaris setup-SDK/JDK, an error occurs when installing in command-line mode on a machine without Xwindows.

It is not possible to run the Sun ONE Application Server installer, even in command-line mode, on a hardened Solaris system which does not contain X Windows libraries. The installer will throw java.lang.UnsatisfiedLinkError while instantiating AWT objects used by SetupSDK/Webstart Wizard’s installer framework.

Solution

1.  Install X Windows support packages temporarily, removing them after installing the Sun ONE Application Server product.

2.  Install the Sun ONE Application Server packages using the pkgadd command and create the initial domain using asadmin commands.

4719600

Warning messages occur during installation.

During installation, some invalid error messages might occur. For example:

WARNING: Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.
WARNING: Could not lock System prefs.Unix error code -223460600.

Solution

Ignore these warnings or, alternatively, you can create a system preferences directory (typically /etc/.java/.systemPrefs). This is normally done by the JDK install script.

4737663

On Solaris, if you install both the package-based install and regular install, there is conflict.

If you install both the package-based install (Solaris 9 bundled) and the mainstream installer version of the product, there are potential conflicts. The Sun ONE Message Queue broker for both of these installations will be shared, so if you don't uniquely name the domains and instances, you might see the following message when starting the second instance with the same domain/instance name:

SEVERE: JMS5024: JMS service startup failed.
SEVERE: CORE5071: An error occurred during initialization

In particular, the default domain and instance names are the same for both of these installations.

Solution

Follow the instructions in the “JMS Administration” chapter of the Sun ONE Application Server Administrator’s Guide.

4742038

Sun ONE Application Server does not start if the install directory contains non alpha-numeric characters.

Sun ONE Application Server startup fails if the install directory contains characters such as #, spaces, or any other non alpha-numeric characters. In this case, the server log files are not created. The Sun ONE Application Server install directory can contain only the following characters: alphanumerics, - (dash) or _ (underscore). This also applies to entering existing Java 2 SDK directory during installation.

Solution

During installation, specify a directory where names contain only alphanumeric, dash, or underscore characters.

4742828

Silent installer is not checking user permissions.

Although interactive installers (GUI or command-line) check for appropriate user permissions (admin user for Microsoft Windows platforms, and root user for Solaris package-based installation), this check is not done during silent installation. As a result, installation will fail later in the process because you will not have sufficient permissions to install packages (Solaris) or create services (Microsoft Windows).

Solution

Make sure that silent installation is being run as the appropriate user.

4741190

For Solaris, Installer accepts JDK_LOCATION value even if the location contains an earlier version (earlier than Solaris 1.2).

Sun ONE Application Server 7 requires a Java 2 SDK version greater than or equal to 1.4.0_02. However, on Solaris, if a user chooses to reuse an existing Java 2 SDK (less than version 1.2), the installer might not display a warning message. The installation might complete successfully, but the Sun ONE Application Server might not function properly. This is caused by having an existing JAVA_HOME in your environment.

Solution

Before starting the installation program, unset JAVA_HOME as follows:

(On ksh): unset JAVA_HOME
(On csh): unsetenv JAVA_HOME

4742171

Installing a development installation over an existing evaluation installation in silent mode does not report an error.

Affects installers running in silent mode. If user attempts to install over an existing evaluation installation of Sun ONE Application Server 7 (in the same directory), silent installation does not report any errors and proceeds normally. Existing evaluation installation files are preserved.

Solution

Uninstall existing evaluation installations before installing a new development installation in the same location.

4742552

Selecting Application Server and Sun ONE Studio 4 Enterprise Edition for Java components in the same installation session in command-line and silent mode does not work correctly.

Affects development and operations installations. While running installation in command-line or silent mode, you can choose to install both Application Server and Support for Sun ONE Studio 4 Enterprise Edition for Java components during the same installation session (in GUI mode, these components are mutually exclusive). The installer does not process component dependency correctly and tries to install the Administration Client component instead of the selected Sun ONE Application Server component.

Solution

Simulating GUI mode, first install the Sun ONE Application Server component in command-line or silent mode, then run another installation and install the Support for Sun ONE Studio.

N/A

On Solaris, if the Sun ONE Application Server installer upgrades an existing Sun ONE Message Queue 3.0 to 3.0.1, the resulting installation will be removed during Sun ONE Application Server uninstallation.

Affects Solaris development and operations installer. If an installed Sun ONE Message Queue 3.0 is detected on the system, you are given the option of automatically upgrading this installation to version 3.0.1. If this option is chosen, the resulting Sun ONE Message Queue 3.0.1 installation will be uninstalled during Sun ONE Application Server uninstallation.

Solution

To preserve the Sun ONE Message Queue installation after the Sun ONE Application Server is uninstalled:

1.  Exit the installer when offered the automatic upgrade choice.

2.  Upgrade Sun ONE Message Queue to version 3.0.1 according to Sun ONE Message Queue documentation.

3.  Run Sun ONE Application Server installation again.

4746410

On Solaris, when installing the Sun ONE Application Server in non-default locations, the package-based installer on Solaris does not check disk space in the correct locations.

When attempting to install the Sun ONE Application Server on Solaris (using the package-based installer) in non-default locations, the installation program does not check for disk space in the specified target directory. Instead, it checks for disk space only in the default location (/opt).

Solution

Before starting the installation, make sure that you have adequate disk space (85 MB) in /opt even if you do not plan to install in /opt. In addition, make sure you have adequate disk space (85 MB) in the target directory.

4748404

On Microsoft Windows XP, cannot incrementally install sample applications and PointBase 4.2 components.

This issue affects the Windows XP platform. If you try to incrementally install Sample Applications and/or PointBase 4.2 components over an installed Sun ONE Application Server component, the installer does not correctly detect the existing Sun ONE Application Server installation and reports Application Server Not Found. Installation does not proceed.

Solution

Install sample applications and PointBase 4.2 components together with the Sun ONE Application Server component. If the Sun ONE Application Server is already installed on the system, uninstall it and run installation again, this time selecting all necessary components.

4748455

Directory error occurs during generic silent install.

This issue affects silent installation on all platforms. If the installer finds a problem with a given installation directory, the generic error message Invalid Installation Directory is reported.This error message covers the following situations:

  • Selected directory is not writable.
  • Selected directory string is empty or contains space characters.

Solution

Check the supplied installation directory value for both issues to determine the cause of error.

4749033

On Microsoft Windows XP, cannot uninstall standalone admin client installation using uninstaller.

This issue affects a standalone admin client installation on the Windows XP platform. If user tries to uninstall a standalone admin client through the provided uninstaller, uninstallation tries to uninstall an incorrect set of components and hang.

Solution

Uninstall a standalone admin client manually. Files located in the install_dir directory should be deleted. The related Program Group folder (Start->Programs->Sun Microsystems->Sun ONE Application Server) should also be removed. There are no related Microsoft Windows registry entries for a standalone admin client component; these steps will fully revert the system in the state before admin client installation.

4749666

Samples documentation is not published to initial server instance if Sample Application component has been incrementally installed.

This issue affects the development and operations installer on all platforms. If sample applications are installed in a separate installation session over an installed Sun ONE Application Server, the sample documentation will not be published to the initial server instance and will not be accessible through the http://hostname:port/samples URL. However, documentation is installed on the file system and can be accessed locally at this location: file:///install_root/samples/index.html

Solution

Access samples documentation locally.

4754256

On Solaris, Sun ONE Message Queue configuration files are not preserved during Sun ONE Message Queue upgrade performed by the installer.

If an existing Sun ONE Message Queue 3.0 package has been detected on the system, the installer offers to upgrade this installation to version 3.0.1 which can be used by the Sun ONE Application Server. During this upgrade operation, the existing 3.0 Solaris packages is removed, resulting in the removal of the following configuration files:

/etc/imq/passwd
/etc/imq/accesscontrol.properties

If these files have been modified, those modifications will be lost and the resulting Sun ONE Message Queue 3.0.1 installation will contain the default configuration values.

Solution

Create a backup copy of any user-modified files and restore the backup copies of the files after the upgrade has been completed. For more details, consult Sun ONE Message Queue 3.0 Installation Guide.

4754824

On Solaris, an installer error message occurs while running installation from a CD.

When a volume is inserted into the CD-ROM drive, Solaris volume management assigns it the next symbolic name. For example, if two CD-ROMs match the default regular expression, they are named cdrom0 and cdrom. Any that match the added regular expression would be named starting with cdrom2. This is documented on vold.conf man page. Every time you install the Sun ONE Application Server from the CD, the CD-ROM mount point appends a number after the label name. The first time the CD is mounted everything goes well. On subsequent mounts, the following error message occurs when the installer starts:

IOException:java.io.FileNotFoundException: /cdrom/appserver7 No such file or directory) while loading default flavormap.properties file URL:file:/cdrom/appserver7#4/AppServer7/pkg/jre/lib/flavormap.properties

Solution

Installer functionality is not affected in any way. However, the following workaround exists:

1.  Become the superuser by entering the command su and the root password at the command prompt, or log in as root. The command prompt changes to the pound sign (#).

2.  If the /cdrom directory does not already exist, enter the following command to create it:

   # mkdir /cdrom

3.  Mount the CD-ROM drive.

NOTE: The vold process manages the CD-ROM device and performs the mounting. The CD-ROM might automatically mount onto the /cdrom/cdrom0 directory.

If running File Manager, a separate File Manager window displays the CD-ROM contents.

4.  If the /cdrom/cdrom0 directory is empty because the CD-ROM was not mounted, or if File Manager did not open a window displaying the contents of the CD-ROM, verify that the vold daemon is running by entering:

   # ps -e | grep vold | grep -v grep

5.  If vold is running, the system displays the process identification number of vold. If the system does not display anything, kill the daemon by typing the following:

   # ps -ef | grep vold | grep -v grep

6.  Stop the vold process by entering:

   # kill -15 process_ID_number

7.  Mount the CDROM manually:

   # mount -F hsfs -r ro /dev/dsk/cxtyd0sz /cdrom/cdrom0

where x is the CD-ROM drive controller number, y is the CD-ROM drive SCSI ID number, and z is the slice of the partition on which the CD-ROM is located.

You have now mounted the CD-ROM drive. Refer to Installing and Setting Up CD One on Solaris for procedures on installation.

4755165

On Microsoft Windows, Installer functionality is affected if administrator user credentials are supplied only when running setup.exe.

This issue affects all installations on Microsoft Windows platforms. If a user is logged in without administrator privileges, he/she will be prompted to enter administrator user credentials while attempting to run setup.exe. If the correct credentials are entered, the installer checks for user privileges will be satisfied and installation will proceed. However, some installer functionality will be affected:

  • The installer will hang if the Browse button is selected on the installation directory selection screen.
  • Program Group entries for the Sun ONE Application Server items might not be created.

Solution

Log in as user with administrator privileges when performing installation.

4757687

On Solaris, incremental installation of the Sun ONE Application Server component on the system with previously installed Administration Client component might result in an unusable installation.

This issue affects Solaris package-based installation on a Solaris platform. If user tries to install the Sun ONE Application Server component on the system where a standalone Administration Client component has already been installed, and selects a different installation directory from the one originally used for Administration Client installation, the resulting Sun ONE Application Server installation will be unusable even though the installation outcome is reported as successful. This is because the Administration Client Solaris packages will be detected as already installed on the system, and they will not be installed as the part of the Sun ONE Application Server installation. As a result, files critical for product functionality will be missing.

Solution

Uninstall the standalone Administration Client before attempting to install the Sun ONE Application Server on the same Solaris system.

Alternatively, an incremental installation can be attempted, but the same installation directory that has been used for the Administration Client installation should be used for the subsequent Sun ONE Application Server installation.

4762118

On Solaris, installation fails if a selected custom configuration directory is a subdirectory of the selected installation directory and is called 'etc'.

This issue affects Solaris package-based installation on a Solaris platform. If the following combination of custom directory locations has been selected, installation fail due to inconsistent group ownership information for the same directory:

  • Installation directory: install_dir
  • Configuration directory: install_dir/etc

The pkgadd log file in the /var/sadm/install/logs directory will contain following error message:

pkgadd: ERROR: duplicate pathname /install_dir/etc
pkgadd: ERROR: unable to process pkgmap

Solution

Select a custom configuration directory other than install_dir/etc.

4724612

On Solaris SPARC and Linux, PointBase shell scripts fail if run by someone other than the installing user.

This issue affects only the evaluation installation. All PointBase shell scripts are set to execute permission only for the installing user.

Solution

If users other than the person who installed the product need to execute these scripts, change the permissions to 0755.

4762694

On Solaris, the Sun ONE Message Queue package SUNWiqsup is not removed during Message Queue upgrade process.

This is only an issue on Solaris. The Sun ONE Application Server 7 installation process involves installing Sun ONE Message Queue version 3.0.1. On Solaris, if Sun ONE Message Queue version 3.0 is detected, it is first uninstalled (after user confirmation) and the 3.0.1 version is installed.

There is a minor cleanup issue where the Solaris installer does not remove one of the Solaris packages (SUNWiqsup) for Sun ONE Message Queue 3.0 as part of this upgrade process. The presence of this package is harmless and does not affect Sun ONE Message Queue or Sun ONE Application Server 7.

Solution

Manually remove the SUNWiqsup package using the following command (as root):

# pkgrm SUNWiqsup

4890289

On Window 2000 Pro, the uninstaller is not able to find the JDK to run uninstallation.

On Windows 2000 Pro, uninstallation fails with the following message:

The uninstaller could not locate a suitable j2sdk to run the uninstalltion program. Run the uninstalltion again with the -javahome option set to the directory in which j2sdk 1.4.0_02 or greater is installed. Press Enter to exit.

Solution

Use the -javahome JDK location.

5017630

When upgrading on Windows, an error is displayed and the upgrade fails if SNMP is running.

Solution

Stop the SNMP Service before upgrading:

1.  From the Control Panel, choose Administrative Tools.

2.  Choose Services.

3.  Scroll down to the SNMP Service and stop it.

5018162

On Linux, two Message Queue packages are installed if you are doing a full installation and if a qualified Message Queue is already installed.

Solution

Due to a bug in the Linux rpm utility in 4.2.1.xx, the installed Sun ONE Message Queue (identified as imq) rpm is not recognized. Because of this problem, the Sun ONE Application Server installer will install a second version of the Sun ONE Message Queue rpm. To work around this, either install the 4.2.0.69 version of rpm on your system or uninstall Message Queue before installing the application server.

Typically 4.2.1.xx version of rpm is present in Red Hat Enterprise Linux Advanced Server 3.0 unless the rpm package was upgraded on prior versions of the Linux system.

5034338

On Linux, upgraded packages are not removed by the uninstaller.

Solution

Remove the packages manually by typing:

rpm -e --nodeps SUNWas* packages

5050621

On Linux and Solaris platforms, if Sun ONE Application Server 7 Update 3 was installed as a part of Sun Java Enterprise 2004Q2, and you then upgrade the Sun ONE Application Server, a problem appears. The subsequent attempt to create a new server instance and to install Sun Java System Identity Server 2004Q2 with SSL enabled Directory Server will fail and the newly created server instance will crash with a SIGSEGV error upon restart.

Solution

For the instance of the application server created after upgrading Sun ONE Application Server, edit the server instance's server.xml file and enter the correct location for the jss3.jar in server-classpath as follows:

For the Linux platform:

Change the following lines:

<java-config java-home="/usr/jdk/entsys-j2se"
server-classpath="/usr/share/lib/mps/secv1/jss3.jar <---

To:

<java-config java-home="/usr/jdk/entsys-j2se"
server-classpath="//opt/sun/private/share/lib/jss3.jar <----

To prevent this problem from occurring in future, modify the following template files as well:

${APPSERVER_INSTALL_DIR}/lib/install/template/server.xml.template.admin

${APPSERVER_INSTALL_DIR}/lib/install/template/server.xml.template

In these template files, change the lines:

<java-config java-home="%%%JAVA_HOME%%%"

server-classpath="/usr/share/lib/mps/secv1/jss3.jar

To:

<java-config java-home="%%%JAVA_HOME%%%"

server-classpath="/opt/sun/private/share/lib/jss3.jar

5050621
(Continued)

For the Solaris platform:

Modify the server.xml file:

1.  Open the server.xml file for editing. The file is found at: app_server_instance_dir/config/server.xml.

2.  Add the location of the jss3.jar in server-classpath: server-classpath =/usr/share/lib/mps/secv1/jss3.jar

Edit the startserv script’s LD_LIBRARY_PATH:

1.  Open the startserv script for editing. The script is found at app_server_instance_dir/bin/startserv.

2.  Add /usr/lib/mps/secv1 to the LD_LIBRARY_PATH.

To prevent this problem from occurring in future, modify the following template files as well:

  • install_dir/lib/install/template/server.xml.template.admin
  • install_dir/lib/install/template/server.xml.template
  • install_dir/lib/install/template/start

In these template files, change the lines:

<java-config java-home="%%%JAVA_HOME%%%"
server-classpath="/usr/lib/mps/secv1/jss3.jar

To:

<java-config java-home="%%%JAVA_HOME%%%"
server-classpath="/usr/lib/mps/secv1/jss3.jar

N/A

On Red Hat Enterprise Linux AS 3.0 you must install compat-libstdc++ (standard C++ libraries for backwards compatibility) before installing Sun ONE Application Server.

Solution

Install compat-libstdc++ before installing Sun ONE Application Server. These libraries are included on the Red Hat Enterprise Linux AS 3.0 CD set.

N/A

Installing Sun ONE Application Server on Windows may give the following message:

“Error writing native components to disk. Aborting wizard”

Solution

1.  If you have a file named C:\Documents, it interferes when processing the system property user.home (typically points to C:\Documents and Settings\your_name). Remove or rename C:\Documents.

2.  Additionally, the environment variable TEMP must be set and must point to an existing writable directory.

5063872

The app_server_install/samples/common.properties file is overwritten with null values when you upgrade Sun ONE Application Server 7 using the upgrade installer.

Solution

Back up the common.properties file before you upgrade to the latest Sun ONE Application Server 7, or add the values to common.properties manually after upgrading.

Sample common.properties file for the Microsoft Windows platform:

com.sun.aas.javaRoot=C\:/Sun/AppServer7/jdk
admin.host=<machinename>
admin.port=4848
com.sun.aas.imqLib=C\:/Sun/AppServer7/imq/lib
com.sun.aas.installRoot=C\:/Sun/AppServer7
admin.user=admin
#admin password will not be saved as default. User can enter it and save it manually.
#admin.password=
sunone.instance=server1
com.sun.aas.webServicesLib=C\:/Sun/AppServer7/share/lib
com.sun.aas.pointbaseRoot=C\:/Sun/AppServer7/pointbase
sunone.instance.port=<port>
sunone.instance=server1
admin.user=admin
admin.port=4848

Sample common.properties file for the Linux platform:

com.sun.aas.pointbaseRoot=/export/appserver7ur5/pointbase
com.sun.aas.webServicesLib=/export/appserver7ur5/share/lib
com.sun.aas.imqLib=/opt/imq/lib
com.sun.aas.installRoot=/export/appserver7ur5
com.sun.aas.javaRoot=/usr/java/j2sdk1.4.2_04
#admin password will not be saved as default. User can enter it and save it manually.
#admin.password=
admin.host=<machinename>
sunone.instance=server1
sunone.instance.port=80
admin.user=admin
admin.port=4848

5063872
(Continued)

Sample common.properties file for the Solaris platform:

com.sun.aas.pointbaseRoot=/opt/SUNWappserver7/pointbase
com.sun.aas.webServicesLib=/usr/share/lib
com.sun.aas.imqLib=/usr/share/lib/imq
com.sun.aas.installRoot=/opt/SUNWappserver7
com.sun.aas.javaRoot=/usr/j2se
#admin password will not be saved as default. User can enter it and save it manually.
#admin.password=
admin.host=<machinename>
sunone.instance=server1
sunone.instance.port=81
admin.user=admin
admin.port=4848

6172916

Sun ONE Application Server fails to start after you use the upgrade installer to upgrade the Sun ONE Application Server.

On the Solaris platform, the following error appears:

SEVERE (14394): JMS5024: JMS service startup failed. CORE5071: An error occured during initialization

On the Linux platform, the following error appears:

cp: cannot stat `/etc/opt/imq/passwd': No such file or directory
cp: cannot stat `/etc/opt/imq/accesscontrol.properties': No such file or directory
Error backing up!

This problem appears because the upgrade installer does not check which version of Message Queue is installed. It automatically installs Sun ONE Message Queue 3.0.1 SP3, which is shipped with Sun ONE Application Server 7.

If Sun Java System Message Queue 3.5 is installed on the machine, the upgrade installer downgrades it to Message Queue 3.0.1SP3.

On the Microsoft Windows platform, the problem only occurs if Sun Java System Message Queue 3.5 is installed in the same directory in which the Sun ONE Application Server installer installs. No error appears.

Solution

If you have not yet run the upgrade installer:

1.  After downloading the product and untarring the binaries, go to the untarred_location/sun-appserver7/upgrade directory.

2.  Open the package-list file and remove all the package names associated with Message Queue:

  • On the Microsoft Windows platform: imq.zip
  • On the Solaris Sparc and x86 platforms: SUNWiqdoc, SUNWiqfs, SUNWiqjx, SUNWiqr, SUNWiqu, SUNWiquc, SUNWiqum, and SUNWiqlpl
  • On the Linux platform: imq.

If you already upgraded using upgrade installer:

For package-based installations on the Solaris Sparc and x86 platforms:

1.  At the command prompt, remove the Message Queue instances by typing rm -rf /var/imq/instances.

2.  Use pkgrm to remove the following packages:

SUNWiqdoc, SUNWiqfs, SUNWiqjx, SUNWiqr, SUNWiqu, SUNWiquc, SUNWiqum, and SUNWiqlpl

3.  Use pkgadd to reinstall the correct versions of the packages you removed in the previous step.

6172916
(Continued)

For Linux RPM installations:

1.  Remove the Message Queue instance by typing rm -rf /var/imq/instances.

2.  Remove the Message Queue installation by typing rpm -e imq.

3.  Install the correct version of Message Queue by typing rpm -i rpm_location/imq-xxx.rpm where xxx is the correct version of Message Queue.

For Microsoft Windows installations, and for zip, tar, and evaluation installations on all platforms:

1.  Remove the Message Queue installation by typing rmdir app_server_install_dir/imq.

2.  Unzip the correct version of Message Queue from its downloaded location and run the installer.

6211610

For Solaris SPARC and x86 platforms, when upgrading from Sun ONE System Application Server Platform Edition 7 Solaris 9 OS Update 3 and above (the Application Server component in the Solaris 9 Operating System), information about existing domains is lost during the upgrade.

Solution

Before upgrading, back up the file /etc/appserver/domains.bin. Once you complete the upgrade, restore the backed-up copy of the file.

6283084

The text in the Application Server 7.0, Update 7, Software License Agreement shows Update 6 instead of Update 7.

Server Startup and Shutdown

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

Behavior of Log Service create-console Attribute

On Microsoft Windows, when the create-console attribute of the log-service element in server.xml is set to true (the default setting), a window displaying the content of the server event log is displayed on the desktop. By design, closing this window does not result in a persistent termination of the App Server instance process. Closing the console window terminates the appservd.exe process, but the watchdog process (appservd-wdog.exe) immediately restarts the server instance process.

For developers, closing the event log window of an instance can be used as a means of quickly restarting the Application Server instance.

However, to stop the Application Server instance completely (along with the companion watchdog process), use one of the following methods:

Using the Admin Console, you can enable/disable the console event log window by modifying the Create Console setting under the Logging tab of the App Server instance.

ID

Summary

4725893

On Solaris, License expiration information is not shown.

Affects Solaris SPARC evaluation licenses. Warning information relating to imminent expiration of license (within 14 days or less of expiration) would not be reported through the command-line interface and browser-based interfaces. The warnings would, however, appear in the server log files.

Solution

Check the server log files.

4738648

JMS service/Sun ONE Application Server startup fails.

If the JMS provider (Sun ONE Message Queue broker) has a large number of undelivered persistent messages, a Sun ONE Application Server initialization failure might occur due to following problems:

1.  As it tries to load all the pending messages, the MQ broker might run out of memory and abort.

Solution

Use more Java heap space for the MQ broker process. To do this, set the Start Arguments attribute of the JMS service to -vmargs -Xmx256m.

The procedure for setting this attribute is described in the “Using the JMS Service” chapter of the Sun ONE Application Server Administrator’s Guide.

2.  If the MQ broker cannot complete its initialization sequence within a certain period of time, the Sun ONE Application Server times out and aborts.

Solution

Increase the value of the JMS service Start Timeout attribute. The procedure for setting this attribute is described in the “Using the JMS Service” chapter of the Sun ONE Application Server Administrator’s Guide.

4762420

Firewall rules might cause Sun ONE Application Server startup failures.

If you have a personal firewall installed, you might experience this problem. The presence of strict firewall rules on the same machine as a Sun ONE Application Server installation might 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 Sun ONE Application Server environment. Since these connection attempts access ports using the host name of the system rather than localhost, local firewall rules might block such attempts.

The local firewall might 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 Sun ONE Application Server and are in no way a security threat to your machine. Under some conditions, the port number which the Sun ONE Application Server uses for various local communications might overlap with port numbers used in known popular attacks. Some symptoms of this problem:

  • An attempt to start the Sun ONE Application Server using the Microsoft Windows program group item “Start Application Server” fails with this message:

   Could not start the instance: domain1:admin-server
   server failed to start: abnormal subprocess termination
   ...

  • 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 Sun ONE 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 Sun ONE 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 Sun ONE 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:

Microsoft Windows: install_dir/domains/...
Solaris 9 and above integrated install: /var/appserver/domains/...
Solaris 8, 9 and above 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.

4780076

On Solaris, the Sun ONE Application Server starts all instances as root thereby allowing non-root users to have root access.

There are several issues associated with application server startup when the Sun ONE Application Server is installed as part of a Solaris installation (bundled):

  • All application server and administrative server instances are started automatically during Solaris system startup. In many environments, not all the instances are expected to be started automatically during Solaris system startup. Starting every defined instance can adversely impact the memory available on a system.
  • When application server instances and administrative server instances are started automatically, the startup script for each instance is executed as root. Execution of non-root owned instance startup scripts can enable non-root users access to the root user through modification of the instance-level startup scripts.

Background

During installation of the Sun ONE Application Server as part of a Solaris installation, the /etc/init.d/appserv script and symbolic links to the S84appserv and K05appserv scripts in the /etc/rc*.d/ directories are installed. These scripts cause all the application server and administrative server instances defined as part of the application server installation to be started and stopped automatically during Solaris system startup and shutdown.

The /etc/init.d/appserv script contains the following section of code:

...
case "$1" in
'start')
    /usr/sbin/asadmin start-appserv
    ;;
'stop')
    /usr/sbin/asadmin stop-appserv
    ;;
...

Running the asadmin start-appserv command causes the administration server instance and all application server instances defined in all administrative domains to be started during Solaris system startup. Since the system startup and shutdown scripts are executed as root, the startup script for each application server and administrative server instance is also executed as root. The instance-level startup script is named startserv and is located at instance-dir/bin/startserv. Since instances might be owned by users other than root, the startserv scripts could be modified by the non-root user to execute commands as the root user.

In cases where an instance is using a privileged network port, the instance's startserv script must be executed as root. However, in these cases, "run as user" is typically set in the instance's configuration to force the instance to run as the specified user after the instance has been initially started by the root user.

4780076
(Continued)

Solution

Perform one of the following workarounds depending on your environment:

  • If your environment does not require all application server and administrative server instances to be started as root, then you should comment out execution of the asadmin start-appserv and asadmin stop-appserv commands in the etc/init.d/appserv script.
  • If your environment requires starting either specific administrative domains (including the administrative server instance and all application server instances of each domain) or specific instances within one or more administrative domains, then you should either modify the /etc/init.d/appserv script to start the domains and/or instances of interest or define new /etc/rc*.d/ scripts that suit the needs of your environment.
  • Starting a specific domain. If you require to start either an administrative domain or specific instances as non-root users, then you should ensure that the su command with the -c option is used to start the domains and/or instances of interest.

Examples

Starting a specific administrative domain—If you want to start the administrative server instance and all application server instances of a specific administrative domain as the root user, you can modify the /etc/rc*.d/ scripts as follows:

...
case "$1" in
'start')
   /usr/sbin/asadmin start-domain --domain production-domain
   ;;

'stop')
   /usr/sbin/asadmin stop-domain --domain production-domain
   ;;
...

4780076
(Continued)

  • If you want to start specific application server instances as a non-root user, modify the /etc/rc*.d/ scripts to use the su command with the -c option:

...
case "$1" in
'start')
   su - usera -c "/usr/sbin/asadmin start-instance --domain test-domain instance-a"
   su - userb -c "/usr/sbin/asadmin start-instance --domain test-domain instance-b"
   ;;

'stop')
   su - usera -c "/usr/sbin/asadmin stop-instance --domain test-domain instance-a"
   su - userb -c "/usr/sbin/asadmin stop-instance --domain test-domain instance-b"
   ;;
...

See the Sun ONE Application Server Administrator’s Guide for more information on the startup and shutdown commands available through the asadmin command line interface.

Database Driver

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

ID

Summary

4700531

On Solaris, an ORACLE JDBC driver error occurs.

This new Java Database Connectivity (JDBC) driver is for Oracle (R) working with JDK1.4. The problem is caused by a combination of the Oracle 9.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.

4707531

On Solaris, accessing an Oracle 9.1 database with an Oracle 9.2 Client might cause data corruption.

If you use an Oracle (R) 9.2 client to access an Oracle 9.1 database, data corruption might occur when a number column follows a timestamp column.

The problem might be caused by using the ojdbc14.jar file with an Oracle 9.1 database. Applying the patch might assist in addressing the situation on Solaris 32-bit machines, running an Oracle 9.1 database. This JDBC driver is for Oracle working with JDK1.4.

Solution

Obtain the patch that Oracle might make available from the Oracle web site for Bug 2199718 and apply it to your server.

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 in its parameter (init.ora) file.

3.  Use the ojdbc14.jar file.

4.  Configure the Sun ONE 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 Sun ONE Application Server is started in. For example, add them to the asenv.conf file and ensure they are exported.

5022904

Sun ONE Application Server has number of connections growing after idle time out with DB2 Type 2 Driver

Scenario: When the DB2 database is configured with the wrong datasource class, Sun ONE Application Server will run out of connections in the connection pool as the connections are not closed properly.

Solution

To avoid this problem, the DB2 Type 2 driver must be configured properly. These examples use the default DB2 client folder /opt/IBM.

1.  Install a DB2 Client on the machine which hosts Sun ONE Application Server, with a database alias to the DB2 Server.

2.  Modify the startserv script of the application server instance to set the DB2 environment. Add the following lines to the application server instance’s start script:

DB2DIR=/opt/IBM/db2/V8.1

export DB2DIR

DB2INSTANCE=db2tmp

export DB2INSTANCE

3.  Because the client is owned by a user with a password, add these values to the connection pool:

user: db2inst1

password: db2inst1

databaseName: sample2

dataSourceName com.ibm.db2.jcc.DB2SimpleDataSource

4.  Modify the Class Path to have the following values:

/opt/IBM/db2/V8.1/java/db2jcc.jar

/opt/IBM/db2/V8.1/java/db2jcc_license_cu.jar

/opt/IBM/db2/V8.1/java/db2jcc_license_cisuz.jar

/opt/IBM/db2/V8.1/java/db2java.zip

Web Container

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

ID

Summary

4740477

The web cache example in sun-web-app_2_3-0.dtd file provides incorrect syntax for the timeout element.

The timeout element is specified to use in XML cache object as:
<timeout> 60 </timeout>

Because the name parameter is a required field, it should be written as:
<timeout name="foo">60</timeout>

Solution

Do not use with verifier.

4817642

Allowing separate web applications to share the same session ID creates security weakness.

Solution

According to J2EE specification, each deployed web application maintains separate, unique session objects (session IDs). This is the default behavior of the Sun ONE Application Server. However, in some instances it may be desirable to allow separate web applications to share the same session ID. In this case, the Sun ONE Application Server allows you to specify a special deployment property in the sun-web.xml deployment descriptor to tell the application server that this particular application is allowed to reuse session IDs when going across web application modules. (The first access to a web application will generate a new unique session ID. Later requests to other web applications that have this property set will use that same session ID instead of generating a new one for this client and this web application.)

To do this, the reuseSessionId property must be set to true for each deployed web application upon which you want to allow sharing of the same session object. For example:

<?xml version="1.0" encoding="UTF-8"?>
<sun-web-app>
   <session-config>
     <cookie-properties>
       <property name="cookiePath" value = "/" />
       <property name="cookieDomain" value = ".sun.com" />
    </cookie-properties>
   </session-config>
   <property name="reuseSessionID" value="true"/>
</sun-web-app>

The property reuseSessionID is set to true in next to last line.

CAUTION: Turning on reuseSessionId opens a potential avenue for a security weakness (though it is not a weakness in of itself). This property should not be used in a shared environment (such as an ISV) where multiple customers are allowed to run their applications on the same Sun ONE Application Server instance. In such as setting, it is much safer to use the default J2EE behavior of forcing different web applications deployed to the same server instance to use different session objects.

5039545

Sun ONE Application Server sends absolute redirects causing problems with external SSL endpoints.

Solution

Add the sun-web.xml property relativeRedirectAllowed. The default is false. When set to true relative redirects are allowed instead of absolute redirects.

EJB Container

This section describes the known Enterprise JavaBeans™ (EJB™) container issues and associated solutions.

ID

Summary

4735835

Cannot properly handle null PKs returned from ejbFind methods.

The following container-managed persistence (CMP) examples might return one or more nulls from an ejbFind (assumed called from EmployeeEJB bean, as they must return the same instance type as the bean):

1.  find insurance.employee where insurance.id == 10

This returns null if such insurance does not have an employee associated with it.

2.  find all insurance.employee where insurance.id > 10

This returns a collection that might contain nulls for those insurances that do not have an employee.

For the first occurrence of a null PC in the result set, the CMP client will get JDOFatalInternalException "param0 cannot be null".

The BMP client will get EJBException "Null primary key returned from ejbFind method" for a single object finder, and (possibly) a NullPointerException for a multi object finder.

Solution

None.

4744434

The Sun ONE Application Server occasionally throws Null Pointer Exception when using stateful session beans.

The EJB container in the Sun ONE Application Server caches stateful session beans to improve performance. When the cache overflows (that is, the number of beans in the cache exceeds max-cache-size) the container passivates beans to the disk. Occasionally the server throws NullPointerException. The problem occurs when the difference between max-cache-size and cache-resize-quantity is less than 8.

Solution

Ensure that the difference between max-cache-size and cache-resize-quantity is greater than eight, or use an unbounded cache by setting max-cache-size to zero.

4951476, 4967645

The exception javax.ejb.EJBException: org/dom4j/Element is thrown when using Java WSDP 1.2 or 1.3

NOTE: If your application does not use the Java Web Services Developer Pack (Java WSDP) 1.2 or 1.3, this problem does not apply to you.

When Java WSDP 1.2 or 1.3 is installed and configured to be used together with Sun ONE Application Server 7, a javax.ejb.EJBException: org/dom4j/Element could be thrown by the EJB Container.

Solution

Add the latest dom4j-full.jar to server-classpath in the server.xml file. It is available for download at http://dom4j.org and should precede the appserv-jstl.jar entry in server-classpath.

4994366

Error when deploying if ejb-local-ref is used without ejb-link.

Solution

ejb-local-ref requires ejb-link. When using ejb-local-ref, you must specify an ejb-link value.

Container-Managed Persistence

This section describes the known container-managed persistence (CMP) issues and associated solutions.

ID

Summary

4732684

Oracle JDBC driver optimizations are not being initiated.

To take advantage of Oracle (R) database optimizations with container-managed persistence (CMP) beans, the Oracle driver files must be specified in the classpath-suffix attribute of the server.xml file rather than placed in the instance's /lib directory which is the default for third-party libraries.

Solution

Add the Oracle driver files to the classpath-suffix attribute of the server.xml file.

4734963

Self-referencing CMRs cause problem during deployment.

The parser of the EJB deployment descriptor, ejb-jar.xml, does not correctly handle self-referencing container-managed relationships (CMRs), that is, ejb-relationship-role. The One side field is skipped.

Solution

Switch the ejb-relationship-role sections so that the One side (with <multiplicity> Many) is the first in ejb-relation.

4747222

On Oracle, the capture-schema utility does not work if -schemaname is not specified.

The capture-schema utility has the following problems if the -schemaname option is not specified when capturing database schema information from the Oracle (R) database:

1.  If you attempt to capture all tables (that is, no tables are explicitly chosen):

bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -out test.dbschema

You will receive:
java.sql.SQLExceptions
ORA-00942: table or view does not exist.

The resulting output file is broken.

2.  If one or more tables are specified with the -table option:

bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -table DEPT -out test.dbschema

The resulting file has the specified tables, but no column information, which means the file can't be used for CMP mapping.

Solution

When capturing a schema from the Oracle database, always use the -schemaname option with the user name in uppercase letters as the value:

bin/capture-schema -dburl jdbc:oracle:thin:@oraserver:1521:ora -username scott -password tiger -driver oracle.jdbc.driver.OracleDriver -schemaname SCOTT -out test.dbschema)

4751235

For capture-schema utility: If values for the -table option are not specified in uppercase on Oracle and/or PointBase, the resulting file is broken.

Oracle (R) and PointBase internally translate case-insensitive identifiers into uppercase letters, unless the identifier are enclosed in " "). The capture-schema utility does not correctly handle table names in lowercase or mixed-case letters as arguments to the -table option when capturing a database schema from Oracle or PointBase (such as -table student or -table Student). The generated database schema file will not contain any columns information for the corresponding table.

Solution

Use uppercase letters to specify table names (such as -table STUDENT).

Message Service and Message-Driven Beans

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

ID

Summary

4683029

The -javahome flag in all MQ Solaris/Microsoft Windows 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:

  • Microsoft Windows: C:\jdk 1.4
  • Solaris: /work/java 1.4

This problem occurs at Sun ONE 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 Sun ONE Application Server. If the Java runtime that is configured for use by the Sun ONE 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 Sun ONE Application Server instance startup to fail.

Solution

Make sure that the Java runtime used by the Sun ONE 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 associated solutions.

Recovery

There are some known problems with the recovery implementations of some of the JDBC drivers. For these known problems, Sun ONE 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"

ID

Summary

4689337

The connection from XADatasource in non-txn context cannot be used.

This is a known database driver issue. When there is a connection in a non-txn context, with XADataSource the Autocommit is set to false by default.

Solution

Use the non-XA datasource class to call the commit/rollback programs explicitly rather than through transactions.

4700241

Non-zero transaction timeout setting causes slow local transactions.

Currently, the Local Transaction Manager does not support transactions with definite timeouts. If you set the timeout-in-seconds attribute in transaction-service element to a value greater than 0, all local transactions will be processed as a global transactions, and will take longer to complete. A local transaction might also fail, if the data source driver does not support global transactions. A timeout value of 0 means that the transaction manager will wait indefinitely if it does not hear back from a participating data source.

Solution

Reset the timeout-in-seconds value to its default value of 0.

Application Deployment

This section describes the known deployment issues and associated solutions.

ID

Summary

4403166

On Microsoft Windows, long path names are not supported.

Refer to "Installation, Upgrade, and Uninstallation" for information on this problem.

4703680

Redeploying an EJB module (with MDB) throws a resource conflict exception.

This occurs on Microsoft Windows 2000 using Sun ONE Studio 4 when using message-driven beans (MDBs). If an EJB module contains an MDB that utilizes a specific queue, then re-deploying the same EJB module with the same MDB (utilizing the same Queue) causes a resource conflict. This makes (modified) module un-usable.

Solution

None.

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.

4734969

Can't deploy application with user's Query class in the bean package.

Container-managed persistence (CMP) code-gen does not use the fully qualified name for the JDO Query variable in concreteImpl. If you have a Query class in the same package as the abstract bean, a compilation error occurs.

Solution

Move the Query class into another or separate package.

4750461

On Solaris, the Sun ONE Application Server might crash during dynamic reloading.

For a large application (with many enterprise beans), a crash might occur during dynamic reloading of the application. The dynamic reloading feature is used, in the development environment, to quickly test minor changes to an application. The crash is caused by attempting to use more file descriptors than are available.

Solution

1.  Increase the file descriptors limit by adding lines, in this format, to the /etc/system file. Depending on the size of the application, the values can be set higher or lower.

  set rlim_fd_max=8192
  set rlim_fd_cur=2048

2.  Reboot the system.

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.

Configuration

The following table describes the known Sun ONE Application Server 7 configuration issues and their solution.

ID

Summary

4742559

If IPv6 is not used in your network, this problem does not apply to you.

By default, the Sun ONE Application Server uses IPv4. This is supported by all platforms on which the Sun ONE Application Server is available. In certain platforms, IPv6 is supported. In this case, Sun ONE Application Server configuration changes are required for conformance.

NOTE: If these configuration changes are to be made, it is essential to be absolutely sure of IPv6 support on the platforms. Server instances might not start if the IPv6-related configuration is applied to a system that has only IPv4 support.

Solution

Perform the following configuration changes:

1.  Start the Admin Server.

2.  Start the Administration interface. (Connect to Admin Server http host/port in a browser).

3.  Select the App Server instance to configure for IPv6, such as server1.

4.  Expand the HTTP Listeners node in the tree view.

5.  Select the HTTP Listener to configure for IPv6, such as http-listener1.

6.  In the General section, change the value of the IP Address field to ANY.

7.  In the Advanced section, change the value of the Family field to INET6.

Setting the Family field to INET6 does not disable IPv4 functionality unless an IPv6 address is selected for IP address. Selecting an IP address of ANY will match any IPv4 or IPv6 address.

8.  Click Save.

9.  In the left pane, select your server instance.

10.  Click Apply Changes.

11.  Click Stop.

12.  Click Start. This restarts the server and implements your changes.

Deployment Descriptors

This section describes the known deployment descriptor issues.

sun-cmp-mapping.xml Issues

sun-ejb-jar.xml Issues

Monitoring

This section describes the known monitoring issues and associated solutions.

ID

Summary

4734595

Total-connections-failed-validation does not show values.

The issue is with the inherent double pooling problem in the reference implementation (RI).

Solution

None.

4737227

FlagAsyncEnabled does not set to 1 in http-server.

This is a known the Sun ONE Web Server issue.

Solution

None.

4752199

Monitoring bean method attribute values are not shown for getPrimaryKey(), getEJBMetaData(), getHomeHandle() methods.

The monitoring tool lists methods in an enterprise bean that can be monitored. For getPrimaryKey(), getEJBMetaData(), and getHomeHandle(), the method level monitoring attributes always show zero.

Solution

None

Server Administration

This section addresses the following areas:

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.

4680409

After configuring an instance to use SSL, the administrator cannot access the Admin Server from either the CLI or browser clients.

Solution

Import the Sun ONE Application Server certificate into each client that is to use SSL to access the Admin Server, and indicate that servers with such a certificate are to be trusted. How to do this on a browser is browser-specific; consult your browser's online help to see how to import a certificate to be trusted.

For the CLI, if the server's certificate is in some servercert.cer file, and the installation directory is /INSTALL, the command is:

keytool -import -file servercert.cer -alias server -keystore /INSTALL/jdk/jre/lib/security/cacerts

NOTE: To avoid this problem in the future, ensure that the Admin Server certificate is installed in both the server and the client(s) before configuring the Admin Server to use SSL.

4688386

Using the asterisk (*) character in single-mode CLI command results in unexpected behavior and/or error messages.

The asterisk character is being expanded by the underlying shell into a list of names, and it is this list of names that is being seen by the command-line interface (CLI) command. Putting quote marks around the asterisk prevents the shell from expanding the asterisk, and thus the CLI gets to see the asterisk itself.

Solution

Use quote characters (either single or double quotes) around the asterisk.

4701361

Repeated changes applied to any instance eventually results in an out of memory error.

The Admin Server keeps a record of all changes performed to the system, which requires memory. This change record (but not the changes themselves) is discarded during a reconfiguration, thus releasing the memory for use.

Solution

Use the asadmin reconfig command periodically to discard old change records.

4704328

Cleanup does not happen when a call to create a duplicate domain fails.

When a domain that already exists is created, an appropriate error message is generated. However, a directory specified by the -path option in the create-domain command is created if it did not exist earlier. This should be removed since the command failed.

Solution

Remove any additional empty directory specified that might be created after the -path option is used.

4708813

Cannot monitor the default (pointbase) connection-pool JDBC resources.

The JDBC connection pools are created dynamically on demand, which means that a pool is created the first time it is used. If the pool has not been created (not used), monitoring is not possible.

Solution

Create the desired connection pool to allow monitoring.

4722007

Monitoring: Execution times of less than 1 millisecond cannot be measured.

When an entity bean method is monitored, the execution-time-millis attribute shows -1. For example, when running the command:

iasadmin>get -m server1.application.usecase1app.ejb-module.UseCase1Ejb_jar.entity-bean.
BeanOne.bean-method.method_create0.*

The following attributes are returned:

Attribute name = total-num-errors Value = 0
Attribute name = method-name Value = public abstract
com.iplanet.ias.perf.jts.UseCase1.ejb.BeanOneRemote
com.iplanet.ias.perf.jts.UseCase1.ejb.BeanOneHome.create() throws
javax.ejb.CreateException,java.rmi.RemoteException
Attribute name = total-num-calls Value = 0
Attribute name = total-num-success Value = 0
Attribute name = execution-time-millis Value = -1

Before monitoring is started, the default value for execution-time-millis is set to -1 to indicate that the value for that attribute is invalid at that moment. A default value of 0 would give a false impression that the execution time has been measured, and that it has turned out to be a very small value.

Solution

None.

4733109

Verifier error reported in Administration interface when viewing Persistence Manager Factory resource created from command-line interface.

When a Persistence Manager Factory resource is viewed in the Administration interface, the following error is reported for the resource when it is created from the command-line interface:

ArgChecker Failure: Validation failed for jndiName: object must be non-null

Solution

None.

4742993

On Solaris, the flexanlg command causes open failure when used on Sun ONE Application Server that is integrated into Solaris.

If you are running a version that is integrated into the Solaris operating environment, and you use the flexanlg command from /usr/appserver/bin, an open failure error is displayed.

ld.so.1: /usr/appserver/bin/flexanlg: fatal: libplc4.so: open failed: No such file or directory
Killed

Solution

Complete these steps.

1.  Add the following entry to LD_LIBRARY_PATH file:

usr/lib/mps

2.  Then run the flexanlg command.

% /usr/appserver/bin/flexanlg

4750518

Some CLI commands do not work on the target Admin Server.

The create, delete, or list commands do not work in the CLI on the target Admin Server for creating/deleting/listing new elements (such as SSL, mime, profiler, resources, and so on) in the server.xml file of the Admin Server.

Solution

Use the Administration interface to create, delete, and list elements in the Admin Server.

Administration Infrastructure

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

ID

Summary

4676888

On Microsoft Windows 2000, cannot create JVM when JVM heap size is set to a large value.

If you try to set a larger JVM heap size on Windows 2000, you might get the following error message:

Error occurred during initialization of VM,
Could not reserve enough space for object heap
Internal error: unable to create JVM

Solution

To configure the Sun ONE Application Server with a larger JAVA heap size on Windows 2000, it is necessary to rebase the Sun ONE Application Server DLLs.

The Rebase utility, which comes both with Microsoft Framework SDK and Microsoft Visual Studio, allows you to set optimal base addresses for a number of DLLs starting from some address and thereby increasing JVM heap availability. The SDK Help Rebase topic recommends using address 0x60000000. For more details on rebase utility:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tools/tools /performance_tools.asp

Requirements:

  • Window 2000 system with 2-4 GB memory
  • Visual Studio/Microsoft Framework SDK Rebase utility

To apply rebase to S1AS dynamic libraries do the following:

1.  cd into install_dir\bin

2.  rebase -b 0x6000000 *.dll

3.  cd ..\lib

4.  rebase -b 0x6600000 *.dll

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.

4692673

Restarting an instance in debug mode seems to fail if the instance is originally running in non-debug mode.

If an instance is started without checking/selecting the 'Start/Restart in debug mode' check box, subsequent settings of this check box do not work. In the Administration interface, the Debug Enabled check box appears unchecked, even though it has been checked. The server.xml file also shows debug-enabled=false.

Solution

None.

4699450

On Microsoft Windows 2000, deployment fails for EAR files if total length of the path to a generated file during deployment exceeds 260 characters.

On the Windows 2000 platform, the Java Virtual Machine (JVM) is limited to 260 characters for path names to generated files.This is a problem with Microsoft Windows support in the JVM, and is likely to be fixed in the J2SE 1.5 release.

Solution

When deploying an application, use a path and file name that are less than 260 characters combined.

4723776

On Solaris, server fails to restart when converting to an SSL-enabled environment.

If you attempt to restart the Sun ONE Application Server after installing a certificate and enabling security, the restart fails. A message is displayed indicating that the server failed to receive a password. A second click of the Start button starts the server. When SSL is not enabled, passwords are not cached which results in the failure of restart. The restart command does not support the transition from non-SSL to SSL enabled mode.

NOTE: This problem only occurs the first time the server is restarted. Subsequent restarts work fine.

Solution

If you have encountered this problem:

   Click Start.

To avoid this problem, perform the following steps instead of clicking the Restart button.

   Click Stop.
   Click Start.

4724780

Cannot start Admin Server if the domain is created in another system.

  • If the domain is created on a PCNFS mounted drive, the Admin Server and any instances within such domains cannot be started due to a known Microsoft issue involving PCNFS drives.
  • If the domain is created in the same local drive as the product installation but in a different directory path, the instances and the Admin Server work as expected, and are fully operational.

Solution

None.

4734184

On Microsoft Windows 2000, the console is sometimes disabled.

Sometimes (rarely) the Admin Server or App Server instance hangs during deployment or when commands are run. This can happen when some of the text from the console log is selected. If you deselect the text on the console log, the process continues.

Solution

Disable automatic creation of the console for server1 instance by setting log-service create-console attribute to false. Clicking the mouse or pressing Enter on the console log might also solve this problem.

4736554

After a secure HTTP listener has been removed from a server, the administrator is still prompted for the (no longer needed) password.

Solution

Remove the entire server and then add it again.

NOTE: To avoid the problem in the future—Before removing the httplistener, disable security using the following command:

/export2/build/bin/> asadmin set --user admin --password adminadmin
server1.http-listener.http-listener-1.securityEnabled=false
Attribute securityEnabled set to false.
/export2/build/bin/> asadmin delete-http-listener --user admin --password adminadmin ls2
Deleted Http listener with id = ls2

4737756

On Microsoft Windows 2000, corrupt messages display on the console.

On Windows 2000, for a non-English locale (such as Japanese) you might see corrupted messages displayed on the console.

Solution

Use the Admin interface to view the log messages.

4739831

A partially-deleted instance causes incorrect responses from some CLI commands.

If a server instance is partially deleted, the following problems are known to occur with some CLI commands (solutions are provided with each problem description):

1.  The create-instance command in local mode reports that the instance exists even if there are no sub-directories under the instance folder.

Solution

Manually remove the leftover instance directory, then run the create-instance command.

2.  The list-instances command in local mode includes the partially-deleted instance name and status.

Solution

Manually remove the leftover instance directory, then run the list-instances command.

3.  On Microsoft Windows 2000, the start-instance command in remote mode displays a null string.

Solution

Manually remove the leftover instance directory, create a new instance, then run the start-instance command.

4.  On Microsoft Windows 2000, the stop-instance command in both local and remote modes reports incorrect exceptions. In local mode, the command displays an incorrect message stating that the instance is not running. In remote mode, the command displays a null string.

On Solaris, the stop-instance command in local mode incorrectly reports that the user does not have permission to access the instance's config directory although the config directory does not exist.

Solution

Manually remove the leftover instance directory.

4739891

Deletion of a virtual server fails if the default web module referred to by the virtual server does not exist or has been undeployed.

Solution

Set the Default Web Module field of the virtual server to None Selected, click OK to save the changes, then delete the virtual server.

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 Sun ONE Application Server installation (common for all domains/instances).

4737138

License expired message does not appear at Microsoft Windows Services or at the DOS prompt.

When starting servers from Windows Services or from the DOS prompt command (startserv.bat) after license expiration, appropriate license expiration messages are not shown

Solution

Start servers from CLI (asadmin) or from Sun program icon

4780488

Existence of multiple obj.conf files causes confusion.

Upon creation of a new Sun ONE Application Server instance, the instance-dir/config/ directory will contain two obj.conf files, one named obj.conf and the other named virtual-server-name-obj.conf, where virtual-server-name is the same value as the instance name for the virtual server that is created automatically during instance creation. The documentation refers to “modification of the obj.conf file” when it should refer to “modification of the obj.conf file associated with the virtual server of interest.”

When the Sun ONE Application Server is installed, the obj.conf and server1-obj.conf files exist under the /domains/domain1/server1/config/ directory. The content in the file named obj.conf is overridden by the content of the server1-obj.conf file specified at the virtual server level. In effect, the file named obj.conf is not used by the Sun ONE Application Server instance.

For example, if you modified the file named obj.conf while configuring the Sun ONE Application Server web server plug-in, your pass through settings will not take effect because the wrong obj.conf file has been modified.

Solution

If and when you need to modify the obj.conf file for an instance, modify the file prefixed with the virtual server name of interest.

4938319

Errors when using SSL and web server (reverse proxy) plug-in.

502 errors occur when using SSL and the web server plug-in

Solution

Set the keepAliveTimout value to the same value in both the Sun ONE Web Server magnus.conf file and the Sun ONE Application Server’s init.conf file. If these values are different the connection may be closed when the Application Server connects to the Web Server or the Web Server connects to the Application Server. If the connection is already closed, you see a 502 error.

6092475

When running the web server (reverse proxy) plug-in with Sun ONE Web Server 6.1 on Intel-based hardware (such as Solaris x86, Linux, or Microsoft Windows) the Sun ONE Web Server may experience crashes and restarts under heavy loads.

Solution

To correct this problem, make the following configuration change to the magnus.conf file and restart the web server instance:

KernelThreads 1

RqThrottle 1

These changes cause Sun ONE Web Server 6.1 to use native OS threads on the Intel platform hardware, rather then creating NSCP threads, which do not scale well on Intel based hardware.

These settings are not needed for other hardware platforms, such as Sun Solaris SPARC.

6157476

On UNIX platforms, users in the same group as the “sysuser” of the Sun ONE Application Server’s domain and instances do not have write access to deployed applications.

Solution

To avoid this problem:

1.  Create the domain with the -sysuser option.

2.  As the system user, change the user mask to 2 by running umask 2 at the command prompt. This change turns on the group write permissions for all files created by the Sun ONE Application Server.

3.  Restart the Admin Server.

4.  Grant group write permissions to the server instance’s applications directory by executing chmod -R 775 applications in the instance directory.

Files of deployed applications will now have group write permissions. For additional background and more information, see Info Doc 77800.

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 Sun ONE Application Server 7 administration graphical user interface issues, and the associated solutions.

ID

Summary

4722607

On Microsoft Windows 2000, cannot edit or remove entries within a newly created mime file that omits the .types extension.

On Windows 2000, the MIME file must have the .types extension following the file name in order for modifications to entries in the file. For example, mime2.types and not mime2

Solution

Use the .types extension for any mime file name.

4725473

External certificate nickname doesn't display on the Administration interface Nickname list.

When you install an external certificate through the Sun ONE 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 Administration interface). 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 Administration interface.

4.  You can now use the Administration interface to edit the http-listener as needed.

4728718

When creating a new virtual server and a value is given for the location of the log file, a File Not Found" error is reported.

In the Administration interface, the log file field cannot be used to add any values.

Solution

Delete the virtual server just created, create the needed file, then recreate the virtual server.

NOTE: To avoid the problem in the future—Always create the log file first, before attempting to create the new virtual server.

4741123

On Solaris 9 update 2, default browser is incompatible with Sun ONE Application Server 7.

When you attempt to use the Sun ONE Application Server Administrative interface with the Solaris 9 4/03 operating environment default browser, the following error message is displayed:

Unsupported Browser: Netscape 4.78.

It is recommended that you upgrade your browser to Netscape 4.79 or Netscape 6.2 to run the Sun ONE Application Server UI. Those who choose not to continue and not upgrade might notice degraded performance and/or unexpected behavior.

NOTE: If you are running the version of the Sun ONE Application Server Administration interface that is included in the Solaris 9 4/03 operating environment, you will need to use Netscape 4.79 or Netscape 7.0.

Solution

  • For Sun ONE Application Server 7 standalone, upgrade to Netscape 4.79 or Netscape 6.2— Use /usr/dt/bin/netscape6 instead of /usr/dt/bin/netscape.
  • For Sun ONE Application Server 7 bundled with Solaris, upgrade to Netscape 4.79 or Netscape 7—Use /usr/dt/appconfig/SUNWns/netscape instead of /usr/dt/bin/netscape.

4750616

Access Control List (ACL) editing is not supported on some versions of Netscape Navigator.

If you attempt to edit ACL entries while using either Netscape Navigator, versions 6.x or 7.x, you might encounter intermittent problems, such as the browser disappearing or the ACL edit screen never displays.

Solution

Choose one of the following workarounds.

  • Use the supported 4.79 version of Netscape Navigator.
  • Manually edit the ACL file. For details on ACL file formatting, see the Sun ONE Application Server Administrator’s Guide.

4752055

Netscape 4.8 produces warning message on Administration interface.

When using Netscape 4.8 to access the Administration interface, a warning appears indicating Netscape 4.8 is an unsupported browser. Although no issues have been identified when using Netscape 4.8 to run the Administration interface, more thorough testing needs to be completed on this version of the Netscape browser.

Solution

Select the Continue hyperlink from the warning message to continue using the Administration interface.

Use Netscape 4.79, or upgrade to Netscape 6.2.

4760714

An invalid Help button appears in the Install Certificate screen.

In the Install Certificate screen, which displays all the certificate information entered, an invalid Help button is present in the Administration interface. If you click this button, an error message is displayed indicating the help page was not found. Context-sensitive help is only available by clicking the Help link on the top frame of any page.

Solution

Click the Help link in the top pane for context-sensitive help.

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 Administration interface.

Solution

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

4848146

Error occurs accessing the Administration interface if the browser uses a proxy server.

If your browser is set to use a proxy server and the proxy server is not configured to ignore localhost, an error occurs when you choose Start Admin Console from the Start menu.

Solution

Disable the proxy server.

OR

Include localhost in the list of domains to be ignored by their proxy server.

4957860

On Red Hat Enterprise Linux AS 3.0 Failed to add MIME type.

When you attempt to add a MIME type to a MIME types file through the Administration interface, an error appears to prevent accessing the Global MIME Types page.

Solution

This problem happens because the default locale is set to en_US.UTF-8 instead of en_US. The workaround is to set export LANG=en_US, then restart the Admin Server.

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:

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

2.  Remove the path to jss3.jar from the server’s classpath. To remove it, open server.xml for editing. 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. Save server.xml and run asadmin reconfig. Before starting your server instance, you also need to rename jss3.jar.

Sun ONE Studio 4 Plug-in

This section describes the known Sun ONE Studio 4, Enterprise Edition (formerly known as Forte for Java) issues and associated solutions.

ID

Summary

4689097

Error occurs when spaces are specified in directories to be used by Sun ONE Studio 4.

Sun ONE Studio 4 does not install correctly if a space is used in the directory structure. The installer checks for spaces in the install path, and, if found, displays an error dialog.

Solution

Do not use a space when specifying the install directory for the Sun ONE Studio 4 component of Sun ONE Application Server.

4720145

ConnectionException was thrown while establishing a connection to the debugger.

Sun ONE Studio 4 prompts many times asking if you want to create a new debugging session and then throws the exception.

Solution

Restart the IDE.

4727932

Using MAD environment in FFJ causes side effects.

Intermittent side effects occur when using MAD configurations with Sun ONE Studio 4.

Solution

Don’t use Sun ONE Studio 4 with MAD configurations.

4725779

Pre-configured Sun ONE specific property values do not appear in the editor.

If you have a RAR file that has been configured for deployment to the Sun ONE Application Server, and try to look at the property values in the property sheet, you will see the default values, not the values specified in the sun-ra.xml file.

Solution

Extract the Sun-specific descriptor XML file from the RAR and put it in the same directory as the RAR.This allows you to edit the s1as descriptors.

NOTE: The original contents of the RAR file will not be changed as a result of user edits this way, but the RAR file sent to the server will have the updated XML file in it.

4733794

EJB name changes applied at Application node are undeployable.

It is possible to change the ejb-name element of a bean in the context of an application by using the dialog presented when the you select the View EJB Names item of an application node's contextual menu (right click menu). These changes are applied to the alt-dd that is created as part of the packaging. The name change is not propagated to the Sun ONE Application Server alt-dd.

Solution

None.

4745283

If only Admin Client is installed, App Client cannot be run.

If only Admin Client or Sun ONE Studio Plug-in is installed, you cannot run an App Client application. App Client is a separate package from Admin Client.

Solution

Install the App Client package. Get either a full installation (appclient script is under SUNONE_INSTALL_ROOT/bin), or get the appclient package from a remote machine where the Sun ONE Application Server installed.

To get appclient package:

1.  Run SUNONE_INSTALL_ROOT/bin/package-appclient[.bat]

This generates appclient.jar file in SUNONE_INSTALL_ROOT/lib/appclient/appclient.jar

2.  Distribute the appclient.jar to the remote machine that does not have the Sun ONE Application Server installed, then unjar appclient.jar. You should get an appclient directory containing all App Client libraries and JAR files.

3.  Modify the bin/appclient script that is packed in the appclient.jar file before first use. The %CONFIG_HOME% string should be substituted by the real path to asenv.conf (or asenv.bat for Windows 2000.)

4.  Configure asenv.conf (asenv.bat for Microsoft Windows) as follows:

%AS_INSTALL%=APPCLIENT_INSTALLED_ROOT
%AS_JAVA%=
Your_Installed_Java_Home
%AS_IMQ_LIB%=APPCLIENT_INSTALLED_ROOT/imq/lib
%AS_ACC_CONFIG%=
APPCLIENT_INSTALLED_ROOT/config/sun-acc.xml
%AS_WEBSERVICES_LIB%=
APPCLIENT_INSTALLED_ROOT/lib

NOTE: The appclient.jar file is only intended to be run from a remote machine that has the same operating system as the machine where it was created. For example, appclient.jar created on a Solaris platform will not function on Windows 2000.

For details, see the package-appclient manpage.

Sample Applications

This section describes known Sun ONE Application Server 7 sample application issues, and the associated solutions.

ID

Summary

4714439

In PetStore, cannot add a user that already exists.

In the PetStore sample application, trying to add a user that already exists displays a stack trace on the screen.

Solution

None.

4726161

Modified samples are not updated until redeployment.

If users attempt to deploy a sample more than once, after making small changes and repackaging the application, the following error message is displayed.

       "Already Deployed"

This issue affects most of the samples since they use the Ant utility and the common.xml file, which have the "deploy" target, thus mixing deployment of applications with registration of resources.

Solution

Choose one of the following workarounds:

For the majority of the sample applications that use the Ant utility build.xml files, which include the common.xml file, type the following command.

  % asant deploy_common

For all other sample applications, type the following commands.

  % asant undeploy
  % asant deploy

4733412

Sample application converter has redundant JAR file in web module.

The converter application has a redundant stateless-converter EJB JAR file under the WEB-INF/lib directory. The EAR file is located under the sample application directory. From the bundled Solaris build, it is here:

/usr/appserver/samples/ejb/stateless/converter/stateless-converter.ear

Extract this file and go to the WEB-INF/lib directory of the web module named stateless-converter and you will see the file. This redundant JAR file applies to all the web modules which call the EJB module. The root cause of the problem is the common.xml file used to build the application.

Solution

None. Doesn't affect functionality when running sample application.

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

4747534

The lifecycle-multithreaded sample application asks for the admin user password 8 times.

While deploying the sample application lifecycle-multithreaded.jar file using the asant deploy command, you are prompted to enter the admin user password eight times.

Solution

None.

4748535

Miscellaneous sample file issues.

1.  Logging sample generates multiple log files, for the fourth logging option.

2.  Logging sample has a redundant log.properties file.

3.  Instructions for the security grant in sample documentation are not fully correct.

Solution

1.  Close the handler before removing it. See initLog() method in GreeterServlet.java.

private void initLog(String log_type) {
   //Remove all handlers
   Handler[] h = logger.getHandlers();
   for (int i = 0; i < h.length; i++) {
      h[i].close(); //must do this
      logger.removeHandler(h[i]);
   }
   ...
}

Also, open file handler with an append option. See addHandler() in GreeterServlet.java. Write:

Handler fh = new FileHandler(log_file, true);

instead of

Handler fh = new FileHandler(log_file);

2.  Edit the build.xml file as follows:

< <fileset dir="${src.docroot}" excludes="cvs,annontation"/>

> <fileset dir="${src.docroot}" excludes="cvs,annontation,log.properties"/>

3.  In "Running the Sample Application" section, remove domains/domain1/ from instructions to adding security grant entries to the server.policy file.

4752731

PointBase 4.3 replaced with PointBase 4.4.

When downloading and installing PointBase with the samples, (http://hostname:port/samples/docs/pointbase.html) the instructions refer to PointBase 4.3. However, PointBase 4.3 as been replaced by PointBase 4.4.

Solution

In the "Update Samples Ant Files" section, use the pbtools44.jar and pbclient44.jar files instead of the pbtools43.jar and pbclient43.jar files.

In the "Starting PointBase" section, for PointBase downloaded and installed separately on UNIX platforms, use pointbase_install_dir/tools/server/start_server to start PointBase.

5012233

Deployment failed on the connector sample cci.ear file.

Displays an error saying external entity not found “http://www.sun.com/software/sunone/appserver/dtds/sun-application-client_1_3-0.dtd”.

Solution

Modify sun-application-client.xml to have single quotes instead of double quotes.

Sample:

<!DOCTYPE sun-application-client PUBLIC '-//Sun Microsystems, Inc.//DTD Sun ONE
Application Server 7.0 Application Client 1.3//EN' 'http://www.sun.com/software/
sunone/appserver/dtds/sun-application-client_1_3-0.dtd'>

ORB/IIOP Listener

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

ID

Summary

4743366

The address attribute in the iiop-listener element in the server.xml file does not support ANY.

In the default configuration, the Sun ONE Application Server is configured with the address value of “0.0.0.0” in the iiop-listener element. This default configuration does not listen on IPv6 interfaces. It only listens on all IPv4 interfaces on a system. The value of ANY in the address element of the iiop-listener, that would allow the server to listen on all interfaces (IPv4 or IPv6) on a system, is not supported.

The ANY value in the address attribute of the iiop-listener element in the server.xml file allows for listening on all interfaces available on a system.This support includes both the IPv4 and IPv6 interfaces.

Solution

For both IPv4 and IPv6 interfaces, use "::" in the address value of the iiop-listener element. This solution is only applicable to Solaris 8.0 and above.

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.

4810199

The optimized CORBA Util delegate, which is bundled with Sun ONE Application Server 7.0 Standard Edition, is not enabled by default.

A default installation of Sun ONE Application Server 7 does not enable the use of the high performance CORBA Util delegate. As a result, you might experience a significant decrease in performance when using the JDK-bundled or Sun ONE Application Server-bundled ORB.

Refer to the “High performance CORBA Util Delegate Class” section in the “ORB Tuning” module of the Sun ONE Application Server Performance Tuning Guide.

Solution

You can improve performance significantly by enabling the use of a high performance CORBA Util Delegate implementation. To enable the alternate CORBA Util Delegate, add the following to the Sun ONE Application Server configuration file, server.xml:

<jvm-options>-Djavax.rmi.CORBA.UtilClass=com.iplanet.ias.util.orbutil.
IasUtilDelegate</jvm-options>

4847269

The J2SE 1.3.1_X client cannot communicate with Sun ONE Application Server 7.

When the J2SE 1.3.1_X client communicates with Sun ONE Application Server 7, the client will core dump.

Solution

Use J2SE 1.3.1_04 for the client.

Internationalization (i18n)

This section describes known internalization issues and the associated solutions.

ID

Summary

4761017

On Solaris bundled version: Administration interface displays in English.

Because there is no language entry for Admin Server instance on the Solaris bundled version, the Sun ONE Application Server Administration interface displays in English for the localized version.

Solution

Manually set the locale entry in the server.xml file

4957904

User cannot launch the Chinese version of the Administration interface after installation.

After installing the Chinese version of Sun ONE Application Server, the Administration interface displays in English.

Solution

Manually set the locale entry in the server.xml file and restart the server.

N/A

On Solaris, there are limitations associated with the Netscape 4.79 browser.

  • When using Netscape 4.79 on Solaris, localized JavaScript messages display garbled characters. JavaScript cannot handle UTF-8 encoding.
  • When using Netscape 4.79 on Solaris in the Chinese GB18030 locale, GB18030 characters are not accepted.

Solution

On the Sun web site, download Netscape 6.23 or 7.0 for Solaris. This solves both problems.

6206333

On Microsoft Windows, accessing the Edit MIME Files page in the Administration interface causes an internal error in the simplified Chinese version.

Solution

Edit the mime.type file using a text editor. The file is located at: install_dir/Appserver7/domains/domain_name/instance_name/config/mime.type

For example:

C:\Sun\Appserver7\domains\domain1\server1\config\mime.type

Documentation

This section describes the known documentation issues and associated solutions.

ID

Summary

4839719

Developer’s Guide to Web Applications: Description of cookieName property misleading.

In the Developer's Guide to Web Applications, the documentation of the sun-web.xml file lists the cookieName property of the cookie-properties subelement and implies that the value of the cookieName property can be changed from the default value. However, the value cannot be changed; it must always be JSESSIONID.

Solution

None.

4720171

There is no documentation explaining the use of indexed deployment directories.

The numbering scheme part of a deployed application's directory name has been implemented as an indexing mechanism to allow a developer to modify a JAR and/or class file associated with the deployed application. This is significant to the Windows platform due to a sharing violation error that occurs during an attempt to overwrite a loaded file; Windows places a file lock on the loaded file. The file is loaded into the server instance or the IDE during session startup. With the sharing violation error, two options are possible:

  • Compile the updated class file (originally part of that JAR file) and place it first in the classpath in order to be loaded before the older classes, then allow for the Sun ONE Application Server to reload this application (as long as reload is active), OR
  • Update the JAR file, create a new EAR file, and redeploy the application.

NOTE: Redeployment of the application on the Solaris platform is not necessary since there are no file locking constraints.

Solution

When making changes to an already deployed application on the Windows platform for IDE setup, ANT file copy, or compile or other operations, note that a new directory will be created with an incremented index number as the workaround for the file locking constraint. For example: On the Solaris platform the J2EE application, helloworld, is deployed to the Sun ONE Application Server with the following directory structure:

appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1

A change is then to be made to a servlet that's part of this deployed application (for example, HelloServlet.java). The Sun Java Studio IDE is started, the source file for this servlet is changed and compiled with the javac target set to the above directory. With the source compiled to the proper location, a reload file exists for this application, the reload flag in server.xml is set to true, and, with the server instance running, the changes take effect without having to reassemble the application and redeploy it.

For the Windows platform, the JAR or class file cannot be altered and updated due to the file locking issue. Therefore, there are two methods of dealing with this issue on Windows:

  • Compile the changed source file and prepend the class file or JAR in the classpath in order to have the source changes picked up, OR
  • Make the changes to the helloworld source, assemble it, and redeploy it without undeploying the previous deployment of helloworld.

The second option is the preferred method since this option results in the use of the incremented index number appended to the deployed application's directory name. Therefore, after a second deployment of helloworld, the directory structures would be:

appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_1
appserv/domains/domain1/server1/applications/j2ee-apps/helloworld_2

The second deployment of helloworld would be deployed under helloworld_2.

4851218

You cannot use keytool to generate certificates with Sun ONE Application Server.

Certificates generated with keytool are not compatible with Sun ONE Application Server.

Solution

You can use certutil to generate self-signed certificates. It is available as an add-on to the Sun ONE Application Server at:

http://wwws.sun.com/software/download/app_servers.html

For information on using certutil, see:

http://www.mozilla.org/projects/security/pki/nss/tools/certutil.html

4870888

Getting Started Guide built into the product is incorrect.

The Getting Started Guide that is built into the product contains incorrect information regarding platforms and sizing. It also is not fully 508-compliant.

Solution

For correct platform and sizing information, refer to the Installation Guide or the Platform Summary. For a 508-compliant version of the Getting Started Guide, see the version posted here:

http://docs.sun.com

4875280

Online help has some incorrect descriptions.

Solution

  • In the asprfhls.html file:

Determines whether SSL3 is enabled. For administrative purposes, deselecting SSL2 and using TLS only is recommended. (file name asprfhls.html)

If your browser does not support TLS, then select SSL3.

Instead, this should be:

Determines whether SSL3 is enabled. For administrative purposes, deselecting SSL3 and using TLS only is recommended.

If your browser does not support TLS, then select SSL3.

  • In the asprflo.html file:

Create Console

(Window only). When checked, a console window is created for stderr output.

Instead, this should be:

Create Console

(Windows only). When checked, a console window is created for stderr output.

4884043

Configuration File Reference: Transmit File parameter default is stated incorrectly.

Solution

The document description for the TransmitFile parameter in the nsfc.conf file specifies the following default:

(for Unix) i.e.

TransmitFile=off

This is incorrect.The Transmit File check box by default is "enabled". As described in the document, it should have been disabled.

4890285

Some documents are not updated for the Solaris x86 platform.

In documents that list supported platforms for Sun ONE Application Server, the Solaris x86 platform might not be included. For the latest platform information, see the Platform Summary.

Developer's Guide to NSAPI: Where the manual refers to SPARC, the references should be to Solaris (Solaris includes SPARC and x86). On Page 158 and 159, SPARC should not be specified.

Solution

Refer to "Solaris x86 Limitations" for a list of Solaris x86 limitations in this release. The documentation does not always specify these limitations.

4893954

Administrator’s Guide doesn’t include the information that log rotation using the Solaris cron script restarts the Sun ONE Application Server.

Solution

Two types of log rotation are available:

Internal-daemon log rotation happens within the HTTP daemon, and can only be configured at startup time. Internal daemon log rotation allows the server to rotate logs internally without requiring a server restart.

Scheduler-based (cron-based) log rotation is initialized at server startup. If rotation is turned on, the server creates a time-stamped access log file and rotation starts at server startup. This type log rotation internally calls the rotatelog script, which restarts the application server process.

4896094

Administrator’s Guide: Need instructions for setting ACC_CONFIG variable at installation.

Solution

There are no instructions in the documentation for setting the ACC_CONFIG variable after creating domain and server instances. After the “Deploying Applications” section in the Sun ONE Application Server Administrator’s Guide, the following text needs to be added:

In addition to the above steps, you need to modify the asenv.conf file. After creating the domains, set the value of the AS_ACC_CONFIG variable to the sun-acc.xml file located in the server_instance_config directory. If this value is not set properly, you might get errors while running the applications related to the Application Client Container (ACC). For example:

AS_ACC_CONFIG=/var/appserver/domains/domain1/server1/config/sun-acc.xml

where server1 is the application server instance you have created.

4913290

Form Based Authentication does not provide the same functionality as in 6.5

Applications developed on iPlanet Application Server 6.5 that use form-based authentication can pass the request parameters to the Authentication Form or the Login page. The Login page could be customized to display the authentication parameters based on the input parameters.

Solution

Sun ONE Application Server 7 does not support the passing of request parameters while displaying the Login page. The applications that uses form-based authentication, which passes the request parameters can not be migrated to Sun ONE Application Server 7. Porting such applications to Application Server 7 requires significant changes in the code. Instead, you can store the input parameters in the session which can be retrieved during the display of Login page.

The following code example demonstrates the workaround:

Before changing the code in 6.5:

---------index-65.jsp -----------

<%@page contentType="text/html"%>
<html>
<head><title>JSP Page</title></head>
<body>
go to the <a href="secured/page.jsp?arg1=test&arg2=me">secured area</a>
</body>
</html>

----------login-65.jsp--------------

<%@page contentType="text/html"%>
<html>
<head> </head>
<body>
<!-- Print login form -->
<h3>Parameters</h3><br>
<%out.println("arg1 is " + request.getParameter("arg1")); %>
<%out.println("arg2 is " + request.getParameter("arg2")); %>;
</body>
</html>

4913290 (Continued)

After changing the code in 7.0:

---------index-7.jsp -----------

<%@page contentType="text/html"%>
<html>
<head><title>JSP Page</title></head>
<body>
<%session.setAttribute("arg1","test"); %>
<%session.setAttribute("arg2","me"); %>
go to the <a href="secured/page.jsp">secured area</a>
</body>
</html>

The index-7.jsp shows how you can store the request parameters in a session.

----------login-7.jsp--------------

<%@page contentType="text/html"%>
<html>
<head> </head>
<body>
<!-- Print login form -->
<h3>Parameters</h3><br>
<!--retrieving the parameters from the session -->
<%out.println("arg1 is " + (String)session.getAttribute("arg1")); %>
<%<>out.println("arg2 is " + (String)session.getAttribute("arg2")); %>
</body>
</html>

  4913611

J2EE spec incompatibilities are not documented.

Solution

Developer's Guide to Web Applications: The following note applies to the description of the delegate attribute:

"If the delegate flag is set to its default value of false, the classloader delegation behavior complies with the Servlet 2.3 specification, section 9.7.2. If set to true, classes and resources residing in container-wide library JAR files are loaded in preference to classes and resources packaged within the WAR file, contrary to what this specification recommends.

Portable programs that use this flag should not be packaged with any classes or interfaces that are a part of the J2EE specification. The behavior of a program that includes such classes or interfaces in its WAR file is undefined."

Developer's Guide and the Developer's Guide to Enterprise JavaBeans Technology: The following note applies to the descriptions of the pass-by-reference element:

"If the pass-by-reference flag is set to its default value of false, the passing semantics for calls to remote interfaces comply with the EJB 2.0 specification, section 5.4. If set to true, remote calls involve pass-by-reference semantics instead of pass-by-value semantics, contrary to this specification.

Portable programs should not assume that a copy of the object is made during such a call, and thus that it's safe to modify the original. Nor should they assume that a copy is not made, and thus that changes to the object are visible to both caller and callee. When this flag is set, parameters and return values should be considered read-only. The behavior of a program that modifies such parameters or return values is undefined."

4915451

The definition of idle-timeout-in-seconds in the Administrator's Guide is incorrect.

Solution

In Sun ONE Application Server Administrator’s Guide Chapter 6, Monitoring the Sun ONE Application Server, the definition of idle-timeout-in-seconds includes the following sentence:

If the current size is less than steady-pool-size, it is increased by pool-resize-quantity, with a ceiling of min (current-pool-size+pool + resize-quantity, max-pool-size).

This should be changed to:

If the current size is less than steady-pool-size, it is increased by pool-resize-quantity, with a ceiling of min (current-pool-size + pool-resize-quantity, max-pool-size).

4950035, 4976502, 5024804

The information on enabling statistics with stats-xml in the Performance Tuning Guide is incorrect.

Solution

In the Sun ONE Application Server Performance Tuning Guide in the “Tuning Sun ONE Application Server” chapter, the description of enabling statistics with stats-xml contains the following errors:

  • You must make the change to the instance_name-obj.conf file, not the obj.conf file as stated.
  • The example is incorrect. The entries for:
  • NameTrans fn="assign-name" from="/stats-xml/*" name="stats-xml" and

    NameTrans fn=assign-name from="/.perf" name="perf"

must appear before the line:

NameTrans fn=document-root root="$docroot"

otherwise they'll be ignored. The current example does not have the lines in the correct order.

  • The introductions to Figure 4.1 and Figure 4.2 are incorrect.

Figure 4.1 should say that it shows a sample instance_name-obj.conf file which has stats-xml enabled.

Figure 4.2 should say that is shows a sample init.conf file which has stats-xml enabled.

4983280, 4992520, 6078104

 

Web server plug-in installation instructions are incorrect

In the Sun ONE Application Server Administrator’s Guide, the instructions for installing the web server plug-in are incorrect.

Solution

The procedure should be as follows:

Changes to Sun ONE Web Server

Take backups of critical configuration files, such as magnus.conf and obj.conf, before making changes to these files.

1.  Create a directory in the web server installation area that will contain the web server (passthrough) plug-in. For example:

cd /webserver_install_dir/plugins

mkdir -p passthrough/bin

2.  Copy the passthrough plug-in from Sun ONE Application Server installation to this new, web server directory. For example:

cd appserver_install_dir/lib

cp libpassthrough.so webserver_install_dir/plugins/passthrough/bin

For Windows, copy the passthrough.dll file.

3.  Edit the magnus.conf file, found under webserver_install_dir/https-host.domain/config, and append the following lines. These lines need to be entered as 2 lines, each starting with Init.

Init fn=load-modules shlib="your_app_server_install/lib/libpassthrough.so
  "funcs="init-passthrough,auth-passthrough,check-passthrough,
  service-passthrough"NativeThread="no"
Init fn="init-passthrough"

4.  Edit the web server’s obj.conf file, found under webserver_install_dir/https-host.domain/config, and add the NameTrans directive. It must be entered on a single line. The NameTrans directives are executed in the order they appear, so make sure your addition is in proper position. If in doubt, put it above all other NameTrans directives Be careful with whitespace (spaces/tabs) in this file.The way obj.conf gets parsed causes lines that start with whitespace to be ignored, since they are considered to be part of the previous line's directive. The example below only redirects for a context root named “webapp-context”. Add more context root names for multiple applications, or use a catch-all directive: from="/*"

<Object name="default">
NameTrans fn="assign-name" from="(/webapp-context|/webapp-context/*)
  "name="passthrough"

...
</Object>

4983280, 4992520, 6078104
(Continued)

5.  For Sun ONE Web Server 6.0, add the following lines in the web server’s obj.conf file. Replace app_server.domain:port with the server name and port number of your Sun ONE Application Server. Note that you need to enter the Service line as one line.

Object name="passthrough">
ObjectType fn="force-type" type="magnus-internal/passthrough"
PathCheck fn="deny-existence" path="*/WEB-INF/*"
Service type="magnus-internal/passthrough" fn="service-passthrough"
  servers="http://app_server.domain:port"
Error reason="Bad Gateway" fn="send-error" uri="/badgateway.html"
</Object>

6.  For Sun ONE Web Server 6.1, add the following lines in the web server’s obj.conf file. Replace app_server.domain:port with the server name and port number of your Sun ONE Application Server. Note that you need to enter the Service line as one line.

Object name="passthrough">
PathCheck fn="deny-existence" path="*/WEB-INF/*"
Service type="magnus-internal/passthrough" fn="service-passthrough"
  servers="http://app_server.domain:port"
Error reason="Bad Gateway" fn="send-error" uri="/badgateway.html"
</Object>

7.  Restart the Sun ONE Web Server instance.

If required for authentication reasons, on the Sun ONE Application Server you may need to change init.conf and server_name-obj.conf. These steps are required if you have a web server running in SSL mode while the Sun ONE Application Server is non-SSL. In this case any redirects fail unless you add the lines below to the proper Sun ONE Application Server files. If you don't need this information, skip these steps:

8.  In app_server_instance/config/init.conf, add the following lines as two lines, each starting with Init:

Init fn="load-modules" shlib="/app_server_install/lib/libpassthrough.so"
  funcs="init-passthrough,auth-passthrough,check-passthrough,
  service-passthrough"shlib_flags="(global|now)"
Init fn="init-passthrough"

9.  In /domain/server_instance/config/server_instance-obj.conf, enter the following lines:

<Object name="default">
AuthTrans fn="match-browser" browser="*MSIE*" ssl-unclean-shutdown="true"
AuthTrans fn="auth-passthrough"
....
</Object>

4986222

Clarify documentation relating to JMS.

The documentation refers to an incorrect version of the Sun ONE Message Queue documentation.

The description of the server.xml jms-service property instance-name is incorrect in the Administrator’s Configuration File Reference and in the Developer’s Guide to J2EE Features and Services is incorrect.

Solution

For the correct version of the Sun ONE Message Queue documentation, refer to http://docs.sun.com/db/prod/s1.s1msgqu.

The documentation for the jms-service property instance-name says that the Sun ONE Message Queue broker instance name is always the concatenation of the domain and server instance name. That is not true. You can use any name.

5003309

Administrator’s Guide: the section titled “Deploying Static Content” contains an incorrect URL.

Solution

The URL:

http://server:port/NASApp/&ltcontext_root/index.html

Should be:

http://server:port/tcontext_root/index.html

N/A

J2EE CA SPI Administrator’s Guide refers to wrong book title.

The Sun ONE Application Server J2EE CA SPI Administrator’s Guide refers to Sun ONE Application Server J2EE CA SPI Developer’s Guide. This title is incorrect.

Solution

These references should be to the Sun ONE Application Server Developer’s Guide.

N/A

Sun ONE Application Server Administrator’s Guide doesn’t document using escape characters for the asadmin utility properly for Linux.

Solution

When using the asadmin command in multimode on Linux, use a single backslash character to escape reserved characters such as colons. For example:create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --property
url=jdbc\:oracle\:thin\:@1
asperf\:1521\:ntdb01":user=testprod:password=testprod rekla-pool

The value of the URL property will then be stored with the proper syntax for a JDBC connection string

5015994

Additional recommended configurations to improve performance.

Solution

If you change the default Sun ONE Application Server configuration by using the settings described below, you may see improved performance. These settings are found in your server instance’s server.xml file.

Add or change the following settings:

<jvm-options>-server -Xss128k</jvm-options>

<jvm-options>-Xms256m -Xmx256m</jvm-options>

<jvm-options>-XX:+AggressiveHeap</jvm-options>

<jvm-options>-XX:+DisableExplicitGC</jvm-options>

<jvm-options>-Djavax.rmi.CORBA.UtilClass=com.iplanet.ias.util.orbutil.IasUtilDelegate
</jvm-options>

<orb message-fragment-size="1024" steady-thread-pool-size="40" max-thread-pool-size="70"
idle-thread-timeout-in-seconds="300" max-connections="1024" monitoring-enabled="false"/>

<mdb-container steady-pool-size="32" pool-resize-quantity="16" max-pool-size="1024"
idle-timeout-in-seconds="600" monitoring-enabled="false">

Remove the following setting:

<jvm-options>-Dsun.rmi.dgc.server.gcInterval=3600000</jvm-options>

In addition, if the machine has enough memory, you should increase the initial heap size to 1024M (3500M on Solaris systems).

5031531

The Performance Tuning Guide does not include information on maximum heap space.

Solution

The maximum heap space depends of various factors:

  • Maximum address space for a process (maxPAS)
  • Space that the process needs for stack space (stack)
  • Space that the process needs for libraries (libs)

The following equation shows the value for the maximum heap space:

MaxHeapSpace = maxPAS - stack - libs

The maximum address space per process varies by platform:

x86 / Redhat Linux 32 bit        2 GB

x86 / Redhat Linux 64 bit        3 GB

x86 / Win98/2000/NT/Me/XP        2 GB

x86 / Solaris x86 (32 bit)        4 GB

Sparc / Solaris 32 bit        4 GB

Sparc / Solaris 64 bit        terabytes

Stack space and library space vary by individual application.

6156869

No documentation on migrating from Sun ONE Message Queue 3.0.1 to Sun ONE Message Queue 3.5

Sun ONE Application Server 7 is shipped with Sun ONE Message Queue 3.01. However, Sun ONE Message Queue 3.5 is also supported. To migrate from Sun ONE Message Queue 3.01 to Sun ONE Message Queue 3.5, follow the instructions in the Sun ONE Message Queue Installation Guide on the docs.sun.com web site. See:

http://docs.sun.com/source/817-3725/intro.html#wp23155

N/A

Version of Xerces not documented.

Sun ONE Application Server 7 supports LibXerces version 1.2 and Xerces2 Java Parser 2.6.2.


Redistributable Files

Sun ONE Application Server 7 does not contain any files which you can redistribute.


How to Report Problems and Provide Feedback

If you have problems with Sun ONE Application Server, contact Sun customer support using one of the following mechanisms:

So that we can best assist you in resolving problems, please have the following information available when you contact support:

Sun Welcomes Your Comments

Sun is interested in improving its documentation and welcomes your comments and suggestions. Use the web-based form to provide feedback to Sun:

http://www.sun.com/hwdocs/feedback

Please provide the full document title and part number in the appropriate fields. The part number is a seven-digit or nine-digit number that can be found on the title page of the book or at the top of the document. For example, the part number of this Release Notes document is Part Number 819-3233.


Additional Sun Resources

Useful Sun ONE information can be found at the following Internet locations:


Copyright � 2005 Sun Microsystems, Inc. All rights reserved.

Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more of the U.S. patents listed at http://www.sun.com/patents and one or more additional patents or pending patent applications in the U.S. and in other countries.

SUN PROPRIETARY/CONFIDENTIAL.

U.S. Government Rights - Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements.

Use is subject to license terms.

This distribution may include materials developed by third parties.

Portions may be derived from Berkeley BSD systems, licensed from U. of CA.

Sun, Sun Microsystems, the Sun logo, Java and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries.


Copyright � 2005 Sun Microsystems, Inc. Tous droits r�serv�s.

Sun Microsystems, Inc. d�tient les droits de propri�t� intellectuels relatifs � la technologie incorpor�e dans le produit qui est d�crit dans ce document. En particulier, et ce sans limitation, ces droits de propri�t� intellectuelle peuvent inclure un ou plus des brevets am�ricains list�s � l'adresse http://www.sun.com/patents et un ou les brevets suppl�mentaires ou les applications de brevet en attente aux Etats - Unis et dans les autres pays.

Propri�t� de SUN/CONFIDENTIEL.

L'utilisation est soumise aux termes du contrat de licence.

Cette distribution peut comprendre des composants d�velopp�s par des tierces parties.

Des parties de ce produit pourront �tre d�riv�es des syst�mes Berkeley BSD licenci�s par l'Universit� de Californie.

Sun, Sun Microsystems, le logo Sun, Java et Solaris sont des marques de fabrique ou des marques d�pos�es de Sun Microsystems, Inc. aux Etats-Unis et dans d'autres pays.

Toutes les marques SPARC sont utilis�es sous licence et sont des marques de fabrique ou des marques d�pos�es de SPARC International, Inc. aux Etats-Unis et dans d'autres pays.