Release Notes CP09

JBoss Enterprise Application Platform 4.3

for Use with JBoss Enterprise Application Platform 4.3 Cumulative Patch 9

Jared Morgan


These release notes contain important information related to JBoss Enterprise Application Platform 4.3.0.CP09 that may not be currently available in the Product Manuals. Read this document in its entirety before installing JBoss Enterprise Application Platform 4.3.0.CP09.

1.  Introduction

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

2. Installation and Migration Notes

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

2.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 Refer to the installation guide available online from for detailed instructions to install and verify JBoss Enterprise Application Platform.

2.2. Upgrading from JBoss Enterprise Application Platform 4.3.0.CP08


Installing a Cumulative Patch

  1. Use Browse Resources to navigate to the resource you wish to patch.
  2. Click on the Software tab. All patches applicable to your resource and all patches that have been previously installed by JON on this resource will be displayed.
  3. An Install link will be listed beside all patches that can be installed by JON. Any patches without this link must be installed manually. Any patch that appears beside a Manually Uninstall link must be removed manually before the new patch can be installed.
    For more information about installing a patch with CSP/JON, see the JON documentation.

3. Important Notes

3.1. Oracle 9i is no longer supported

JBoss Enterprise Application Platform 4.3.0 CP08 and higher will no longer be tested for compatibility with Oracle 9i.

3.2. New Certified Database Support

This release includes support for the following newly-certified databases and their JDBC drivers:
Oracle 11g R1
The correct JDBC driver to use with this database is Oracle JDBC Driver
PostgreSQL 8.4.4
The correct JDBC driver to use with this database is PostgreSQL JDBC Driver 8.4-702-jdbc3.
Sybase ASE 15.5
The correct JDBC driver to use with this database is Sybase jConnect JDBC driver 6.05 from EBF18159.

3.3. Changes to Naming Structure

There is no Feature Pack planned for release with Cumulative Patch 7 and onward. The previous naming structure (for example, seamfp) is therefore no longer relevant. The JBoss Installer now refers to Seam2 instead of SeamFP. The directory location for seam is now seam1, and the directory location for seam2 is now seam2.

3.4.  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.


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.


There are two Seam versions used in Enterprise Application Platform 4.3: Seam1 and Seam2. The Seam1 version featured in this release is 1.2.1.EAP_4.3_CP09. For Seam2, the version featured in this release is 2.0.2-FP.

3.5.  Default Security Settings

Authentication is enabled, and no user accounts are configured by default when installing JBoss Enterprise Application Platform using RPM packages, or the Zip distribution. This prevents unauthorized access to system components within the JBoss Application Server. You must manually configure the services available to allow access to JBoss Application Server components.
Refer to the Installation Guide, or see for information on how to make these services accessible again.

3.6.  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 Red Hat is happy to accept bugs filed against this component, we do not make any commitment to fix them within a specific timeframe.

5. Resolved Issues

Following is a list of issues resolved in this release:

Hibernate Issues

When a cache provider could not be found, a NoClassDefFoundError was thrown with the message: net/sf/ehcache/CacheException.
When a connection provider could not be found, a HibernateException was thrown with the following message: Could not instantiate connection provider: " + providerClass
More informative messages are now thrown when these errors occur.
Hibernate Query Language (HQL) did not support tuple syntax. Additionally, on those databases that did not support tuple syntax, database criteria was not being translated from tuple syntax to an interpretable syntax. This caused issues with database queries and HQL searches. The fix now supports tuple syntax in HQL, and for those databases where tuple support is not available, Hibernate now converts the query to an appropriate format. For example:
where (a,b) in ( (1,2), (3,4) )
is now converted to:
where ( (a=1 AND b=2) OR ( (a=3 AND b=4) )
LikeExpression did not handle the ignoreCase flag properly when ignoreCase was set to false. The correct SQL property like ? was built, but the flag inside getTypedValues was not used, and a lowercase value was always produced. This issue has been fixed, and lowercase or the original case is used when ignoreCase is set to false.
When a column name was defined in backticks (`), @JoinTable and @JoinColumn mappings failed with AnnotationException when the column name with backticks was referenced. Hibernate now compares the referencedColumnName with the column's quote name rather than the table column's name.
When scrolling a HQL query with join fetch on a collection, FetchingScrollableResultsImpl.last() does not move to the last result if the cursor is positioned after the last result. Instead, the cursor stays in position after the last result. This can cause org.hibernate.exception.GenericJDBCException: could not perform sequential read of results. The fix ensures that the cursor moves to the last result as expected.
PostgreSQL failed to drop SchemaExport if constraint names changed, causing constraint errors. Hibernate now issues a cascade when it attempts to drop a table, fixing the issue.
The changes for JBPAPP-4471 caused an issue when users mapped non-JDK Serializable classes with SerializableType, and attempted to cache those values into a second level cache. SerializableType reported the classloader of as the classloader to use for deserialization. However, this classloader could not see into the classloader, or non-JDK classes.
The classloader from org.hibernate.util.SerializationHelper.deserialize(InputStream, ClassLoader) now attempts to resolve the classloader that needs to be deserialized. If it cannot do this successfully, it uses the context classloader from the current thread and the classloader that loads the Hibernate class.
A bug in Hibernate caused the following exception to be thrown: java.lang.IllegalArgumentException: alias not found: tbl. A table object could not be saved to Oracle. A temporary workaround was devised to use an enhanced sequence instead, but this was not an optimal solution. The Hibernate code was updated to fix this flaw. Table objects are now able to be saved to Oracle, as expected.
The annotation @Tables.values was a typographical error, and should have been @Tables.value. This was fixed in Hibernate, but the fix broke backward compatibility with code that depended on the old annotation. @Tables.values was added back in, and tagged with @Deprecated. It should not be used.
The cascade-save operation was incorrectly handling auto-incremented Primary Key (PK) tables that linked to parent tables with an assigned PK. The fix now allows the cascade-save operation to handle the parent-child relationship between tables.
The Hibernate Deployer (org.jboss.hibernate.jmx.Hibernate) controls .har deployments.
In JBoss Enterprise Application Platform 4.3.0 CP08, the Hibernate Deployer's AUTO_CLOSE_SESSION and FLUSH_BEFORE_COMPLETION parameters were set to true by default. Customers migrating from older versions of Hibernate were encountering errors when using session.close() in finally blocks. Session was already closed and Session is closed errors occurred when deploying Hibernate archives (.har). In this release, AUTO_CLOSE_SESSION and FLUSH_BEFORE_COMPLETION are set to false by default. This prevents issues with backwards compatibility, and returns functionality to expected behavior.

Clustering Issues

Single Sign On (SSO) is a specialized form of user authentication that enables a user to be authenticated once, and gain access to resources on multiple systems/web applications during that session.
Clustered SSO was not considering the Tomcat or JBoss Web host or context when counting SSO sessions. If a user was actively using multiple web applications with the same SSO session ID, the user could be logged out unexpectedly because the host or context of the application was excluded from the Clustered SSO session count. Clustered SSO interaction has been refactored with JBoss Cache (JBC) into a pluggable component that includes Tomcat and JBoss Web host and context. The refactored SSO corrects the problem with host and context issues.

General Issues

Xalan is an XSLT (Extensible Stylesheet Language Transformation) processor for transforming XML documents into HTML, text, or other XML document types. Cause:
The XMLReaderManager (org.apache.xml.utils.XMLReaderManager) class of Xalan was creating a XMLReader in ThreadLocal, but was not removing the XMLReader from ThreadLocal (setting to null) when the XMLReader finished.
This created a permanent leak for customers running Xalan under a JDK 1.5.0_6 environment. The magnitude of the leak was exacerbated by the size of the XML file the XMLReader was required to parse, and the load the server was under. Fix, and Result:
Changes to the way Xalan handles XMLReader in ThreadLocal have been made to Xalan 2.7.0 which prevent XLST transformations from creating erroneous extra nodes.

Seam1 Issues

An input sanitization flaw was found in the way JBoss Seam processed certain parametrized JBoss Expression Language (EL) expressions. A remote attacker could use this flaw to execute parameterless methods on Seam components via a URL, containing appended, specially-crafted expression language parameters, provided to certain applications based on the JBoss Seam framework. This release contains enhanced security that prevents malicious interaction using EL expressions.
Red Hat would like to thank Meder Kydyraliev of the Google Security Team for responsibly reporting this issue.

Seam2 Issues

The Drools version in JBoss Enterprise Application Platform has been upgraded to the binaries used in SOA 4.3 CP02, and the jBPM version is now upgraded to v3.2.9.
Short pause interval durations, and test method isolation issues were causing the Quartz example test to fail on RHEL4 and IBM JVM 1.6. The testsuite now isolates separate test methods using individual accounts for each test method, and the pause interval has been increased from 50ms to 1000ms. This results in better isolation between tests in the testsuite.
An incorrect version of RichFaces was bundled with Seam 2.0.2, causing some RichFaces components to fail or work incorrectly. This has now been fixed, by bundling the correct version of RichFaces (3.3.1) with Seam.
Seam-gen templates used resource:// for objects that were not on the classpath. This resulted in an error when trying to transform a RichFaces template (XCSS) into a CSS file. Seam-gen no longer uses resource://, fixing the issue.
Duplicate Seam components on the class path were not being ignored, which caused an IllegalStateException during initialization. Duplicate classes are now ignored, and different classes with the same component name and precedence are correctly detected. The expected exception is thrown when these conditions are not met.
A flaw in the PassivatedEntity.passivateEntity() method created the possibility of extra attributes being added to the conversation context during the passivation phase. A concurrentModificationException would be thrown. The flaw was addressed, and concurrentModificationException is no longer thrown.
An input sanitization flaw was found in the way JBoss Seam processed certain parametrized JBoss Expression Language (EL) expressions. A remote attacker could use this flaw to execute parameterless methods on Seam components via a URL, containing appended, specially-crafted expression language parameters, provided to certain applications based on the JBoss Seam framework. This release contains enhanced security that prevents malicious interaction using EL expressions.
Red Hat would like to thank Meder Kydyraliev of the Google Security Team for responsibly reporting this issue.
Bash script seam2/seam has executable permission only on some Linux systems. This is caused by a different zip utility implementation included in the distribution. Executable permissions are now assigned to seam2/seam correctly for the following operating systems:
  • Fedora 13
  • Red Hat Enterprise Linux 4
  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
The fix is not available for the zip utility used on other operating systems such as Ubuntu.
When using the web services page of the Seambay example in Internet Explorer 8 (IE8), values entered in the user name and password fields were not propagating to the request area. Customers using Seambay were not able to proceed past the login screen without manually updating the values in the Request Area. The Seambay example now allows for the differing object model present in IE8 and checks for the Microsoft IE Document Object Model (DOM) implementation.

Documentation Issues

The Server Configuration Guide did not contain adequate sample configurations for data sources. Creating a datasource took more time and research than necessary. The Datasource Configuration chapter has been rewritten, and an appendix added with specific data sources for all certified databases. All certified databases now have sample configurations in the documentation.
Instructions for Specifying the Java Runtime Environment (JRE) for Windows users incorrectly suggested that the path to the JRE bin directory was required in Environment Variables. The procedure Specifying JRE for Windows in the Installation Guide now instructs users to set the JRE path to the JRE installation root directory, and includes instructions to set environment variables in Windows.
Customers were experiencing difficulties running the non-clustered Messaging examples using the All and Production server profiles because the Messaging User Guide did not contain clear instructions. Most Messaging examples are designed to run on non-clustered server profiles (all profiles, except All and Production). The chapter has been improved by separating the examples into clustered and unclustered sets, and also instructs the user to review the readme file shipped with each example for configuration instructions.
The Seam Reference Guide and Seam2 Reference Guide contained an incorrect reference to manually changing the mail-ra.rar component from the Seam project into the JBoss Application Server. Following these directions may have resulted in a customer implementing functionality that was not supported by Red Hat in the customer's production environment. The wording in the "Receiving Emails" section of both guides has been amended to guide the customer about the possible consequences of changing core components and the flow on effect to customer support.
The RNH section of the installation instructions for JBoss Enterprise Application Platform did not instruct customers to enable the Supplementary / Extra channel. The installation failed if the customer did not have the java-1.5.0-ibm and java-1.5.0-ibm-devel packages installed. The Installation Guide has been updated to include instructions for installing the Supplementary / Extra channel, and selecting the correct packages. RPM installation succeeds when following the updated instructions.
The JDK6 Compatibility Notes guide stated that JAX-WS support required the user to relocate certain .jar files to the jboss-as/lib/endorsed directory of the JBoss Enterprise Application Platform directory. The required files are now stored in the /endorsed directory by default. JAX-WS no longer requires special configuration in order for it to work.

EJB Issues

A Class Cast Exception (CCE) was thrown from a result set reader when user-type-mapped types were used in EJB-QL aggregate functions. EJB-QL functions are now implemented correctly, allowing user-type-mapped types to be used.

6.  Known Issues

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

General Known Issues

When JBoss Enterprise Application Platform is started with the -b <hostname> flag, filtering by jboss.web:name=ajp-<hostname>/<ip_address>-8009,type=ThreadPool,* returns no results. This makes it impossible to use SNMP to export data to other monitoring tools because the configuration in deploy/snmp-adapter.sar/attributes.xml cannot find the bean.
It is worth noting that while the following definition does not work:
<mbean name="jboss.web:name=ajp-<hostname>/<ip_address>-8009,type=ThreadPool" oid-prefix=".">
The following definition does work as expected:
<mbean name="jboss.web:name=ajp-<ip_address>-8009,type=ThreadPool" oid-prefix=".">
Attempting to install the IBM JDK 1.5 on 64-bit Red Hat Enterprise Linux 5 results in broken links to Java binaries. This prevents the application server from starting. The workaround for this issue is to use the Sun JDK 1.6 instead.
When terminates, it produces a list of terms that match a given string and a summary line that reflects the number of responses that matched the -match <string> parameter, for example:
Total responses=1, 1 matches, 3 non-matches
This summary line does not appear because a thread set up to close the multicast socket upon timeout causes the multicast socket to generate an exception and return before the summary line can be printed.

EJB Known Issues

When ValidateDTD is set to true in EJB deployer, standardjboss.xml validation fails because the properties for Message Driven Beans (such as those in JMSContainerInvoker) do not exist in jboss_4_2.dtd. To work around this issue, remove the reference to jboss_4_2.dtd in standardjboss.xml.
In clustered environments, the getCallerPrincipal method was causing an IllegalStateException when it was called from ejbActivate because StatefulHASessionPersistenceManager.synchroSession() did not allow getCallerPrincipal in the initial create method. The workaround for this issue is to move the getCallerPrincipal method from ejbActivate.

Messaging Known Issues

EnableMessageCounters on the jboss.messaging.ServerPeer JMX interface, cannot be set to true. A workaround to enable message counters is to invoke the enableMessageCounters() operation on the same JMX interface.
The JBoss Messaging examples included in the documentation bundle contain incorrect configuration information and do not work with JBoss Enterprise Application Platform. A corrected example archive is available for use with JBoss Enterprise Application Platform 4.3.0 CP09 from
Replace the /docs/examples/jboss-messaging-examples directory in your distribution with the extracted contents of this archive. Further information is available from the JIRA if you wish to correct these examples manually. Note that the web service example does not work regardless.
If a message-driven bean is deployed with the default settings (useDLQ=true, DLQMaxResent=5) and message redelivery is prompted, messages remain in the queue in a "delivering" state even after the message is delivered to the dead letter queue.
The workaround for this issue is to disable the use of the dead letter queue: useDLQ=false.
Two JBoss Messaging Test Suite tests fail on Oracle 11g R1, R2 and RAC with the JDBC drivers v11. and v11.
  • QueueManagementTest.testDestroyDestinationProgrammatically
  • QueueManagementTest.testDestroyDestinationProgrammaticallyWithParams
These tests use a large value for the fullSize queue configuration parameter, which is passed to the setFetchSize method on the java.sql.PreparedStatement. A problem with the JDBC driver means that more than the usual amount of memory is consumed when executeQuery() is called, which results in a java.lang.OutOfMemoryError, causing the test to fail.
Oracle JDBC driver version causes the JBoss Messaging Test Suite to fail with a SQLException ("Bigger type length than Maximum") on Oracle 11g R1. This was caused by a regression in Oracle JDBC driver
To work around the issue, use Oracle JDBC driver version with Oracle 11g R1, Oracle 11g R2, Oracle RAC 11g R1 and Oracle RAC 11g R2. Alternatively, you can set the FullSize attribute (defaults to 200000) in the Topic or Queue to a smaller value (for example, 65000) .

Hibernate Known Issues

On Sybase, when a query has an ANSI join with three or more joins, and one join involves a union subclass, the query may fail with SybSQLException because a column is not within the scope of the joined table expression. The current recommendation is to avoid using join fetches that involve union subclasses.
When using Sybase, SchemaExport cannot be used to create stored procedures while in chained transaction mode. The suggested workaround for this case is to add the following code after the new stored procedure definition:
   <create>sp_procxmode paramHandling, 'chained'</create>
Sybase only allows only one entry (for example, column name or '*') in a subquery select list. The HQL function, elements(), fails when the collection elements have a composite ID, because the generated SQL contains a subquery select list with multiple entries. The workaround is to avoid using HQL elements() if the elements have a composite key. Instead, reformulate the HQL so that no subquery has multiple entries in its select list.
Null values for columns mapped as Boolean in Sybase are persisted as 0 instead of null. The workaround for this issue is to map type="org.hibernate.test.where.NumericTrueFalseType" instead of type="boolean".
The version of ejb3-persistence.jar shipped with the current version of JBoss Enterprise Application Platform 4.x is incorrect. Hibernate Entity Manager currently ships ejb3-persistence.jar 1.0.0.GA, but it should use ejb3-persistence.jar 1.0.1.GA. There are two changes between the 1.0.0.GA and 1.0.1.GA versions of the JAR:
  1. The JPA specification defines the constant with a value that has a typo in the classname:
    javax.persistence.Persistence.PERSISTENCE_PROVIDER = "javax.persistence.spi.PeristenceProvider"
    Because the JAR inluded in the JBoss Enterprise Application Platform does not include this typo, it is not compliant with the JPA specification. See for details.
  2. The Javadoc for javax.persistence.Query.getSingleResult() states that EntityNotFoundException will be thrown if there is no result. It should say NoResultException.
Sybase fails to insert a new entity if the entity overflows the column. However, it does not throw an exception, so Hibernate cannot tell that the insert has failed. To work around this issue, your application must validate entity properties to ensure that the value will not overflow the underlying column. Use one of the following workarounds:
  1. Use jconn3.jar with DYNAMIC_PREPARE=true option (in Hibernate configuration file), and specify the correct JDBC driver. For example:
    <property name="connection.url">jdbc:sybase:Tds:aurum:1503/masterDb?   DYNAMIC_PREPARE=true</property>
    <property name="connection.driver_class">com.sybase.jdbc3.jdbc.SybDriver</ 
  2. Use jconn4.jar, and specify the correct JDBC driver (in Hibernate configuration file). For example:
    <property name="connection.driver_class">com.sybase.jdbc4.jdbc.SybDriver</ 
The Hibernate tests and fail when testing queries with untyped parameters for DB2 v91, which does not support untyped parameters. The UPPER function is very sensitive to parameter data types. Because a parameter marker doesn't have a type when it is pre-compiled, DB2 does not know what data type to use and raises an error.
Work around this issue by modifying queries so the parameters are cast to an appropriate data type. For example:.
Hibernate does not currently provide property types that enable applications to process data in a java.sql.Types.LONGVARCHAR or java.sql.Types.CLOB column as a Java String. Processing of a java.sql.Types.LONGVARBINARY or java.sql.Types.BLOB as a Java byte[] is also unavailable. These features are expected in JBoss Enterprise Application Platform 6 stream.
Failing to re-inject the interceptors for instrumented entities causes multiple NullPointerException when entities are retrieved from a deserialized PersistenceContext.
Setting the query timeout for a PreparedStatement is not supported by PostgreSQL 8.3.7. This limitation means that queries will fail if they use an annotation like the following:
@QueryHint(name = "org.hibernate.timeout", value = "100").
The QueryByExampleTest.testJunctionNotExpressionQBE builds a disjunction predicate such as ( OR^ (ex) (NOT ex) ). The test fails in Sybase because ansinull is set to off by default. This should match everything in the database, but because ANSI SQL evaluates all comparisons involving NULL values as UNKNOWN, not all matches are returned. The following workarounds exist:
  1. Append the following string to the JDBC URL: ?SQLINITSTRING=set ansinull on
  2. Execute the following Java code (or similar) after obtaining a Hibernate session s: s.connection().createStatement().execute("set ansinull on");
If a database reserved keyword is used as a property name with a Hibernate Validator annotation (for example, @Min or @Max), it will cause exceptions in SchemaExport, even if you specify a column name. This is because Hibernate ignores the name specified. The workaround is to map the property name to something that is not a database reserved keyword with the @Column annotation. The fix for this issue is expected in Hibernate 4.
In Oracle 11g R2 (both RAC and standalone), a sequence may start at 2 instead of 1. The root cause is still under analysis. There are currently two workarounds for this issue:
  1. Use another ID generator class.
  2. Disable deferred segment creation of Oracle by setting the initialization parameter DEFERRED_SEGMENT_CREATION to FALSE. The new clauses SEGMENT CREATION DEFERRED and SEGMENT CREATION IMMEDIATE are available for the CREATE TABLE statement. These clauses override the setting of the DEFERRED_SEGMENT_CREATION initialization parameter.
A bug in jConnect means that the FetchingScrollableResultsImpl.isResultSetEmpty() method returns the following to determine if a ResultSet is empty:
currentPosition == 0 && ! getResultSet().isBeforeFirst() && ! getResultSet().isAfterLast();
When the ResultSet is empty, FetchingScrollableResultsImpl.isResultSetEmpty()should return false but Sybase JDBC returns true. There is currently no workaround for this issue.
When Hibernate executes a cacheable query using a ResultTransformer, it will attempt to cache the results after applying the ResultTransformer. However, the data may be modified so that Hibernate cannot read it. In this case, a ClassCastException will occur when attempting to cache the results.
In Oracle 11g R2 (both RAC and standalone), a complex query with LockMode.UPGRADE (ie: "for update") may cause a No more data to read from socket error. The workaround is to not use LockMode.UPGRADE on such queries. The root cause analysis is still under investigation.
When a refresh() method is invoked immediately prior to an insert(), and second-level caching is enabled, the entity is inserted into the second-level cache. If the refresh() does not commit successfully, however, the cached data will not be automatically evicted. This occurs because refresh() does not track entity state. Since the refresh() operation is usually used for generated properties, one workaround for this issue is to use the @Generated annotation. Another workaround is to manually evict the cache entry.

Seam1 Known Issues

Java Server Faces applications that use ajax4jsf do not work with IBM JDK 1.6. The workaround for this issue is to use a different cache, such as OSCache, by setting the following environment variable:
Alternatively, customers can turn off the cache by setting the following parameter in components.xml: enable-cache=false
components.xml is stored in the following locations within Seam:
  • The WEB-INF directory of a WAR
  • The META-INF directory of a JAR
  • Any JAR directory containing classes with a @Name annotation.

Seam2 Known Issues

Several Seam 2.0.2 unit and integration tests fail on IBM JVM in Red Hat Enterprise Linux. The affected examples are the DVD store, booking, nested booking, register and seamdiscs examples.
Seam Expression Language (EL) code completion does not work in JBDS 4 for projects generated by seam-gen and imported into JBDS. To work around the issue, turn off Seam Support in the generated project, then reactivate it.

A. Revision History

Revision History
Revision 4.3.9-103.4002013-10-31Rüdiger Landmann
Rebuild with publican 4.0.0
Revision 4.3.9-1032012-07-18Anthony Towns
Rebuild for Publican 3.0
Revision 4.3.9-101Tue Nov 30 2010Jared Morgan
Incorporated Known Issues and Resolved Issues for the JBoss Enterprise Application Platform 4.3.0 CP09 release.

Legal Notice

Copyright © 2010 Red Hat, Inc.
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.