J2EE Doc Bundle Home


Java TM 2 SDK, Enterprise Edition 1.3.1 Release Notes




Beginning with the J2EE TM SDK


1. Read the Installation Instructions to find out how to set the J2EE_HOME and JAVA_HOME environment variables. The Installation Instructions are on our web site and may be reached by a link on the J2EE SDK download page.

2. Install the software that the Java TM 2 SDK, Enterprise Edition relies on. See the Required Software section of this document.

3. Go to the J2EE Tutorial to learn how to use the J2EE SDK.

New Features in J2EE SDK 1.3


  • Java TM Messaging Service (JMS TM )

  • J2EE Connector Architecture

  • Java API for XML Parsing (JAXP)

  • Java Servlet new features:

    • filters, a lightweight framework for transforming requests and responses

    • mechanisms for monitoring application lifecycle events

    • better support for internationalization
  • JavaServer Pages TM new features:

    • improved runtime support for tag libraries

    • translation-time JSP TM page validation
  • Enterprise JavaBeans TM (EJB TM ) new features:

What's New in J2EE SDK 1.3.1


  • Additional testing of J2EE components by the verifier

  • Improved handling of non-XA transactions resulting in a vast performance improvement; see New Treatment of Non-XA Data Transactions

  • Several deploytool Enhancements; see deploytool Enhancements

  • Performance improvements for start up, deployment, naming, and running enterprise beans

Patch Releases



  • The SDK tools generated incorrect values for the multiplicity element for relationships in the XML deployment descriptor for Container Managed Persistence (CMP) 2.0.

  • The SDK tools incorrectly generated a query element in the XML deployment descriptor for CMP 1.1 entity beans (still supported for compatibility), which do not have the query feature of CMP 2.0 entity beans.

  • The SDK tools incorrectly generated a container-transaction element in the XML deployment descriptor for the getHandle method of entity beans.



Supported Platforms


  • Solaris TM 7 Operating Environment

  • Solaris TM 8 Operating Environment

  • Windows NT, v. 4.0

  • Windows 2000 Professional

  • Linux Red Hat, v. 6.2

Supported Databases and JDBC TM Drivers


  • Oracle8 Server, v. 8.1.6

  • Microsoft SQL Server, v. 7.0

  • Cloudscape, v. 4.0.6
JDBC Data Access APIJDBC Technology Drivers

After you've installed your driver, follow the instructions in the JDBC Drivers section of the Configuration Guide to configure the driver for use with the J2EE SDK. If you are using the Cloudscape DBMS included in this release, you do not have to configure its driver.

See the section New Treatment of Non-XA Data Transactions, for additional driver related information.

What This Release Includes


J2EE Server


  • HTTP and HTTPS

  • COS naming

  • Enterprise JavaBeans TM (EJB TM ) 2.0

  • Java TM Servlets 2.3

  • JavaServer Pages TM (JSP TM ) 1.2

  • Java Messaging Service (JMS TM ) 1.0.2

  • J2EE Connector 1.0

  • JDBC TM Standard Extension 2.0

  • Java Transaction API (JTA) 1.0

  • JavaMail TM 1.2

  • Java API for XML Parsing (JAXP) 1.1


  • Administration Tool

    The j2eeadmin utility adds JDBC drivers, JMS destinations, and connection factories for various resources.
  • Application Deployment Tool

    The deploytool utility packages J2EE components and deploys J2EE applications. In the 1.3.1 release it receives an enhanced update function and intelligent field completion.
  • Key Tool

    The keytool utility creates public and private keys and generates X509 self-signed certificates. The J2EE SDK version is a wrapper for the J2SE SDK version, but adds an option for the format conversion of PKCS12 certificates.
  • Realm Tool

    The realmtool utility manages users for the J2EE server.
  • Verifier

    The verifier utility validates J2EE component files.
  • Packager

    The packager utility packages J2EE components.
  • Cleanup Script

    The cleanup utility deletes all deployed J2EE applications.
J2EE SDK Tools

Cloudscape DBMS

TM Supported Databases and JDBC TM Drivers

Required Software

Java 2 SDK, Standard Edition TM

This release of the J2EE SDK requires the versions of the J2SE SDK listed in the following table:


Note: Versions of the J2SE SDK not listed in the preceding table have not been tested and are not supported. For example, the J2SE SDK v. 1.2 will not work with this release of the J2EE SDK.

Current Limitations


Multi-byte Character String Support

Database Calls During Result Set Iteration



String query = "SELECT DEPTNO FROM DEPT . . .";
String update = "UPDATE EMPLOYEE . . .";
ResultSet rs = stmt.executeQuery(query);
while (rs.next()) {
   String s = rs.getString("DEPTNO");
   // The following statement will FAIL:
   . . .

1. Use a stored procedure that contains the same SQL calls.

2. Substitute an iteration with a single SQL statement that contains a subquery. Here's an example:


String update = "UPDATE EMPLOYEE

Scalability and Memory Requirements

In the J2SE 1.3.1 softeare, an OutOfMemoryError can result when a very large number of classes are loaded by the Java virtual machine, even when there are free spaces on the Java heap. Workaround: Edit bin/setenv.sh or bin/setenv.bat to add the following option to the JAVACMD variable:





Common Development Environment

RMI-IIOP and JAXP Standard Extensions


Known Bugs


Differences Between Tomcat and the J2EE SDK

Note: The Tomcat implementation in the J2EE SDK might be slightly different from the version of Tomcat 4.0.2 distributed separately because of different release schedules. For more information about Tomcat, please see http://jakarta.apache.org/.

Linux Notes

Port Conflicts


j2ee -verbose
. . .
J2EE server Listen Port: = 1050
Could not initialize j2ee server. 
Possible cause could be another instance of the server already 
. . .



Interoperability Between EJB TM Containers

The j2ee-ri-svc.jar File


Interoperability Problems When Using Different Versions of J2SE


Container-Managed Persistence 2.0

Note that the persistence manager in the J2EE SDK only supports forward mapping of a CMP 2.0 abstract schema to a relational database. Using the J2EE SDK's tools, it is not possible to reverse map from existing database tables to a CMP 2.0 abstract schema.

deploytool Enhancements


Files that have not been found are listed in the lower half of the dialog, under Entries Not Found on Disk. Files can be moved into the found category by editing the search path so that they will be located by the program.

The screen for editing search paths is accessed by clicking the Edit Path button on the dialog.

Other Improvements


New Treatment of Non-XA Data Transactions

Note: Database drivers that support XA data-sources allow you to connect to multiple databases and to distribute transactions across machines or processes. JDBC 1.0 drivers do not support XA data sources. Some JDBC 2.0 drivers support XA data-sources and some do not. See the Configuration Guide for information about the installation of XA and non-XA drivers.

A local transaction is restricted to the use of exactly one non-XA data-source and to transactions that are completed within one Java virtual machine. Thus, a global transaction is not started and there is no need to go to the JTS layer. The resulting optimization results in a vast improvement in performance of begin/commit operations. With a local transaction there is no need for two-phase commits. The use of multiple non-XA data-sources or multiple Java virtual machines would require two-phase commits.

Breaking out local transactions will allow many uses of non-XA data-sources to be optimized. When two non-XA data sources are needed, they can be used by declaring them to be XA data sources in the J2EE SDK's resource.properties file.

If more than one resource is used in a transaction, non-XA data sources must not be used. (Examples of resources are relational databases accessed through the JDBC API, JMS queues and topics, and EISs accessed through the J2EE Connector architecture.) Instead, all resources must support XA transactions. It is illegal to use more than one non-XA data source in the same transaction.

Previously, the J2EE SDK committed multiple non-XA data-sources without doing a two-phase commit. This non-compliant procedure could result in a loss or corruption of data.




Copyright © 2002 Sun Microsystems, Inc. All rights reserved.

TABLE 1 Required Versions of the J2SE SDK
Operating System


J2SE SDK Version


Solaris TM 7 Operating Environment
Solaris TM 8 Operating Environment
1.3.1_02 or 1.4
Windows NT 4.0,
Windows 2000 Professional
1.3.1_02 or 1.4
Linux Red Hat, v. 6.2 1.3.1_02 or 1.4
Bug ID




4461245 The SQL generator in the deploytool generates database table names for storing the persistent state of CMP entity beans. The table name is based on the bean class name. If there are two or more beans with the same bean class name (in the same EAR or in multiple deployed EARs), the table names will conflict. Workarounds: Use different datasources for storing beans in different EARs. Or, change the table names in the generated SQL statements in the Deployment Settings dialog for entity beans.
4533469 RMIC generates an incorrect stub when compiling an EJB remote interface of the following form:

public interface Foo extends EJBObject {

  public boolean isFoo() throws RemoteException;



This bug only occurs when the method name is of the form is<Name>, where <Name> is the name of the EJB remote interface. In addition, the method takes no arguments and returns a boolean. When this method is called, the system may throw a CORBA BAD_OPERATION exception. Workaround: Rename the interface name or the method name.
4613829 On Windows, the cleanup utility may not remove all of the temporary files that are created by the J2EE SDK. Workaround: Search for the directory named j2ee_ri_<user> (where <user> is the user name) and then delete the directory's contents.
4625512 With the command-line version of verifier, if the module being verified contains a deployment descriptor that cannot be validated against the DTD, then verifier produces the report only in XML format, but not in text format. Workaround: Use the GUI version of verifier.
Left Curve
Java SDKs and Tools
Right Curve
Left Curve
Java Resources
Right Curve
Duke's Choice Awards Nomination RHS

VTS OnDemand RHS Banner