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-2072USAPhone: +1 919 754 3700
Phone: 888 733 4281
Fax: +1 919 754 3701
PO Box 13588Research Triangle Park, NC 27709USA
These release notes contain important information related to JBoss Enterprise Application Platform 4.3.0.CP03 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.CP03.
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.
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.
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.
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.
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.
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 or 1.6. 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.
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.
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.
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.
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 Enterprise 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/.
Following is a list of issues fixed in this release:
JBPAPP-1219:JBoss Messaging would stop processing a message because the ConnectionValidator ping on the client side had timed out causing the LeasePinger to shut down and the server side Lease to report a connection failure. Once a connection failure had been reported to the registered listeners the ServerInvokerCallbackHandler would close its client and in turn change push callbacks into pull callbacks. To rectify this issue the following attributes have been added to the remoting-bisocket-service-xml file:
<attribute name="validatorPingPeriod" isParam="true">10000</attribute> <attribute name="validatorPingTimeout" isParam="true">5000</attribute> <attribute name="registerCallbackListener">false</attribute>
The addition of these attributes insures that the Connectionvalidator ping does not time out so quickly, ensuring correct communications can occur.
JBPAPP-1213: JBoss Messaging has been upgraded to 1.4.0.SP3_CP04. This update corrects various bugs that existed in the earlier build of the component.
JBPAPP-1067: Configuration of the Messaging Queue value DEFAULT_RECOVER_DELIVERIES_TIMEOUT was set to 5 * 60 * 10000, when the final number in the sequence should be 1000. This bug fix has been included with these updated packages.
JBPAPP-1207: A bug existed where when tx would commit and cache would wish to remove a directory from its structure as in removing /a/b and adding /a/b/d through cache, then the remove would not be successful. This failure was a result of the program failing to traverse the children of a given directory and instead seeing that both had /a/b/ and thus the add had made the remove obsolete.
In correcting this issue the TreeCache.java file has been altered to include the successful mapping of a directories children by use of an interator and the RemoveOnTxTest.java file was altered to check if children are marked for deletion.
JBPAPP-1198: Marshalling logic within TreeCacheMarshaller140 used to use a HashMap to store objects that were previously written in order to easily refer to this through a number for subsequent writes. Use of the HashMap however allowed for an object that only satisfied the method equals() but did not adhrere to an == assignment, to be incorrectly detected as being of the same identity. Correcting this issue has seen the HashMap programming change to the use of a java.util.IdentityHashMap instead.
JBPAPP-1212: JBoss Remoting has been upgraded to version 2.2.2.SP10, fixing five major bugs.
JBPAPP-934: Message Transmission Optimization Mechanism (MTOM) support was broken in earlier releases of the EAP. The bug has now been fixed and MTOM support is operational.
JBPAPP-1179: The Apache JServ Protocol (AJP) connector handle posted data as a request header if an exception or error occured before reading the data and the data was between 512 and 767.This issue has been fixed for this latest CP release.
JBPAPP-1165: There was a request to add a socketBuffer attribute to the HTTP connector in order to allow the specification of a custom buffer size. This addition has been incorporated with the possibility of TCP traffic reduction while improving performance of large responses when sufficient memory is available to support buffer size increases.
JBPAPP-1049: JBoss Web has been upgraded to version 2.0.0.CP08 for this latest JBoss Enterprise Application Platform CP release.
JBPAPP-882: The Java Server Faces (JSF) needed its libraries to be upgraded to 1.2_09-b01. This issue has been fixed by upgrading to version 1.2_09 of the libraries, which is no longer in beta.
JBPAPP-1195: The UsernameToken implementation was mandating that the wsu:id attribute be included on incoming requests. The way in which the Timestamp.java, UsernameToken.java and X509Token.java files opperate has been updated in order to correct this issue.
JBPAPP-927: JBoss Web Services has been upgraded to version 2.0.1.SP2_CP04, fixing many issues and adding enhancements.
JBPAPP-919: The Web Services stack was not able to be fully initialized and thus the first webmethod call is slow. In this latest version of the EAP, the Web Services stack is fully initialized.
JBPAPP-1185: A test case org.jboss.seam.test.InterpolatorTest.testFail() would fail when it should have passed. This issue has been rectified by changing the expected date of the test method to what the Java Virtual Machine (JVM) provides for a US locale.
JBPAPP-1129: An issue was apparent where the icefaces example would not work given the setup of certain EAP environments. In order to fix this bug, the jsf libraries have been upgraded for this example.
JBPAPP-1093: The numberguess example asked that the user guess a number between 1 and 100 inclusive, however the application would generate a number between 0 and 99 inclusive. The issue has now been rectified so that the number a user can guess and the numbers the example can generate are the same.
JBPAPP-1053: Seam icefaces would generate an error stipulating that an instance of the compiler.ExpressionFactory feature could not be achieved. In this release, the application deploys successfully and without the instance issue.
JBPAPP-1046: There was an error in the Spring example where if a user created an invalid booking, the example would still allow the booking to proceed. The booking would not be stored and an IllegalStateException would be generated when the user tried to start a new conversation. To rectify this issue, a rule element has been added into the pages.xml file to insure the validity of the booking.
JBPAPP-1042: An empty file jboss-seam-1.2.1.AP-src.tar.gz was included in the distribution. In order to avoid confusion, this file has been removed for this release.
JBPAPP-1271: Within test cases where an Entity Manager is necessary the command EntityManager em = factory.createEntityManager(); was being used but did not handle exceptions correctly. In order to fix this issue the command has been replaced with the following: EntityManager em = getOrCreateEntityManager(); and the code to always reopen a new Entity Manager and to close the existing one at the beginning of the test case has been re-written.
JBPAPP-1270: The Hibernate Entity Manager has been upgraded to version 3.2.1-2.GA_CP04 for this EAP CP release.
JBPAPP-1269: The Hibernate Annotations has been upgraded to version 3.2.1-4.GA_CP03 for this EAP CP release.
JBPAPP-1265: Within Hibernate Annotations the method AnnotationBinder.mustBeSkipped had a hardcoded string reference to the class org.hibernate.tool.instrument.javassist.FieldHandler. This reference would fail as the class is located in another package to that specified. The new hardcoded string reference points to the class being in the correct package of bytecode: org.hibernate.bytecode.javassist.FieldHandler.
JBPAPP-1258: The ProxyBreakingTest failed on case sensitive systems because the file hammer.hbm.xml should be named Hammer.hbm.xml. This case error has been corrected for this release.
JBPAPP-1214: The Hibernate core version has been upgraded to 3.2.4.SP1_CP06 that incorporates numerous fixes and enhancements.
JBPAPP-1205: When using an Oracle Driver without an offset, the query that is generated omits rownum > 0. This resulted in an incorrect number of rows being returned. This issue is fixed with this CP release and the aforementioned code is now included.
JBPAPP-1083: Outer join support should be added for aliases of the DetachedCriteria class. To do this, the following methods have been added to the class:
All variants of createAlias()
All variants of createCriteria()
All variants of setLockMode()
setComment()
JBPAPP-1065: Quoting in Hibernate clashed with particular defaults within the NamingStrategy class. In order to fix this, the files Ejb3JoinColumn.java and TableBinder.java have undergone extensive re-working.
JBPAPP-1064: Select annotation tests within IndexedCollectionTest would fail due to a failure reguarding the foreign key constraint within MySQL. To fix this issue, after each test the transaction needs to be committed instead of rolled back. Within the testMapKeyToEntity.java file the following amendment has been made in order to fix this issue:
The original code at the end of a test consisted of the following:
s.delete( book ); tx.rollback(); s.close();
The corrected code at the end of a test consists of the following:
s.delete( book ); tx.commit(); s.close();
Where the tx.rollback(); call is replaced with a tx.commit(); call.
JBPAPP-984: When a CollectionLoadContext is created for an empty ResultSet it is not registered with LoadContexts. This means that the CollectionLoadContext is not removed until the PersistenceContext.clear() method is executed. Hibernate now checks to make sure that a CollectionLoadContext is registered when created.
JBPAPP-965: SchemaValidator would fail when views were involved. To fix this problem, the DatabaseMetadata.java file has been updated so that when a static final String[] is created, it is done so with types table and view.
JBPAPP-950: The testScrollingJoinFetchesForward class was unsupported by DB2. To fix this, the DB2Dialect class has had to override the Dialect.supportsResultSetPositionQueryMethodsOnForwardOnlyCursor() method and return false.
JBPAPP-949: There was an issue that Hibernate would not account for parameters within the select clause of the INSERT-SELECT statement of DB2. The following files within Hibernate have been updated for compatibility with parameters within the select clause of the INSERT-SELECT statement of DB2:
DB2Dialect.java
Dialect.java
HqlSqlWalker.java
BulkManipulationTest.java
JBPAPP-948: The Hibernate test ASTParserLoadingTest.java tested unsupported queries for DB2. This problem arose because DB2 does not support untyped parameters. To fix this the queries have had to be modified so that the parameters are cast to an appropriate data type.
JBPAPP-940: The hibernate tests org.hibernate.test.jpa.lock.JPALockTest and org.hibernate.test.tm.CMTTest would not conclude when executed on a DB2 server. To overcome this problem, the method doesReadCommittedCauseWritersToBlockReaders(), which returns true if executed correctly, has been added to DB2Dialect in order to override Dialect's default settings.
JBPAPP-1024: The Tomcat Web Service component of the Application Server would generate a Null Pointer Exception (NPE) in the ExtendedFormAuthenticator class when trying to authenticate in a form after a session had timed out. In fixing this issue, the NPE has been removed from the login page.
JBPAPP-1217: The Installation Guide did not provide correct information on how a Red Hat Enterprise Linux customer would install or update their Java JDK using Red Hat Network (RHN). This necessary information has now been included and the distinction made between the Red Hat Enterprise Linux customer Java installation method and installing Java on a generic Linux distribution.
JBPAPP-1203: In previous versions of the Server Configuration Guide and the Getting Started Guide, the properties ha-local-tx-datasource and ha-xa-datasource as well as their respective packages jboss-ha-local-jdbc.rar and jboss-ha-xa-jdbc.rar were listed as experimental when this is no longer the case. This updated CP documentation now exludes the wording of experimental so that there is no confusion.
JBPAPP-1111: The section on max-bean-life within the Server Configuration Guide required improvement so that no abiguity would exist in the Japanese translation. This issue has been fixed by rewording the English sentence that caused the issue.
JBPAPP-1035: All the books for the JBoss Enterprise Application Platform should have the word aspectized removed as this is not a true word and fails to convey any meaningful information. to fix this issue, the word aspectized has been removed from all documentation.
JBPAPP-1008: There was an error in the Server Configuration Guide xmbean example where the command given specified a deloyment configuration that did not exist. The deployment commands for the xmbean example now deploy to the default configuration of the server.
JBPAPP-979: Information on how to reclaim disc space because Microsoft SQL Server does not undertake this de-allocation automaticly, has been added to the JBoss Messaging User Guide.
JBPAPP-920: The JBoss Messaging User Guide was outdated in previous releases. This latest CP release, incorporates the User Guide appropriate with the included version of the JBoss Messaging component.
JBPAPP-871: A note concerning how MDB and JBM dead letter queues work with each other has been included in the JBoss Messaging documentation.
JBPAPP-754: Included in prior EAP distributions was an outdated Seam changelog.txt file which acted as Seam release notes. As all EAP fixes for mention in the release notes are included in such, this file became irrelevant and outdated. With this new CP release, this file is no longer included.
JBPAPP-730: The Clustering Section of the Server Configuration Guide needed to be updated with the latest information relevant to the EAP. To rectify this issue, the updated community clustering section (along with information from the relevant wiki) has replaced the outdated information.
ValidConnectionChecker class were not serializable. The way in which the implementations handle excepetion cases has been rewritten, along with the testing of valid connections. By recoding these methods, the implementations are now serializable.
afterCompletion and the called method unregisterConnection within TxConnectionManager.java would return a connection to the pool and the InternalManagedConnectionPool class was not able to handle duplicates causing problems such as a leaked connection permit with an eventual overflow of the pool. The way in which the connections are managed has been modified to correct a race condition between the methods connection.close() and transaction.rollback() that in turn ensures no duplication of connections in the pool.
removeTimerService (variation 2)
removeTimerService (variation 3)
String listTimers
Variation numbering is based upon when each method appears in the code.
javax.ejb.NoSuchEJBException exception would occur after the sfsb.remove() method was called from within the HttpSessionListener class. This cluser-wide operation being executed would mean that when one node was shutdown the HttpDessions would still be available on the other nodes for fail over security, however the SFSB would be missing causing the mentioned exception that the stateful bean could not be found.
In order to address this issue, a clustered session notification policy has been created. For documentation that explains this, refer to section 16.11 of the Server Configuration Guide.
ConcurrentModificationException would appear in the jboss log output for JoinpointSimpleClassifier.classifyJoinpoint. This bug in reporting has been rectified with these updated packages.
jboss-aop.xml has been upgraded to incorporate the ability to use environment variables.
Following is a list of known issues at the time of release.
JBPAPP-1286: Footnotes within documentation tables and lists do not appear within PDFs. This issue resides within FOP and currently no workaround exists. Where possible footnotes are not used in the circumstances mentioned, however in documents such as the Release Notes the web address of a JIRA is automaticly generated as a footnote and places a number beside that of the JIRA, referencing a footnote that does not appear.
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.
JBPAPP-885: An issue exists where if DefaultRedeliveryDelay or RedeliveryDelay is set to a value apart from zero, messages will not be redelivered even though the method session.rollback() had been called. This issue will not be fixed because redelivery delay is handled on the server side and the message is already acknowledged before delivery of the message with a non durable subscription. For the Enterprise Application Platform, this means that redelivery delays with non durable subscriptions cannot be supported.
| Revision History | |||
|---|---|---|---|
| Revision 1.0 | |||
|
| |||