Sun ONE Application Server 7 Enterprise Edition Release Notes
The Sun Open Net Environment (ONE) Application Server 7, Enterprise Edition release notes contain last-minute details, new features and enhancements, product requirements, known problems, and other late-breaking issues.
Information in this document updates and extends information in the component readme files included with this release.
This document contains the following sections:
What's New
The Sun ONE Application Server What's New document describes the new enterprise, developer, and operational features. The What's New document is available at http://docs.sun.com/db/prod/s1appsrv
Platform Summary
The Sun ONE Application Server Platform Summary document describes the supported operating systems, and other essential platform information. The Platform Summary is available at http://docs.sun.com/db/prod/s1appsrv
Sun ONE Application Server 7 Enterprise Edition Documentation
Sun Open Net Environment (ONE) Application Server 7 Enterprise Edition documentation can be found at: http://docs.sun.com/db/prod/s1appsrv
The Sun ONE Application Server 7, Enterprise Edition documents include:
- Product Introduction(817-2143-10) Describes Sun ONE Application Server 7, including the features available with each edition of the product.
- System Architecture Overview(817-2144-10) Presents diagrams and descriptions of server architecture; discusses benefits of the Sun ONE Application Server architectural approach.
- What's New(817-2142-10) Lists the new enterprise, developer, and operational features of Sun ONE Application Server 7.
- Platform Summary(817-2145-10) Provides a comprehensive, table-based summary of supported hardware, operating system, JDK and JDBC/RDBMS.
- Getting Started Guide(817-2147-10) Describes how to get started with the Sun ONE Application Server 7, Enterprise Edition. Includes new features, architectural overview, and sample application tutorial.
- Installation Guide(817-2146-10) Provides instructions for installing the Sun ONE Application Server, sample applications, the Administration interface, and the installation and configuration of the high-availability components.
- System Deployment Guide(817-2163-10) Provides a foundation for evaluating your system needs to ensure you deploy Sun ONE Application Server in a manner that best suits your site.
- Developer's Guide(817-2148-10) Provides general information about how to create J2EE applications to run on the Sun ONE Application Server.
- Developer's Guide to Web Applications(817-2149-10) Describes how to use servlets and JavaServer Pages (JSPs) within J2EE applications.
- Developer's Guide to Enterprise Java Beans Technology(817-2152-10) Describes how to develop and deploy various types of enterprise beans in the Sun ONE Application Server environment.
- Developer's Guide to J2EE Services and APIs(817-2154-10) Describes J2EE features such as Java Database Connectivity (JDBC), Java Naming and Directory Interface (JNDI), Java Transaction Service (JTS), Java Message Service (JMS), and JavaMail.
- Developer's Guide to NSAPI(817-2153-10) Describes how to create NSAPI plugins.
- Developer's Guide to Web Services(817-2151-10) Describes how to develop and deploy web services in the Sun ONE Application Server environment.
- Developer's Guide to Clients(817-2150-10) Describes how to develop and deploy Application Client Container (ACC) clients that access J2EE applications on Sun ONE Application Server 7.
- Migrating and Deploying Server Applications(817-2158-10) Provides instructions for migrating your applications to the new Sun ONE Application Server 7 programming model.
- Application Design Guidelines for Storing Session State(817-2162-10) Provides strategies for HTTP session availability.
- Administrator's Guide(817-1881-10) Provides instructions on the configuration, management, and deployment of the Sun ONE Application Server subsystems via the Administration interface and the command-line interface.
- Administrator's Configuration File Reference(817-2155-10) Describes the contents of the Sun ONE Application Server configuration files.
- Administrator's Guide to Security(817-2156-10) Describes how to configure and administer security for the Sun ONE Application Server operational environment.
- J2EE CA SPI Administrator's Guide(817-7157-10) Describes how to configure and administer JCA SPI Implementation features for the Sun ONE Application Server environment.
- Performance Tuning and Sizing Guide(817-2157-05) Describes how and why to tune your Sun ONE Application Server to improve performance.
- Troubleshooting Guide(817-2161-10) Provides information on solving Sun ONE Application Server problems.
- Error Message Reference(817-2159-10) Compilation of messages that you may encounter while running Sun ONE Application Server 7 Enterprise Edition.
- Utility Reference Manual(817-2160-10) Describes the utility and command -line interface commands available with the Sun ONE Application Server.
Referenced Documentation
The Sun ONE Message Queue, Platform Edition is integrated with the Sun ONE Application Server, Enterprise Edition. Sun ONE Message Queue includes a documentation set that can be found at: http://docs.sun.com/db?p=prod/s1.s1msgqu
Software and Hardware Requirements
The Sun ONE Application Server Platform Summary document describes the platform information. The Platform Summary is available at http://docs.sun.com/db/prod/s1appsrv
Sun ONE Application Server 7, Enterprise Edition has a high-availabilty database (HADB) component for persistent session store which can be installed seperately on the same machine or on a different machine. The HADB component is certified to scale up to 28 nodes, where 24 of them are active and 4 are spare.
Before installation, refer to the Sun ONE Application Server Installation Guide and Administrator's Guide for details on the HADB.
The following topics are addressed in this section:
Enterprise Edition Configurations
The following tables summarize the Sun ONE Application Server 7, Enterprise Edition requirements for the various high-availability configurations.
Configuration 1
Configuration 2
Configuration 3
Solaris Patches
Solaris 8 users must install the Sun recommended patch cluster, available in the Recommended and Security Patches section at: http://sunsolve.sun.com/
The required patches for Solaris 8 are 109326-06, 108827-26, 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.
Known Problems and Limitations
This section describes known problems and associated workarounds for the Sun ONE Application Server 7 Enterprise Edition.
|
Note
|
If a problem statement does not specify a particular platform, the problem applies to all platforms.
|
This information is organized into the following sections:
Installation and Uninstallation
This section describes the known installation and uninstallation issues and associated solutions.
|
ID
|
Summary
|
|
4719600
|
Warning messages occur during installation.
During installation, some invalid error messages may 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.
|
|
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 (UNIX root user), 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.
Solution
Make sure that silent installation is being run as the appropriate user.
|
|
4742171
|
Installing over an existing installation in silent mode does not report an error.
Affects installers running in silent mode. If user attempts to install over an existing installation of Sun ONE Application Server 7 (in the same directory), silent installation does not report any errors and proceeds normally. Existing installation files are preserved.
Solution
Uninstall existing installations before installing a new installation in the same location.
|
|
4746410
|
On Solaris, when installing the Sun ONE Application Server in non-default locations, the package-based installer on does not check disk space in the correct locations.
When installing the Sun ONE Application Server on Solaris (using the package-based installer) in a non-default location, the installation program does not check for disk space in the specified target directory. Instead, it checks for disk space only in the default directory location (/opt).
Solution
Before installation, verify that you have adequate disk space (85 MB) in /opt directory; 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.
|
|
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.
|
|
4749666
|
Samples documentation is not published to initial server instance if the 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 the 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 package 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 these 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:
- 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 (#).
- If the /cdrom directory does not already exist, enter the following command to create it:
# mkdir /cdrom
- 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 you are running File Manager, a separate File Manager window displays the contents of the CD-ROM.
- 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
- 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
- Stop the vold process by entering:
# kill -15 process_ID_number
- 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.
|
|
4757687
|
On Solaris, incremental installation of the Sun ONE Application Server component on the system, with previously installed Administration Client component, may result in an unusable installation.
This issue affects Solaris package-based installation. If you install the Sun ONE Application Server on a system where a standalone Administration Client component has already been installed, and select 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 will not be installed as the part of the Sun ONE Application Server installation process. 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; the same installation directory that was 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.
|
|
4762694
|
On Solaris, 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
|
|
4823481
|
For non-standard ports, transition between HTTP and HTTPS requests does not happen within the same session.
If any server that directly receives requests from the browser (such as the web server) is configured for non-standard port numbers, a new session will be created during a protocol transition. This is not a defect, but rather a result of the fact that the browser will not return the session ID (and other) cookies to a non-standard port.
NOTE: The browser does return such cookies if it is connecting to a URL that does not have a port number.
Solution
Use standard port numbers (http: 80, https: 443).
|
|
4834797
|
Silent installer gives a wrong warning message for already installed components.
This occurs when the following steps are executed in the user environment.
- Perform installation using the Administration interface or Console mode and save the statefile for reuse.
Note: the `statefile' gets generated when `setup' is run with the `-savestate' option.
- Without uninstalling the components installed in the above step, re-run the installer in silent mode again using the statefile created in the step above.
Installer displays the following message then exits: "Incompatible or corrupted state file provided. Cannot continue."
This message is erroneous and the correct message should be: "No available components have been selected for installation. Component list is either empty, or contains already installed components."
But the installation process is stopped which is an expected and correct behaviour.
Solution
Before running the silent installation, make sure that components specified in the statefile are not previously installed on the system.
|
|
4883016
|
Apache plugin installer needs to bundle certificate DB files.
User needs to create a directory for the DB files needed for the apache plugin to work.
Solution
- Create a directory named sec_mod_db under your Apache root directory.
- Copy the cd_image/sec_db_files/*.db files to the above directory.
|
|
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:
- Exit the installer when offered the automatic upgrade choice,.
- Upgrade Sun ONE Message Queue to version 3.0.1 according to Sun ONE Message Queue documentation,.
- Run Sun ONE Application Server installation again.
|
Server Startup and Shutdown
This section describes the known startup and shutdown issues and the associated solutions.
|
ID
|
Summary
|
|
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 may occur due to following problems:
- As it tries to load all the pending messages, the MQ broker may run out of memory and abort.
Solution 1
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.
- 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 2
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 may cause Sun ONE Application Server startup failures.
If you have a personal firewall installed, you may experience this problem. The presence of strict firewall rules on the same machine as a Sun ONE Application Server installation may cause startup failures of the Admin Server and App Server instances. Specifically, the Admin Server and App Server instances attempt to establish local connections within the Sun ONE Application Server environment. Since these connection attempts access ports using the host name of the system rather than localhost, local firewall rules may block such attempts.
The local firewall may also inadvertently generate alerts saying that either the "Portal of Doom Trojan" attack (for example, TCP connection attempts on port 3700) or similar attacks have occurred when, in fact, such access attempts have been made by the 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 may overlap with port numbers used in known popular attacks. Some symptoms of this problem:
- The administrative and server instance log files contain connection exceptions followed by this message: CORE3186: Failed to set configuration
Solution
Modify the firewall policy to allow the 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: Solaris 9 integrated install: /var/appserver/domains/... Solaris 8, 9 unbundled install: /var/opt/SUNWappserver7/domains/...
Look for the port settings in the <iiop-listener> and <jms-service> elements. You can either change these port numbers to other unused port numbers, or you can modify your firewall policy to allow connection attempts from clients on the local machine to these port numbers on the same machine.
|
|
4780076
|
On Solaris, the Sun ONE Application Server starts all instances as root thereby allowing non-root users 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 ;; ...
Execution of 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 may 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.
|
|
(cont.)
|
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 domainIf 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 ;; ...
|
|
(cont.)
|
- 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 theSun 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:
- Go to the Oracle Web site.
- Click the 'patches' button.
- Type 2199718 in the patch number field.
- Click the 32-bit Solaris OS patch.Go to Metalink.oracle.com.
- Click patches.
- Under patch number, enter 2199718.
- Click the 32 bit Solaris OS patch.
|
|
4707531
|
On Solaris, accessing an Oracle 9.1 database with an Oracle 9.2 Client may 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.
|
Web Container
This section describes the known web container issues and 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.
|
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):
- find insurance.employee where insurance.id == 10
This returns null if such insurance does not have an employee associated with it.
- 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.
|
Container-Managed Persistence
This section describes the known container-managed persistence (CMP) issues and the 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 classes12.zip file 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 classes12.zip file 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:
- 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.
- 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).
|
|
4895236
|
When the persistence scope is specified as session, and the persistence frequency is set to time-based, under load; sometimes the server reports the following exception:
java.io.IOException: Error from HA Store: HADB-E-11939: Primary key constraint violation
Under load, when the persistence scope is specified as session and the persistence-frequency is time-based, the following exception is reported from time to time:
java.io.IOException: Error from HA Store: HADB-E-11939: Primary key constraint violation at com.sun.appserv.ee.web.sessmgmt.HAStore.executeStatement(HAStore.java:2202) at com.sun.appserv.ee.web.sessmgmt.HAStore.insertSessionBlob(HAStore.java:1957) com.sun.appserv.ee.web.sessmgmt.HAStore.save(HAStore.java:1409) at org.apache.catalina.session.PersistentManagerBase.writeSession(PersistentManagerBase.java:759) at org.apache.catalina.session.PersistentManagerBase.processMaxIdleBackups(PersistentManagerBase.java:1097) com.sun.appserv.ee.web.sessmgmt.HAManagerBase.processPersistenceChecks(HAManagerBase.java:88) org.apache.catalina.session.PersistentManagerBase.run(PersistentManagerBase.java:1182) at java.lang.Thread.run(Thread.java:536)
Solution
None
|
|
4898075 4900759
|
Client held transaction open too long
The performance and stability of the web-container with modified-attribute session persistence scope depends upon the J2EE application being executed, and the load on the cluster.
Solution
Ensure that your application is suitable for modified-attribute session persistence scope. Please refer to "Application Design Guidelines for Storing Session State." In particular, applications which do not use setAttribute and removeAttribute calls to modify the session contents, cannot be configured for persistence-scope='modified-attribute'. Evaluate the performance / stability of the web-container under expected peak load with this persistence scope. Also compare the performance / stability with other persistence scopes (session and modified-session), before making the appropriate choice.
|
|
4908285
|
Web-method as persistence frequency and modified-attribute as scope does full gc
The session persistence scope "modified-attribute is not certified as a full production quality feature.
Solution
Evaluate the performance / stability of the web-container under expected peak load with this persistence scope. If under the expected peak load exceptions are logged and/or response time is too high, do not use this persistence scope for your production environment. Instead use "session" or "modified-session" as the persistence scope.
|
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 scripts does not work if the value has a space.
The command-line utilities in Sun ONE Message Queue have a -javahome option that allows you to specify an alternate Java runtime. Using this option exposes a limitation where the path of the specified alternate Java runtime must not contain spaces. Examples of paths that have spaces are:
/work/java 1.4
This problem occurs at 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 the 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.
- Issue with the Oracle (R) JDBC driverOracle XA Resource implementation's recover method repeatedly returns the same set of in-doubt Xids regardless of the input flag. According to the XA specs, the Transaction Manager should initially call XAResource.recover with TMSTARTSCAN and then call XAResource.recover with TMNOFLAGS repeatedly until no Xids are returned.
-
Oracle XA Resource's commit method also has some problems, which are addressed in a workaround provided by the Sun ONE Application Server. To enable this workaround, the following property should be added to the transaction-service subelement in the server.xml file: oracle-xa-recovery-workaround
-
This property value should be set to true.
- Issue with Sybase JConnect 5.2There are some known problems with JConnect 5.2 driver which are resolved in JConnect 5.5. If the JConnect 5.2 driver is used, to make recovery to work, the following property should be added to the transaction-service subelement in the server.xml file:
-
sybase-xa-recovery-workaround
-
This property value should be sent to true.
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 may 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 application deployment issues and associated solutions.
|
ID
|
Summary
|
|
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 SPARC, the Sun ONE Application Server might crash during dynamic reloading.
For a large application (with many enterprise beans), a crash may 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
- 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
- Reboot the system.
|
|
4744128
|
The EJB compiler fails to generate valid JAVA code for inner classes.
The EJB compiler fails to generate valid JAVA code for the implementation of the enterprise bean that uses inner classes as the return type.
public interface IStateServer { .... public StateProperties getProperties(String objectID, String variantName, IToken securityToken) throws RemoteException;
public class StateProperties implements Serializable { public StateProperties() { } public String description = ""; public String owner = ""; public Date modifyTime = new Date(); public String accessPermissions = ""; } } public interface IStateServerEJB extends EJBObject, IStateServer { .... }
Note method getProperties returns an inner class.
Example of the error:
D:\AppServer7a\appserv\domains\domain1\server1\generated\ejb\j2ee-apps\smugglercom\spss\ssp\state\ejb\StateServerEJB_EJBObjectImpl.java:133:
Direct use of synthetic inner class names is not allowed: com.spss.ssp.state.IStateServer$StateProperties
The generated code should be com.spss.ssp.state.IstateServer.StateProperties
instead of com.spss.ssp.state.IstateServer$StateProperties
Solution
Move StateProperties to a separate (standalone not inner) class.
|
|
4756093
|
Redeployment of a deployed application fails after Sun ONE Application Server restart.
If an application is redeployed while the Sun ONE Application Server instance is running, the application may fail.
Solution
Stop the App Server instance, redeploy the application, then restart the App Server instance. The application can be redeployed as many times as necessary if the App Server instance is not running.
|
|
4756981
|
Permission problem occurs during dynamic reloading and invocation of applications.
When the Admin Server is owned by root and the App Server instance is owned by a non-root user, there may be permission problems during dynamic reloading and invocation of applications.
Solution
After deploying/redeploying the module or application (with or without precompile option), change the directory owner from root to the non-root user. The change-of-owner should to be applied recursively to each of the directories in the following list based on the application type.
domain_root/server_instance/applications/j2ee-apps/application_name domain_root/server_instance/applications/j2ee-modules/module_name domain_root/server_instance/generated/ejb/j2ee-apps/application_name domain_root/server_instance/generated/jsp/j2ee-apps/application_name domain_root/server_instance/generated/jsp/j2ee-modules/module_name
- Become superuser.
- Type the following command for each of the directories that apply to your situation:
# chown -R non_root_instance_owner directory_name
|
|
4834004
|
A java.lang.OutOfMemoryError exception occurs while deploying applications.
While deploying applications, the Sun ONE Application Server throws a java.lang.OutOfMemoryError exception in the server.log. To deploy a large number of applications, a small JVM heapsize causes problems.
Solution
In the server.xml file, do the following:
Set the JVM heapsize to 512MB (default=256)
[ <jvm-options> -Xms128 -Xmx512 </jvm-options> ]
Set the default pool size to a very small value (for example, 25). This may affect performance, but should be usable for functionality testing:
[ <server> <availability-service> <persistence-store> <property name="ha-store-pool-size" value="25"/> ... </server> ]
|
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.
|
|
4743480
|
Verifier cannot detect the methods declared in the super interface of the local home interface.
The verifier performs tests on the local home interface to check the interface for conformance to the J2EE specification. Some of the tests for the findByPrimaryKey method fail if you have a derived local home interface and the required method is declared in the super interface of the home interface. The failed tests are those performed by the tests named HomeInterfaceFindByPrimaryKeyArg, HomeInterfaceFindByPrimaryKeyName, HomeInterfaceFindByPrimaryKeyReturn, and PrimaryKeyClassOpt. Deployment would also fail if you use the -verify option with the module or application.
Solution
The test results can be ignored if the function has been properly declared in the super interface for the local home interface. In this case, do not use the -verify option with the deployment command. The deployment will complete correctly. A workaround is to declare the same function again in the derived home interface to pass the verification tests.
|
Configuration
- The default value of the env-classpath-ignored attribute of the java-config element is true.
- Not Implemented for this release:
The bytecode-preprocessors attribute in java-config element in server.xml (It is likely that it will become available in a future performance patch.)
- Deprecated for this release:
- Due to J2EE 1.4 architecture changes, some elements may not be supported in future releases, such as:
The following table describes the known Sun ONE Application Server 7, Enterprise Edition configuration issues and their solution.
|
ID
|
Summary
|
|
4742559
|
If IPv6 is not used in your network, this problem does not apply to you.
NOTE: 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 may not start if the IPv6-related configuration is applied to a system that has only IPv4 support.
Solution
Perform the following configuration changes:
- Start the Admin Server.
- Start the Administration interface. (Connect to Admin Server http host/port in a browser).
- Select the App Server instance to configure for IPv6, such as server1.
- Expand the HTTP Listeners node in the tree view.
- Select the HTTP Listener to configure for IPv6, such as http-listener1.
- In the General section, change the value of the IP Address field to ANY.
- 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.
- Click Save.
- In the left pane, select your server instance.
- Click Apply Changes.
- .Click Stop.
- Click Start. This restarts the server and implements your changes.
|
Deployment Descriptors
This section describes the known Sun ONE Application Server 7, Enterprise Edition deployment descriptor issues.
sun-cmp-mapping.xml Issues
- Not Implemented for this release:
check-modified-at-commit
lock-when-modified
sun-ejb-jar.xml Issues
Monitoring
This section describes the known 7 monitoring issues and associated solutions.
|
ID
|
Summary
|
|
4734595
|
Total-connections-failed-validation does not show correct 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
|
High Availability
This section describes the known high availability issues and associated solutions.
|
ID
|
Summary
|
|
4828779
|
When an active node is stopped, spare doesn't pickup.
When an active node without any data is stopped, the spare node cannot complete a repair and the repair hangs. The repair requires some data to be copied to the spare node.
Solution
Perform a refragment to reddistribute data on newly added nodes such that no active nodes remain empty.
|
|
4831332
|
HADBM create doesn't work when superuser becomes root.
When using "su" to become root, HADBM may report access problems on specific paths. HADBM needs the environment information for user "root."
Solution
Use "su -" and retry.
|
|
4842677
|
On Netscape 4.79, a request sent during failover will be lost when the request is sent.
Situation: In a two-machine cluster configuration with each machine having an application server instance running, a session-based application is deployed on both instances of application server. For example:
Assume that the session-based application is taking an attribute/value pair, storing it in session, and displaying what was stored in session. After sending a request, shut down the application server instance that served the request. Now from the browser try to send a request with a different attribute/value pair. Since the application server instance that served the first request is shut down, the request fails and shows an error message with an option to resubmit the request. Clicking the Resubmit link will resubmit the request. However, using the Netscape 4.79 browser, the resulting page will only show the first attribute/value pair; the second attribute/value pair will not be added to the session.
If Netscape 7.0 or Internet Explorer 6.0 is used, the second attribute/value pair is added correctly.
Solution
Use the Netscape 7.0 browser or the Internet Explorer 6.0 browser.
|
|
4842830
|
ComStream is closed, reaches JDBC client.
This is an internal message that is used to synchronize internal processing of SQL commands. Due to some unresolved error, this error message will occasionally be sent to an application client, instead of a more specific user error. This problem will be resolved in future releases of HADB.
Solution
Retry the operation.
|
|
4843422
|
HADB connection pool is lost and recreated when you deploy applications.
Deploying many applications could exhaust the maximum number of connections to the HADB, causing applications to fail.
Solution
After deploying your applications, restart the HADB server.
|
|
4846432, 4846691, 4861489
|
Miscellaneous hadbm commands don't work when running hadbm from another machine than used to create the database.
Management client should be started from the same client machine. The clients track configurations, and information about starting and stopping the server. If different clients and servers are used to start and stop, this information is not distributed to all the nodes.
Solution
Retry from the machine used to create the database.
|
|
4861396
|
Unrecoverable failure of cursor.
Hides another failure; most likely of locks.
Solution
Use a different isolation level for transactions if appropriate; or increase the number of locks.
|
|
4861405
|
Problems connecting to machines with two IP interfaces on the same subnet.
Connection to a server with multiple network interfaces, with different IP addresses, on the same subnet fails. HADB does not support multiple interfaces on the same subnet.
Solution
Disconnect one or more of the network interfaces so that only one interface exists on any given subnet.
|
|
4861465, 4855623
|
NSUP wrongfully detects network partition during controlled stop.
Controlled stop could not update the stop state file correctly. If the database is restarted after a controlled stop, the node hangs.
Solution
Use hadbm status --nodes command to determine which nodes are still alive. Then, run hadbm stopnode -f <node_number> for each of the partially running nodes.
|
|
4888728
|
hadbm help does not work.
When using a tcsh/csh shell, invoking HADBM help does not work.
Solution
In order to invoke HADBM from a tsch/csh hell, you must identify the option as -\? or "-?".
|
|
4899950
|
HADBM write to the stty without checking whether it is a terminal causing error messages
When using stty check to make sure tty is a terminal.
Solution
Check whether tty is a terminal. This error will not occur if HADBM is evoked from a shell.
|
|
4897966
|
HADBM manpaage is missing from the product.
You must copy hadbm man page to and set the MANPATH.
Solution
- Create a directory named man under installation directory, if it does not already exist.
- Create a directory named smanlm under Installation Directory/man, if it does not already exist.
- Copy cd_image/manpage/hadbm.lm file to Installation Directory/man/smanlm.
- Append Installation Directory/man to the existing value of MANPATH environment variable
The man page now can be accessed by running man hadbm.
|
Server Administration
This section contains the following sections:
Command Line Interface (CLI)
This section describes the known command-line interface issues and associated solutions.
|
ID
|
Summary
|
|
4676889
|
CLI command overflows in single-mode if the command is more than 256 characters long.
On UNIX(R), when executing a CLI command in single-mode that contains more than 256 characters, the command fails with this error: ...Command Not Found...
This is a terminal restriction, not a CLI restriction.
Example:
create-jdbc-connection-pool --instance server4 --datasourceuser admin --datasourcepassword adminadmin --datasourceclassname test --datasourceurl test --minpoolsize=8 --maxpoolsize=32 --maxwait=60000 --poolresize=2 --idletimeout=300 --connectionvalidate=false --validationmethod=auto-commit --failconnection=false --description test sample_connectionpoolid)
Solution
- For commands that require more than 256 characters, use CLI multi-mode.
- 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.
|
|
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.
|
|
4724743
|
The asadmin reconfig command flags are misleading.
In general, the asadmin options are stated as having two states: true and false. If you specify an option as true, it is exactly the opposite of specifying false. In contrast, the asadmin reconfig command has three states to deal with: a) check for manual changes and throw exception; b) keep manual changes c) discard manual changes. The command has only two options: --keepmanualchanges and --discardmanualchanges. Therefore, you can specify different combinations of these two options in the command.
Not all combinations are documented. The actual valid combinations are:
- discardmanualchanges=true --keepmanualchanges=false
-
Meaning: will discard manual changes (and use admin changes)
- discardmanualchanges=false --keepmanualchanges=true
-
Meaning: will keep manual changes (and throw away admin changes
- discardmanualchanges=false --keepmanualchanges=false
-
Meaning: will throw exception if there is manual change
- discardmanualchanges
-
Meaning: same as 1.
- keepmanualchanges
-
Meaning: same as 2.
- (no options)
-
Meaning: same as 3.
Invalid combinations are (asadmin will tell you that the combination is bad):
--discardmanualchanges --keepmanualchanges
--discardmanualchanges=true --keepmanualchanges=true
NOTE: The --discardmanualchanges=false option is NOT equal to the --keepmanualchanges=true option. The --discardmanualchanges=false is actually the same as not specifying the option.
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.
- Add the following entry to LD_LIBRARY_PATH file:
usr/lib/mps
- 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.
|
|
4895449
|
create-ssl command doesn't accept rsa_3des_sha as one of the values for ssl3Ciphers.
Solution
To set the ssl3Ciphers torsa_3des_sha:
- Use the set command as follows:
asadmin set --user user --password password --host hostname --port 4848 server1.http-listener.http-listener-id.ssl3Ciphers=rsa_3des_sha
- Or, use the Administration Interface.
|
|
4897966
|
Some of the 'hadbm' man pages are missing in the product.
Solution
- Create a directory named man under install_dir, if it does not already exist.
- Create a directory named smanlm under install_dir/man, if it does not already exist
- Copy cd_image/manpage/hadbm.lm file to install_dir/man/smanlm
- Append install_dir/man to the existing value of MANPATH environment variable
The man page can now be accessed by running man hadbm
|
Administration Infrastructure
This section describes the known administration infrastructure issues and associated solutions.
|
ID
|
Summary
|
|
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.
|
|
4723776
|
On SPARC, 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 the Start button.
To avoid this problem, perform the following steps instead of clicking the Restart button.
Click the Stop button. Click the Start button.
|
|
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.
|
|
4736554
|
After a secure httplistener 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 futureBefore 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
|
|
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):
- 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.
- 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.
Solution
Manually remove the leftover instance directory, create a new instance, then run the start-instance command.
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
- 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.
- 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).
|
|
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 passthrough plug-in, your passthrough 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.
|
|
4825972
|
After adding another virtual server and http listeners, SNMP data doesn't show the listeners.
After adding another virtual server and http listeners, applying changes, and restarting the servers, newly added http listeners are not visible using the SNMP monitoring tool.
Solution
Restart the SNMP monitoring subagent after adding a new listener.
|
|
4865739
|
Negative test for instance port in server.xml corrupts domains.bin
If the port number and/or IP Address includes a letter character, no new instances can be created and the current instances become unmanageable.
Solution
- Edit the server.xml file and the backup server.xml and correct the port number and/or IP Address.
- Execute the asadmin reconfig command using the keepmanualchanges=true option.
- Using the Administration Interface, stop the instance by selecting the instance name in the Administration tree.
- Restart the administration server and application server instance.
|
|
4898964
|
CLI command delete-ssl does not work for admin-server.
Solution
- Go to the appropriate admin-server/config directory
- Backup server.xml file
- Open server.xml file, remove line starting with <ssl in the http-listener section and save file
- Execute asadmin reconfig with --keepmanualchanges=true option
|
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.
- On Internet Explorer, make sure that Tools->Settings...->Check for newer versions of stored pages: is not set to 'Never'.
- On Netscape, make sure that Edit->Preferences...->Advanced->Cache->Compare the page in the cache to the page on the network: is not set to 'Never'.
This section describes the known Sun ONE Application Server 7, Enterprise Edition administration graphical user interface issues, and the associated solutions.
|
ID
|
Summary
|
|
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
- Log in to the system where the Sun ONE Application Server software is installed as an Administrative User.
- 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.
- 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.
- 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 futureAlways 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 trying to use the Sun ONE Application Server Administration interface with the default browser, this 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 (or later) to run the Sun ONE Application Server Administration interface. If you choose not to upgrade, you may notice degraded performance and/or unexpected behavior.
Solution
Use /usr/dt/bin/netscape6 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.
|
Sample Applications
This section describes known sample application issues and 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.
- Logging sample generates multiple log files, for the fourth logging option.
- Logging sample has a redundant log.properties file.
- Instructions for the security grant in sample documentation are not fully correct.
Solution
- 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);
- Edit the build.xml file as follows:
<fileset dir="${src.docroot}" excludes="cvs,annontation"/>
<fileset dir="${src.docroot}" excludes="cvs,annontation,log.properties"/>
- In "Running the Sample Application" section, remove domains/domain1/ from instructions to adding security grant entries to the server.policy file.
|
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.
|
Localization
This section describes known localization issues and associated solutions.
|
ID
|
Summary
|
|
4757859
|
Console 0utput is corrupted if the system's default encoding is not UTF-8.
If the system's default encoding is not UTF-8, the Sun ONE Application Server's output might cause multi-byte characters to display incorrectly.
Solution
Open the server.log file in your browser.
|
|
4763655
|
The value in the "Only show entries with" field in the View Event log becomes corrupted when the application or system is not using UTF-8 encoding
If the user enters multi-byte characters in the "Only show entries with" field and searches the event log, the value in the "Only show entries with" field becomes corrupted when the search result is displayed. The problem is caused by the conversion of the message format from UTF-16 to UTF-8.
Solution
None.
|
How to Report Problems
Please use your support process for any:
- Product or documentation issues
- Submission of product defects
If you have general feedback on the product or documentation, email us at appserver-feedback@sun.com.
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, Enterprise Edition.
|
Revision Date
|
Description of Change
|
|
September 2003
|
Final Release
|