Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1 Release Notes
Sun Java System
Application Server Platform Edition 8.1 2005Q1 Update 1
Part Number 819-2382
The Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1 product is a J2EE 1.4 platform-compatible server for the development and deployment of J2EE applications and Java Web Services. Production use of this server is free of charge. Customers interested in redistribution should contact Sun OEM sales for a redistribution license:
These Release Notes contain important information available at the time of release of Sun Java System Application Server 8.1 2005Q1 Update 1. New features and enhancements, known issues and limitations, and other information are addressed here. Read this document before you begin using Application Server 8.1 2005Q1 Update 1.
The most up-to-date version of these release notes can be found at the Sun Java System documentation web site: http://docs.sun.com/db/prod/s1appsrv#hic/. Check the web site prior to installing and setting up your software and then periodically thereafter to view the most up-to-date release notes and product documentation.
This document contains the following sections:
Third-party URLs are referenced in this document and provide additional, related information.
Sun is not responsible for the availability of third-party Web sites mentioned in this document. Sun does not endorse and is not responsible or liable for any content, advertising, products, or other materials that are available on or through such sites or resources. Sun will not be responsible or liable for any actual or alleged damage or loss caused by or in connection with the use of or reliance on any such content, goods, or services that are available on or through such sites or resources.
About Application Server Platform Edition 8.1 2005Q1 Update 1
Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1 is a J2EE 1.4 platform-compatible server for the development and deployment of J2EE applications and Java technology-based web services.
This section includes:
What’s New in the 8.1 Update 1 Release
For information on what has changed for this update, see Bugs Fixed in this Release.
The Sun Java System Application Server 8.1 2005Q1 Update 1 supports the J2EE 1.4 platform. The following table describes the enhanced APIs available on the J2EE 1.4 platform.
Table 1 Major API changes on the J2EE 1.4 Platform
Application and Application Client
Implementation of standard deployment descriptors by means of XML schemas
Enterprise JavaBeans (EJB) 2.1
Timer service and EJB Web-service endpoint
Java Servlet 2.4
Web-service endpoint filter
JavaServer Pages (JSP) 2.0 architecture
Expression language and tag library
J2EE Connector Architecture 1.5
Inbound resource adaptor and Java Message Service (JMS) pluggability
Java Web Services Developer Pack 1.5
Integrated toolkit for building, testing and deploying XML applications, Web services, and Web applications
Java API for XML-based Remote Procedure Calls (JAX-RPC) 1.1
Mapping for WSDL and Java technology and support for development of Web-service clients and endpoints
WS-I Basic Profile 1.0
The enabling element for interoperability using WSDL and SOAP
SOAP with attachment API for Java (SAAJ) 1.2
An API for SOAP-based messaging; fosters the creation of SOAP messages with attachments
Java APIs for XML Registries (JAXR) 1.0
A uniform and standard API for accessing XML registries, such as those for Universal Description Discovery and Integration (UDDI and ebXML)
J2EE Deployment 1.1
Standard APIs that enable deployments of J2EE components and applications
J2EE Management 1.0
Definitions for the information model for managing the J2EE platform
Java Management Extensions (JMX) 1.2
Standard management API
Java Authorization Contract for Containers (JACC) 1.0
Definitions of security contracts between a J2EE Application Server and the authorization policy provider
Java API for XML Processing (JAXP) 1.2
An API with which applications can parse and transform XML documents; also adds support for processing of XML schemas
A messaging standard that enables J2EE application components to create, send, receive, and read messages; also adds support for uniform APIs for queues and topics
A set of abstract classes that model a mail system; also includes minor updates to the APIs
Hardware and Software Requirements
This section lists the requirements that must be met before installing the Sun Java System Application Server Platform Edition 8.1 product.
The following table lists the operating systems that are supported for Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1 product.
Table 2 Supported Operating Systems
Minimum Disk Space
Recommended Disk Space
Sun Solaris 8, 9, 10 (SPARC)
Solaris 9, 10 (x86)
250 MB free
500 MB free
Sun Java Desktop System
250 MB free
500 MB free
Redhat Enterprise Linux 2.1 Update 2, and 3.0 Update 1
250 MB free
500 MB free
Microsoft Windows 2000� Advanced Server Service Pack 4+
250 MB free
500 MB free
Microsoft Windows XP� Professional Service Pack 1+
250 MB free
500 MB free
On UNIX�, you can check your operating system version using the uname command. Disk space can be checked using the df command.
Solaris Patch Requirements
It is recommended that Solaris 8, 9, 10 (x86, SPARC) users have the “Sun recommended patch cluster” installed. This patch cluster is available under “Recommended and Security Patches” here:
RedHat Enterprise Linux 3.0 Additional Package Requirements
To run native components of this product, including installer, the following package, which is not part of the standard RedHat Enterprise Linux 3.0 distribution, should be installed: compat-libstdc++-7.3-2.96.118.i386.rpm
The package can be downloaded from:
Important Patch Information
For the current list of required patches for Sun Java System Application Server Platform Edition 8.1 Update 1 go to http://sunsolve.sun.com and select either “Patches” or “Patch Portal.” Follow the Sun Java System Application Server Platform Edition 8.1 Update 1 links. As operating system patch requirements change and patches to Java Enterprise System components become available, updates will be made available on SunSolve, initially in the form of recommended patch clusters.
JDBC Drivers and Databases
Sun Java System Application Server Platform Edition 8.1 Update 1 is designed to support connectivity to any DBMS with a corresponding JDBC driver. For a list of components that Sun has tested and found to be acceptable for constructing J2EE compatible database configurations, refer to the following table:
Table 3 J2EE-Compatible JDBC Drivers
JDBC Driver Type
Supported Database Server
Oracle (R) 8.1.7, 9i, 18.104.22.168
Sybase ASE 12.5.2
Microsoft SQL Server 2000 4.0 Service Pack 1
IBM DB2 8.1 Service Pack 3+
PointBase Network Server 4.8
Oracle (R) 8.1.7, 9i, 22.214.171.124
Sybase ASE 12.5.2
Microsoft SQL Server
IBM DB2 8.1 Service Pack 3+
Type 4, Type 2
Oracle (R) 126.96.36.199, 10G
For more information about i-net Software, see:
For more information about DataDirect Technologies, see:
Oracle JDBC drivers must be configured properly to be compliant with J2EE 1.4. Use the following configuration for Type 2 and Type 4 drivers:
- Use the JDBC driver from 188.8.131.52 or later.
- The Oracle database needs to have compatible=184.108.40.206.0 or higher in its parameter (init.ora) file.
- Use the ojdbc14.jar file.
- Configure the Application Server to define the following JVM property:
In addition, for Type-2 drivers, both the ORACLE_HOME and LD_LIBRARY_PATH variables (which must include $ORACLE_HOME/lib) need to be defined in the environment in which the Application Server is started. For example, add them to the asenv.conf file and ensure they are exported.
Many sample applications use the PointBase database server included with the Application Server. When using Application Server Enterprise Edition, you must configure the PointBase database server before using it. Before using PointBase with the Application Server, however, note the supported configuration combination.
Table 4 Supported J2SE/PointBase Combinations
There are two ways to configure PointBase:
To use the first method:
To use the second method, the procedure depends on the operating system.
Solaris and Linux:
This section lists the browsers that are supported with the Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1.
Table 5 Browsers Supported
1.4, 1.5, 1.6, 1.7.x
4.79, 6.2, 7.0
5.5 Service Pack 2, 6.0
Upgrading the Sun Java System Application Server
Refer to the Upgrade and Migration Guide for complete instructions for upgrading from a previous version of the Application Server to the Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1.
- The following additional requirements should be met before installing the Sun Java System Application Server software.
- Free space: your temporary directory must have a minimum of 35MB free for Sun Java System Application Server installation, and 250 MB of free space for the SDK installation.
- Using the uninstall program: If you need to remove the Application Server from your system, it is important to use the uninstall program that is included with the software. If you attempt to use another method, problems will arise when you try to reinstall the same version, or when you install a new version.
- Free ports: You must have seven unused ports available.
- The installation program automatically detects ports in use and suggests currently unused ports for the default settings. By default, the initial default ports are 8080 for HTTP, 8181 for HTTPS, and 4848 for the Administration Server.
- The installation program will detect used ports and assign two others for you: Sun JavaTM System Message Queue (by default, 7676), and IIOP (by default, 3700 for IIOP and 3820 and 3890 for IIOP/SSL). If these default port numbers are in use, the installation program will assign a random port number from the dynamic port range (note that this may not be the next available port number).
- Starting previously-installed servers (UNIX) — unless you are replacing the previously installed server, you should start it before you begin the Sun Java System Application Server 8.1 installation process. This allows the installation program to detect ports that are in use and avoid assigning them for other uses.
- Replacing previously-installed servers (UNIX) — if you have an older version on the Sun Java System Application Server installed that you wish to replace with the current Application Server, you should stop it before installing the new server. Use the installation program upgrade wizard to upgrade the server.
- Shutting down firewall (Microsoft Windows) — You must stop any firewall software before installing the Sun Java System Application Server software, because some of this software disables all ports by default. The installation program must be able to accurately determine which ports are available.
For further compatibility information, see the Upgrade and Migration Guide available at:
Switching to J2SE 5.0
Sun Java System Application Server 8.1 2005Q1 Update 1 supports J2SE 5.0 as the underlying JVM, however the bundled PointBase database does not. If you want to use J2SE 5.0 instead of the bundled J2SE 1.4.2 to run the Application Server, perform the following steps (Windows and Unix):
- Download the J2SE 5.0 SDK (not the JRE) and install it on your system, if you have not already done so.
The J2SE 5.0 SDK can be downloaded from http://java.sun.com/j2se/1.5.0/.
- Stop the Application Server.
From the Command line:
If you are upgrading from a JDK version earlier than the bundled version (JDK 1.4.2_06) then you cannot upgrade to J2SE 5.0 using just the steps above. Specifically, in addition to the above steps, you must delete any existing domains and recreate them.
In addition to these release notes, the Application Server product includes an entire set of documentation that can be found at this location:
The following table summarizes the books included in the Application Server core application documentation set.
Table 6 Books in This Documentation Set
Quick Start Guide
How to get started with the Sun Java System Application Server product.
Installing the Sun Java System Application Server software and its components.
J2EE 1.4 Tutorial
Using J2EE 1.4 platform technologies and APIs to develop J2EE applications and deploying the applications on the Sun Java System Application Server.
Configuring, managing, and deploying the Sun Java System Application Server subsystems and components from the Administration Console.
Creating and implementing Java 2 Platform, Enterprise Edition (J2EE platform) applications intended to run on the Sun Java System Application Server that follow the open Java standards model for J2EE components and APIs. Includes general information about developer tools, security, assembly, deployment, debugging, and creating lifecycle modules.
Editing the Sun Java System Application Server configuration file, domain.xml.
Utility commands available with the Sun Java System Application Server; written in manpage style. Includes the asadmin command line interface.
Upgrade and Migration Guide
Migrating your applications to the new Sun Java System Application Server programming model, specifically from Application Server 6.x and 7. This guide also describes differences between adjacent product releases and configuration options that can result in incompatibility with the product specifications.
Solving Sun Java System Application Server problems.
Error Message Reference
Solving Sun Java System Application Server error messages.
Bugs Fixed in this Release
This section lists the customer-escalated issues resolved for the Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1 product.
Table 7 Bugs Fixed in Sun Java System Application Server Platform Editioin 8.1 2005Q1 Update 1
An EJBQL query may not contain all matching results if the where clause contains an OR operator and a single-valued cmr navigation.
Deployment returns undefined status code.
SSL mutual auth doesn’t work with webservices.
type=bean-method,category=monitor registered before parent ejb.
Deploytool often will not create message-destination element in the following Sun deployment descriptors:
Broken panels in the New Web Service Wizard.
Cannot redeploy or undeploy the web module that is the default web module of any virtual server.
The asadmin create-domain --help command produces incorrect usage and an invalid option is documented (admin.jmxport).
Known Issues and Limitations
This section describes known problems and associated workarounds for the Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1 product. If a summary statement does not specify a particular platform, the problem applies to all platforms. This information is organized into the following sections:
This section describes known Administration issues and associated solutions.
The package-appclient script does not work if domain1 is not present.
By default, there is a hard-coded value in $INSTALL/lib/package-appclient.xml for the AS_ACC_CONFIG variable for domain1 that is pointed to by asenv.conf. If domain1 is deleted and a new domain created, the AS_ACC_CONFIG variable is not updated with the new domain name, which causes the package-appclient script to fail.
Do one of the following:
Cannot restore backed-up domain with another name.
Mirroring of a domain on the same Application Server installation cannot be performed using the backup-domain and restore-domain commands because the domain cannot be restored using a different name than the original, even though the asadmin restore-domain command provides an option to rename the domain. Renaming the backed-up domain appears to succeed, but attempts to start the renamed domain fail because the entries in the domain configuration are not changed, and startserv and stopserv use the original domain name to set paths.
The domain name used for restore-domain must be the same as that used for the original backup-domain command. The backup-domain and restore-domain commands in Application Server 8.1 work only for backing up and restoring the same domain on the same machine.
Starting Application Server with additional JMX Agent is not supported.
J2SE 1.4.x, 5.0, or later can be configured on the Application Server. An integral feature of J2SE 5.0 platform is the ability to start a JMX agent. This is activated when you explicitly set system properties at the server startup.
Example values include:
After configuring JMX properties and starting the server, a new jmx-connector server is started within the Application Server VM. An undesirable side-effect of this is that the administration functions are affected adversely, and the Application Server administration GUI and CLI may produce unexpected results. The problem is that there are some conflicts between the built in jmx-connector server and the new jmx-connector server.
If using jconsole (or any other JMX-compliant client), consider reusing the standard JMX Connector Server that is started with Application Server startup.
When the server starts up, a line similar to the one shown below appears in the server.log. You can connect to the JMXServiceURL specified there and perform the same management/configuration operations after successfully providing the credentials; for example:
[#|2004-11-24T17:49:08.203-0800|INFO|sun-appserver-ee8.1|javax.enterprise.system.tools.admin|_ThreadID=10;|ADM1501: Here is the JMXServiceURL for the JMXConnectorServer: [service:jmx:rmi:///jndi/rmi://hostname:8686/management/rmi-jmx-connector]. This is where the remote administrative clients should connect using the JSR 160 JMX Connectors.|#]
For more information, refer to the Sun Java System Application Server 8.1 Administration Guide.
FrameworkError exception after deploying a WAR and JAR to Platform Edition server via the AMX API in the Application Server Admin Console.
When an application is deployed on Platform Edition using the AMX API and not referenced, the Application Server Admin Console throws errors while displaying that application. AMX requires that you explicitly handle references for your applications. For example, when an application is deployed, the DeployedItemRefConfig needs to be explicitly created. To simplify the deployment process, references are assumed to be present in Platform Edition, which in turn causes the issue with Application Server Admin Console.
Always create the reference to a resource or application after creating it.
Cannot redeploy or undeploy the web module that is the default web module of any virtual server.
If the web module is specified as the default web module of a virtual server, and you try to redeploy or undeploy it, you will get the following error:
Trying to undeploy application from domain failed; Virtual Servers [server] have WEB-MODULE-NAME as default web module. Please remove the default web module references first. ; requested operation cannot be completed Virtual Servers [server] have WEB-MODULE-NAME as default web module. Please remove the default web module references first.
At this point, domain.xml is in an error state, and the Admin Console may not be able to display the table that shows the deployed web applications. The condition will persist even if the domain is stopped and started again.
1. Using the Admin Console, go to the virtual server page, and change the “default web module” to empty or specify another web module.
2. Using the CLI, undeploy the web module by specifying “domain” as the target.
# asadmin undeploy --target domain <WEB-MODULE-NAME>
The Admin Console should be fine now, and the web module can be deployed again, if desired.
This section describes known application client issues and associated solutions.
Library JAR packaged in Application Client Archive overwrites MANIFEST file.
If you have a top level JAR file inside your client JAR (in this case, reporter.jar), when you deploy the client JAR, the MANIFEST file for that JAR overwrites the MANIFEST file for the client JAR.
None at this time.
This section describes known documentation issues and associated solutions.
Some documented monitoring features do not apply to Platform Edition.
The documentation for AMX (Application Server Management eXtenstions) does not specify some monitoring features that are not available in Application Server Platform Edition 8.1. Specifically, the components that cannot be monitored in the Platform Edition are as follows:
Production Web Container (PWC):
None needed. These statistics are not relevant for Platform Edition.
The help command for asadmin create-domain describes admin.jmxport, which is not a valid option for this command.
The admin.jmxport option cannot be used with the asadmin create-domain command.
AppservPasswordLoginModule referenced as AbstractPasswordLoginModule in documentation.
The “Realms” section in Chapter 2: Securing Applications in the Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1 Developer’s Guide incorrectly refers to extending com.sun.appserv.AbstractLoginModule, however this class is now named com.sun.appserv.AppservLoginModule.
Refer to com.sun.appserv.AppservLoginModule instead of com.sun.appserv.AbstractLoginModule.
The Javadoc for several AMX interfaces and methods is either missing or incorrect.
Getter methods for NumConnAcquired and NumConnReleased statistics are missing from ConnectorConnectionPoolStats and AltJDBCConnectionPoolStats. These getter methods will be added in a future release as getNumConnAcquired() and getNumConnReleased().
Calling the following methods in EJBCacheStats will throw an exception: getPassivationSuccesses(), getExpiredSessionsRemoved(), getPassivationErrors(), getPassivations(). This will be fixed in a future release.
The AMX MBeans may require several seconds after server startup before they are all registered and available for use. A future release will make it possible to determine when the AMX MBeans are fully loaded.
The constant XTypes.CONNNECTOR_CONNECTION_POOL_MONITOR is misspelled (“NNN”). This will be corrected in a future release.
This section describes known installation/uninstallation issues and associated solutions.
On Solaris x86, SPARC, and Linux platforms, intermittent failure to render “Next” navigation button on installer and uninstaller Welcome screen.
IThe installer or uninstaller first screen correctly displays the full text and “Help” and “Cancel” buttons, but the “Next” button necessary to navigate to the next screen is not visible. Although button is not visible, its area is active and if you click on it, navigation to the next screen proceeds normally. The cause of the problem is intermittent J2SE GUI repaint issue.
On Linux, installation shutdown hangs after clicking the “Finish” button.
This problem is most common on Java Desktop System 2 but has also been observed on RedHat distributions.
After clicking the “Finish” button on the last installer screen, the installer fails to launch a browser window containing the product About page or product registration page, and hangs indefinitely, not returning the command prompt.
Exit the installer by pressing Ctrl+C in the terminal window in which the installer was started. After doing this, browser window containing product About page or registration page will sometimes be launched, but if it does not show up, start the browser and enter following URL in order to review About page:
If you also selected the installation option to register the product, follow the link to registration page available on product About page.
On Linux, intermittent J2SE detection and bootstrap issues in install wrapper.
The setup executable that launches the Linux installer sometimes hangs. Instead of resolving the J2SE location and starting the install wizard, the wrapper hangs and returns the following messages:
Checking available disk space....
Checking Java(TM) 2 Runtime Environment....
Extracting Java(TM) 2 Runtime Environment....
Deleting temporary files.....
This issue is seen only in some versions of Linux, and seems to depend on environment settings, especially the presence of the JAVA_HOME variable.
To work around this issue:
1. Unset the JAVA_HOME variable by running unset or unsetenv depending on your shell.
2. Run setup with the -javahome option to specify the JAVA_HOME used by the installer.
This section describes known lifecycle management issues and associated solutions.
After setting the ejb-timer-service property minimum-delivery-interval to 9000, an attempt to set the ejb-timer-service property redelivery-interval-in-mills to 7000 causes the set command to fail with the following error:
[echo] Doing admin task set
[exec] [Attribute(id=redelivery-interval-internal-in-millis) : Redelivery-Interval (7,000) should be greater than or equal to Minimum-delivery-interval-in-millis (9,000)]
[exec] CLI137 Command set failed.
minimum-delivery-interval is the minimal interval duration between deliveries of the same periodic timer.
redelivery-interval-in-mills is the time the timer service will wait after a failed ejbTimeout before attempting redelivery.
The problem is that the logic that relates the redelivery interval property to the minimum delivery property is incorrect and prevents you from using the Admin Console or the Command-line interface to set any value where the minimum delivery interval is greater than redelivery interval.
The minimum-delivery-interval-in-millis must always be set equal to or higher than ejb-timer-service property redelivery-interval-in-millis. The problem is that there is an erroneous validation check in the Application Server to verify that the value for redelivery-interval-in-millis is greater than the value for minimum-delivery-interval-in-millis.
Use the default values for these properties, as follows:
Values other than these defaults will generate an error.
This section describes known logging issues and solutions.
Setting debug statement for access.failure causes hanging in Application Server startup.
Setting the java.security.debug option for the JVM will cause the server instance startup to freeze with a deadlock; for example, setting the following in domain.xml causes the problem:
None at this time. Please avoid setting this flag.
This section describes known security issues and solutions.
Specifying target message by java-method does not work in client-side message-security-binding elements.
IThis problem occurs, for example, when a target message in a client-side message-security-binding element is specified by java-method within a port-info element within a service-ref element:
<!ELEMENT service-ref ( service-ref-name, port-info*, call-property*, wsdl-override?, service-impl-class?, service-qname? )>
<!ELEMENT port-info ( service-endpoint-interface?, wsdl-port?, stub-property*, call-property*, message-security-binding? )>
<!ELEMENT message-security-binding ( message-security* )>
<!ELEMENT message-security ( message+, request-protection?, response-protection? )>
<!ELEMENT message ( java-method? | operation-name? )>
The message-security-binding element is used here to define message protection policies for specific methods of a web service endpoint.
Use an operation-name element within the message element to identify by WSDL operation name the message to which the protection policies defined in the containing message-security element apply.
This section describes known Upgrade utility issues and associated solutions.
Domains created in custom-path other than install_dir/domains directory are not upgraded directly while upgrading from Application Server Platform Edition 8 to Application Server Platform Edition 8.1 or Application Server Platform Edition 8.1 Update 1.
When running the Upgrade Utility and identifying the install_dir as the source installation directory, the upgrade process upgrades only those domains that are created under install_dir/domains directory. Domains created in other locations are not upgraded.
Before starting the upgrade process, copy all the domain directories from their different locations to the install_dir/domains directory.
Port conflict when starting domain1 or samples domain after upgrading from 8.0 Platform Edition to 8.1 Platform Edition, or 8.1 Platform Edition Update 1.
After upgrading an 8.0 Application Server with multiple domains, the domains may not be able to start simultaneously due to having the same port number configured for the JMX connector.
1. Check the install_dir/domains/domain1/config/domain.xml file, for the following entry:
jmx-connector accept-all="false" address="0.0.0.0" auth-realm-name="admin-realm" enabled="true" name="system" port="8686" protocol="rmi_jrmp" security-enabled="false"/" -- and in file install_dir/domains/domain1/samples/config/domain.xml, notice it used the same port "8686", so it failed to start domain due to port conflict.
2. Change the port value 8686 to 8687, and then restart domain1.
On Java Desktop System 2 and Linux systems, the installer running “Upgrade in place” fails to start upgrade tool after clicking on the “Start Upgrade Wizard” button.
After clicking the “Start Upgrade Tool” button on the final installer screen, the installer fails to launch the upgrade tool to complete the upgrade process, and hangs indefinitely, not returning the command prompt.
This issue is not encountered if command line installation mode is used to run upgrade in place.
1. If you ran upgrade in place in GUI mode and encountered this problem, exit the installer by pressing Ctrl+C in the terminal window in which the installer was started.
2. Start upgrade tool from the terminal window, using following command:
install_dir/bin/asupgrade --source install_dir/domains --target install_dir --adminuser adminuser --adminpassword adminpassword --masterpassword changeit
3. When the upgrade tool completes the upgrade process you can also start the browser and enter following URL in order to review About page:
This section describes known web container issues and associated solutions.
On Windows, deploying an application using --precompilejsp=true can lock JAR files in the application, causing later undeployment or redeployment to fail.
If you request precompilation of JSPs when you deploy an application, later attempts to undeploy that application or to redeploy it (or any application with the same module ID) will not work as expected. The problem is that JSP precompilation opens JAR files in your application but does not close them, and Windows prevents the undeployment from deleting those files or the redeployment from overwriting them.
Note that undeployment succeeds to a point, in that the application is logically removed from the Application Server. Also note that no error message is returned by the asadmin utility, but the application's directory and the locked jar files remain on the server. The server's log file will contain messages describing the failure to delete the files and the application's directory.
Attempts to redeploy the application after undeploying fail because the server tries to remove the existing files and directory, and these attempts also fail. This can happen if you try to deploy any application that uses the same module ID as the originally deployed application, because the server uses the module ID in choosing a directory name to hold the application's files.
Attempts to redeploy the application without undeploying it first will fail for the same reasons.
If you attempt to redeploy the application or deploy it after undeploying it, the asadmin utility returns an error similar to the one below.
An exception occurred while running the command. The exception message is: CLI171 Command deploy failed : Deploying application in domain failed; Cannot deploy. Module directory is locked and can't be deleted
If you specify --precompilejsps=false (the default setting) when you deploy an application, then this problem will not occur. Be aware that the first use of the application will trigger the JSP compilation, so the response time to the first request will be longer than for later requests.
Note also that if you do precompile, you should stop and restart the server before undeploying or redeploying the application. The shutdown frees the locked JAR files so the undeployment or redeployment after the restart can succeed.
Unable to deploy WAR with Servlet 2.4-based web.xml that contains an empty load-on-startup element.
The optional <load-on-startup> servlet element in a web.xml indicates that the associated servlet is to be loaded and initialized as part of the startup of the web application that declares it.
The optional content of this element is an integer indicating the order in which the servlet is to be loaded and initialized with respect to the web application's other servlets. An empty load-on-startup indicates that the order is irrelevant, as long as the servlet is loaded and initialized during the startup of its containing web application.
The Servlet 2.4 schema for web.xml no longer supports an empty <load-on-startup>, meaning that an integer must be specified when using a Servlet 2.4 based web.xml. If specifying an empty <load-on-startup>, as in <load-on-startup/>, the web.xml will fail validation against the Servlet 2.4 schema for web.xml, causing deployment of the web application to fail.
Backwards compatibility issue. Specifying an empty <load-on-startup> still works with Servlet 2.3 based web.xml.
Specify <load-on-startup>0</load-on-startup> when using a Servlet 2.4 based web.xml to indicate that servlet load order does not matter.
Using the AMX API, removing a J2EE application reference from a server removes the application, but the application is still accessible.
When using the AMX API, removing a reference to an application without first explicitly stopping the application results in that application still being accessible. This behavior is by design, and is a documentation omission.
To remove an application so it is no longer accessible:
1. Stop the application
2. Remove the reference to the application.
3. Undeploy the application.
Unable to compile JSP page on resource constrained servers.
The JSP page is accessed but fails to compile, and the server log contains the error message “Unable to execute command” with the following stack trace:
at org.apache.tools.ant.taskdefs.Execute$Java13CommandLauncher.exec(Execute.ja va:655) at org.apache.tools.ant.taskdefs.Execute.launch(Execute.java:416) at org.apache.tools.ant.taskdefs.Execute.execute(Execute.java:427) at org.apache.tools.ant.taskdefs.compilers.DefaultCompilerAdapter.executeExter nalCompile(DefaultCompilerAdapter.java:448) at org.apache.tools.ant.taskdefs.compilers.JavacExternal.execute(JavacExternal .java:81) at org.apache.tools.ant.taskdefs.Javac.compile(Javac.java:842) at org.apache.tools.ant.taskdefs.Javac.execute(Javac.java:682) at org.apache.jasper.compiler.Compiler.generateClass(Compiler.java:396)
Set the JSP compilation switch “fork” to “false.”
This can be done either of two ways:
Either setting will prevent ant from spawning a new process for javac compilation.
Performance degradation on multi-CPU machines.
The default configuration of the Application Server Platform Edition does not perform optimally on multi-CPU machines. A trade-off is made so that startup is faster, but this can negatively impact the performance of web applications.
Configure the Application Server to use the following JVM option:
How to Report Problems and Provide Feedback
If you have problems with the Sun Java System Application Server, contact Sun Customer Support using one of the following mechanisms:
This site has links to the Knowledge Base, Online Support Center, and Product Tracker, as well as to maintenance programs and support contact numbers.
So that we can best assist you in resolving problems, please have the following information available when you contact support:
- Description of the problem, including the situation where the problem occurs and its impact on your operation
- Machine type, operating system version, and product version, including any patches and other software that might be affecting the problem
- Detailed steps on the methods you have used to reproduce the problem
- Any error logs or core dumps
Sun Welcomes Your Comments
Sun is interested in improving its documentation and welcomes your comments and suggestions.
To share your comments, go to http://docs.sun.com and click Send Comments. In the online form, provide the document title and part number. 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 title of this book is Sun Java System Application Server Platform Edition 8.1 2005Q1 Update 1 Release Notes, and the part number is 819-2382.
Additional Sun Resources
Useful information can be found at the following locations:
Copyright � 2004-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.
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 � 2004-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 plusieurs des brevets am�ricains list�s � l'adresse http://www.sun.com/patents et un ou des brevets suppl�mentaires ou des 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.