# Release Notes

### JBoss Enterprise Application Platform 4.3.0.CP02

###

### Red Hat Documentation Group

Copyright © 2008 Red Hat, Inc

Copyright © 2008 Red Hat, Inc. This material may only be distributed subject to the terms and conditions set forth in the Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License (which is presently available at http://creativecommons.org/licenses/by-nc-sa/3.0/).

Red Hat and the Red Hat "Shadow Man" logo are registered trademarks of Red Hat, Inc. in the United States and other countries.

All other trademarks referenced herein are the property of their respective owners.

The GPG fingerprint of the security@redhat.com key is:

CA 20 86 86 2B D6 9D FC 65 F6 EC C4 21 91 80 CD DB 42 A6 0E

1801 Varsity Drive
Raleigh, NC 27606-2072
USA
Phone: +1 919 754 3700
Phone: 888 733 4281
Fax: +1 919 754 3701
PO Box 13588
Research Triangle Park, NC 27709
USA

###### Abstract

These release notes contain important information related to JBoss Enterprise Application Platform 4.3.0.CP02 that may not be currently available in the Product Manuals. You should read these Release Notes in their entirety before installing JBoss Enterprise Application Platform 4.3.0.CP02.

## 1. Introduction

These release notes contain important information related to JBoss Enterprise Application Platform 4.3.0.CP02. New features, known problems, resources, and other current issues are addressed here.

### 1.1. Overview

JBoss Enterprise Application Platform is the next evolutionary step in open source enterprise software. It is a powerful tool for developing rich, high performance, Web 2.0 applications on a pure Java Platform.

JBoss Enterprise Application Platform provides complete compatibility with existing J2EE 1.4 enterprise Java applications. At the same time, almost all the key features and components defined in the Java EE 5.0 specification are supported. So your new enterprise Java applications can take immediate advantage of the Java EE 5.0's significantly simpler POJO-based programming model.

Further, by integrating best-of-breed open source frameworks such as JBoss Seam, Hibernate, Tomcat, and JBoss Cache the Platform takes advantage of innovations in the open source community. As well, JBoss Enterprise Application Platform is fully tested and supported by Red Hat, and is certified to work on many leading enterprise hardware and software products.

All of which means you can develop your new application taking advantage of Java EE 5.0 technologies immediately and with the confidence of knowing it will remain forward-compatible with future versions of the JBoss Platform.

## 2. New Features in JBoss Enterprise Application Platform 4.3

### 2.1. JBoss Messaging

In JBoss Enterprise Application Platform 4.3, JBoss MQ 1.3 has been replaced with JBoss Messaging 1.4. JBoss Messaging provides a high performance messaging infrastructure for JBoss Enterprise Application Platform.

### 2.2. JBoss Web Services 2.0.1

JBoss Web Services is upgraded to 2.0.1 in JBoss Enterprise Application Platform 4.3 and will now provide a complete implementation of JAX-WS.

## 3. Installation and Migration Notes

This section contains information related to installing or upgrading to JBoss Enterprise Application Platform version 4.3.0.CP02, including hardware and platform requirements and prerequisites.

### 3.1. Installation Notes

You must have adequate disk space to install JDK and JBoss Enterprise Application Platform while also allowing enough space for your applications. You must have a working installation of JDK 1.5. For the latest information on supported Operating System / JVM combinations, supported Database platforms and current information on the revision level of included components, please refer to http://www.jboss.com/products/platforms/application/testedconfigurations. Refer to the installation guide available online from http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/ for detailed instructions to install and verify JBoss Enterprise Application Platform.

### 3.2. Upgrading from JBoss Enterprise Application Platform 4.3

##### Using CSP/JON

Refer to https://network.jboss.com/confluence/display/DOC/Installing+a+Patch for instructions on installing a Cumulative Patch.

## 4. Important Notes

### 4.1. Running the example Seam Applications

It is recommended to run the example Seam applications that are included with the documentation using the production configuration. Using another configuration may result in memory issues. Note that the default configuration for the server to start with, if no other configuration is specified, is the production configuration.

## Warning

To avoid memory issues, adjust the memory settings before deploying the applications. You can do this by updating `JAVA_OPTS` settings in the file `JBOSS_DIST/jboss-as/server/production/run.conf` with these recommended values:

         -Xms1303m -Xmx1303m -XX:PermSize=256m -XX:MaxPermSize=256m

Refer to the "Seam Reference Guide" included in the documentation set (`JBOSS_DIST/doc/seam/Seam_Reference_Guide.pdf`) for important information regarding the deployment of Seam examples and detailed information on developing applications using Seam.

### 4.2. Default Security Settings

If you are using the rpm, or the zip distribution, please note that by default, authentication is enabled and no user accounts are set up. This is done to prevent unauthorized access to various services of JBoss AS. Please refer to the Installation Guide, or see http://kbase.redhat.com/faq/FAQ_107_9963.shtm for information on how to make the services accessible again.

### 4.3. Embedded Hypersonic Database

Hypersonic SQL provides default "out of the box" database functionality for evaluation and development use only. It is NOT recommended or supported as a production-use database. Technical support is not available for this component, and while we are happy to accept bugs filed against this component, we do not make any commitment to fix them within a specific timeframe.

### 4.4. Source Files

##### SRPMs

- ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/4AS/en/JBEAP/SRPMS

- ftp://ftp.redhat.com/pub/redhat/linux/updates/enterprise/4ES/en/JBEAP/SRPMS

- ftp://ftp.redhat.com/pub/redhat/linux/enterprise/5Server/en/JBEAP/SRPMS

##### Source ZIP

- ftp://ftp.redhat.com/pub/redhat/jbeap/4.3.0/en/source/jboss-eap-src-4.3.0-CP02.zip

## 5. Product Support and License Website Links

##### Support Processes

http://www.redhat.com/support/process/

##### Production Support Scope of Coverage

http://www.redhat.com/support/policy/soc/production

##### Production Support Service Level Agreement

http://www.redhat.com/support/policy/sla/production/

##### Developer Support Scope of Coverage

http://www.redhat.com/support/policy/soc/developer/

##### Developer Support Service Level Agreement

http://www.redhat.com/support/policy/sla/developer/

##### Product Update and Support Policy by Product

http://www.redhat.com/security/updates/jboss_notes/

##### JBoss End User License Agreement

http://www.redhat.com/licenses/jboss_eula.html

## 6. Documentation

Refer to the index.html file in the documentation directory for a list of included documentation.

In the zip distribution, documentation for the Platform and its individual components is distributed in a separate zip file, `jboss-eap-docs-<version>.zip`.

On a Linux system, the documentation is found in two rpms that will need to be installed manually. These rpms are `jboss-seam-docs-<version>.noarch.rpm`, and `rh-eap-docs-<version>.noarch.rpm`. For help with installing rpm packages on Red Hat Enterprise Linux, please refer to the Red Hat Knowledge base article located at http://kbase.redhat.com/faq/FAQ_35_198.shtm

- `Installation Guide` explains how to install and verify the installation of JBoss Enteprise Application Platform using different installation modes.

- `Getting Started` details the directory structure of the platform and a quick tour of the Application Server and different configuration sets and services. Using a simple web application it illustrates the use of JSF-EJB3 components and how to use Seam to integrate the JSF and EJB3 components.

- `Server Configuration Guide` explains all administrative and configuration functions in detail.

Updated versions of the documentation with errata and additional information, example application code, as well as the most recent version of the release notes may be accessed via the web from http://www.redhat.com/docs/en-US/JBoss_Enterprise_Application_Platform/.

## 7. Issues fixed in this release

Following is a list of issues fixed in this release:

##### JBoss Messaging

- JBPAPP-925: JBoss Messaging has been upgraded to version 1.4.0.SP3_CP03. This update includes numerious bug fixes that improves the overall component.

- JBPAPP-920: The JBoss Messaging documentation was outdated. This CP release contains the JBoss Messaging 1.4.0.SP3_CP03 User Guide.

- JBPAPP-900: The SQL default configuration had errors, causing an issue within hsqldb which uses this configuration. The issue with the default configuration has now been corrected.

- JBPAPP-813: The Messaging client included a bug that would make it hang forever, creating a `ClusteredConnectionFactory` failover; steaming from a socket hang. This issue has now been rectified in this latest EAP release, creating a more stable Messaging component.

##### JBoss Remoting

- JBPAPP-735: The JBoss Remoting component of the EAP has been upgraded to version 2.2.2.SP8. This upgrade includes numerious bug fixes.

##### JBoss Web Services

- JBPAPP-930: The upgrade to JBossWS Common 1.0.0.GA_CP01 is included wihtin this CP release.

- JBPAPP-887: JBoss Java API for XML Redistries (JAXR) has been upgraded to version 1.2.0.SP1 which addresses various bugs.

- JBPAPP-791: The JBoss Web Services Component has been upgraded to version 2.0.1.SP2_CP02. This upgrade incorporates various bug fixes and enhancements.

##### JBoss Seam

- JBPAPP-755: The Seam source readme.txt file required updated links to seamframework.org and mention the EAP instead of the JBoss AS. This file has been updated with the above changes for this release.

##### JBoss Hibernate

- JBPAPP-938: An unchanged parent entity would incorrectly have its version value incremented when part of a one to many relationship. This error has been rectified with this latest CP release by correcting an issue in the `CollectionType.java` file and adding the a new method called `testNoExtraUpdatesOnPersistentMergeVersionedWithCollection()` to `MergeTest.java`.

- JBPAPP-936: The `AnnotationBinder.mustBeSkipped` method had an incorrect hardcoded String-Reference to the `org.hibernate.tool.instrument.javassist.FieldHandler` class. This error has meant that the junitinstrument test was not running correctly. This issue has been fixed, with the correct package location of the class being referenced with the class name `org.hibernate.bytecode.javassist.FieldHandler` and the junitinstrument test now runs successfully.

- JBPAPP-915: A merge operation would fail when there was a transient entity that was reachable by multiple paths and at least one of these paths did not cascade when undertaking a merge. This issue is fixed with the EAP 4.3 now supporting JDK 6.

- JBPAPP-908: Hibernate proxy serialization was broken because the `AbstractLazyInitializer` class was not Serializable. This is now corrected within this CP release.

- JBPAPP-899: There was an error within the entity manager where the methods `getSingleResult()` and `fetch()` would return a `NonUniqueResultException` because elements were now unique. This issue has been corrected with this CP release.

- JBPAPP-859: The `SchemaUpdate` class has been enhanced with `output file name`, `delimiter`, `halt on error`, `format` options now avaliable.

- JBPAPP-782: The `MapBinder` class had the ability to generate SQL statements that would not be supported by the Oracle 10g database. This was of particular concern for some EJB3 Persistence users on EAP and Oracle. This issue has now been rectified in this CP release.

##### Security Issues

- There are no Security Issues addressed with this CP releae.

##### JBPAPP-1004

JBPAPP-1004: Previous versions of the EAP contained an incorrect serialVersionUID number, which interfered with backwards compatability. The correct serialVersionUID number is included with this release.

##### JBPAPP-972

JBPAPP-972: JBoss Aspect-Oriented Programming (AOP) has been upgraded to version 1.5.GA_CP02.

##### JBPAPP-961

JBPAPP-961: JBoss Web has been upgraded to version 2.0.0.GA CP06.

##### JBPAPP-944

JBPAPP-944: `ClusteredSession` included logic that would skip session metadata replication if the only change was the timestamp. This issue was corrected by changing the default maximum interval between requests. The default interval is now 60 seconds and the value is now configurable. This attribute can be changed by adding an atribute to the `jboss-service.xml` file that resembles

    <attribute name="MaxUnreplicatedInterval">30</attribute>

.

##### JBPAPP-926

JBPAPP-926: A section in the Server Configuration Guide called Existing Entity Commands specified the wrong packages for some classes. This updated version of the Server Configuration Guide included with this CP, contains the correct package information for the classes affected.

##### JBPAPP-897

JBPAPP-897: JBoss Transaction Services has been upgraded to version 4.2.3 SP5 CP02.

##### JBPAPP-895

JBPAPP-895: The Java Messaging Service (JMS) connections needed to be consistently closed in reference to the J2EE Connector Architecture (JCA). These connections are now always closed to restrict exceptions.

##### JBPAPP-891

JBPAPP-891: The monitoring tool Twiddle did not print out `invoke` results, even with the absense of a property editor for the returned object. Corrected within this CP release, Twiddle now calls the `toString()` method on returned objects when there is no property editor found.

##### JBPAPP-877

JBPAPP-877: JBoss Serialization version 1.0.3GA would encounter `ClassCastExceptions` when being used. This update corrects this issue so that serialization functions correctly.

##### JBPAPP-867

JBPAPP-867: An `ExceptionSorter` interface implementation should be provided for users of the IBM DB2 Data Server. This enhancement to the EAP is included within this CP release.

##### JBPAPP-864

JBPAPP-864: Clustered proxy factories did not bind home proxies. This issue has been rectified by now supporting clustered home proxies for EJB3 beans. However, in order to avoid backwards compatibility issues, the load balance policy for home proxies has been hard coded to round robin. This is also the default policy for EJB2 home proxies.

##### JBPAPP-857

JBPAPP-857: The .rar file `mail-ra.rar` used within the application server to recieve email from using the JavaMail API, was missing from the distribution. This missing file has now been re-included.

##### JBPAPP-856

JBPAPP-856: Support of the DeliveryActive MDB activation configuration property when deploying. This mechanism enables the ability to start and stop the consumption of Messages during deployment and is supported with this release.

##### JBPAPP-844

JBPAPP-844: The MSSQL data source example was incompatible with SQL Server 2005. To fix this compatability issue, the `driver-class` has been updated from `com.microsoft.jdbc.sqlserver.SQLServerDriver` to `com.microsoft.sqlserver.jdbc.SQLServerDriver` and the default port for the `connection-url` has been changed from 1433 to 3918. With these changes the example now functions correctly under SQL Server 2005.

##### JBPAPP-815

JBPAPP-815: An issue existed where if a DOCTYPE was added to the file `-ds.xml` and the option to `ValidateDTDs` was set to true in `jbossjca-services.xml`, validation errors would occur. This was found to be because of an issue with the tx-connection-factory element in `jms-ds.xml` which has since been fixed.

##### JBPAPP-805

JBPAPP-805: There was a missing java file from the first security example within the server configuration guide, inhibiting the example to be run successfully. The missing `EchoSecurityProxy.java` file has now been restored, enabling the example to be run correctly.

##### JBPAPP-799

JBPAPP-799: the seamejb3 example would generate a `FaceletException` error. This issue was caused from the inclusion of incorrect .jar files for the example. This CP update includes the correct .jar files, correcting the issue and allowing the example to execute correctly.

##### JBPAPP-783

JBPAPP-783: There was an issue where a mechanism did not exist to shutdown JMS connections when an MDB encountered a `RuntimeException`. The ability to accomplish this is now included.

##### JBPAPP-746

JBPAPP-746: There was a bug within the JavaServer Pages (JSP) compiler affecting Tomcat where the body of the doTag() method was empty. This meant that no html would be emitted. This fix for this Tomcat related issue has been included within this CP release.

##### JBPAPP-729

JBPAPP-729: A wrong character set was being used for the decoding of URL parameters after a servlet redirect had occurred. Now fixed within this CP, URLs are decoded correctly after servelt redirects.

##### JBPAPP-529

JBPAPP-529: JavaServer Pages (JSP) source code was exposed within the jmx-console when an error page was encountered. This issue is addressed by checking if the class is using an existing Bean from the requested scope or if it has instantiated a new one. If the one from the request scope is null the user is redirected to the displayMbeans page.

##### JBPAPP-295

JBPAPP-295: The replicated Stateful Session Bean (SFSB) required optimization for use with Buddy Replication. After extensive testing and fixes, the optimization required is now included within this CP release.

## 8. Known Issues with this release

Following is a list of known issues at the time of release.

- JBPAPP-909: Within the Hibernate component of the EAP the HashMap and HashSet iteration order changed from past releases because of support for JDK 1.6. However this has meant that the order of columns in union clauses and union-subclasses has changed, generating a slight impact on the components performance.