Chapter 5. Known Issues

Known issues in Enterprise Application Platform 5.1.1 are listed by component.

Clustering

JBPAPP-4541
If you use the partitionName property on the MCBean:ServerConfig Profile Service managed component, it returns a null value. Instead, use the partionName from the MCBean:HAPartition managed component, which is the correct property.
JBPAPP-5464
Using the Hibernate SecondLevel Cache at the InitialState phase causes a NullPointerException. To work around this issue, disable the query cache. To disable the query cache, edit persistence.xml to either explicitly set the query_cache to false, as follows, or remove the line altogether, since the query cache is disabled by default.
<property name="hibernate.cache.use_query_cache" value="false"/>

Consoles

JBPAPP-5285
If you change the database properties via the Admin Console, the changes are persistent. However, if you undo the changes, the old values still persist when you restart the Application Server. This problem is not yet resolved, but you can work around it by editing the associated attachments file in server/PROFILE/data/attachments, to force the datasource configuration to use the new settings.

EJB

JBPAPP-4899
Compiling jboss-ejb3-core-1.3.5 with default setting LANG=C causes an unmappable character for encoding ASCII error. Use LANG=en_US.UTF-8 to work around this issue.
JBPAPP-5121
The deployment of a persistence unit into an EAR will fail when the unit is outside of the EAR and the bean attempting to inject the persistence unit is within the EAR. The injection fails because the persistence unit cannot be found. This is expected behavior of the EJB3 spec. For strict EJB3-spec compliance, the persistence unit should be packaged within the EAR. A JBoss-specific behavior allows persistence units to exist outside EARs. This is configured in the file deployers/ejb3.deployer/META-INF/jpa-deployer-jboss-beans.xml under a JBoss AS server profile. The relevant section is:
<bean name="PersistenceUnitDependencyResolver" class="org.jboss.jpa.resolvers.DynamicPersistenceUnitDependencyResolver"/>
By default, the DynamicPersistenceUnitDependencyResolver is used, which allows the spec-compliant behavior to be controlled through the MBean in the JMX Console. The spec-noncompliant JBoss variant search strategy can be found here.

Hibernate

JBPAPP-6395
When using the Criteria API with LEFT OUTER JOIN to add criteria to children, the child collections will only contain those children matching the criteria. This behavior also applies when not using any Filters. For example:
criteria.createCriteria("children", JoinFragment.LEFT_OUTER_JOIN)
There is no workaround for this issue.
JBPAPP-6475
org.hibernate.PropertyAccessException may be thrown if an Entity contains the following conditions:
  1. Uses @EmbeddedId
  2. Uses @JoinTable on a collection or association property/field, which references another property/field of the entity.
For example:
@EmbeddedId
private MyPk id;
private Long name;
@CollectionOfElements
@JoinTable(
name="GLOBAL_NOTES",
joinColumns=@JoinColumn(name="text_id", referencedColumnName="name"))
private Set<String> globalNotes = new HashSet<String>();
There is no workaround for this issue, other than not using @EmbeddedId.

Messaging

JBPAPP-3904
Oracle JDBC driver version 11.1.0.7.0 causes the JBoss Messaging Transaction Service to fail with a SQLException ("Bigger type length than Maximum") on Oracle 11g R1.
This is caused by a regression in Oracle JDBC driver 11.1.0.7.0.
We recommend Oracle JDBC driver version 11.2.0.1.0 for use with Oracle 11g R1, Oracle 11g R2, Oracle RAC 11g R1 and Oracle RAC 11g R2.
JBPAPP-4668
Two JBoss Messaging Test Suite tests fail on Oracle 11g R1, R2 and RAC with the latest JDBC driver, version 11.2.0.2.0:
  • 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.
JBPAPP-5124
When using Sybase database with the JDBC driver Sybase jConnect JDBC driver v7 (Build 26502), a MaxParams attribute in the sybase-persistence-service.xml configuration file cannot be set higher than 481 due to a limitation of the PreparedStatement class in this driver. Unexpected failures can occur when the MaxParams attribute is set to a value higher than 481. To avoid this issue, set MaxParams to a smaller value than 481.
JBPAPP-5537
If a message-driven bean is deployed with the default settings useDLQ=true, DLQMaxResent=5 and message redelivery is prompted, a message remains 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 dead letter queue handling on the MDB side by setting useDLQ=false.

Networking

JBPAPP-5591
IPv6 is not supported in version 5 of the Enterprise Platform.

RESTEasy

JBPAPP-4665
Resteasy-guice applications fail to deploy because of a java.lang.SecurityException. An error message similar to the following is displayed:
java.lang.SecurityException: class "org.jboss.resteasy.examples.guice.hello.DefaultGreeter$$FastClassByGuice$$70fd68d0"'s signer information does not match signer information of other classes in the same package
This occurs because the cglib.jar in JBoss Enterprise Application Platform is signed, and the cglib-instrumented proxy uses the cglib.jar signer information instead of the signer information of the application target class.
JBPAPP-4995
The TwitterClient example is deprecated in RESTEasy 1.2.x due to Twitter deprecating the Basic Authentication method in August 2010. All applications must now use OAuth. RESTEasy 2.x contains a reworked TwitterClient example that includes OAuth. Download the example from RESTEasy 2.x for testing purposes.
JBPAPP-5038
The jettison.jar file is not included in the jboss-eap-5.1/resteasy/lib directory of jboss-eap-noauth-5.1.0.CR3.zip. To work around this issue, use the jettison.jar file included in the Seam distribution, jboss-eap-5.1.1/seam/lib/jettison.jar.

Scripts

JBPAPP-5003
The script jboss_init_redhat.sh has been removed from distribution. Instead, use your own script to customize start-up of the Enterprise Platform.

Seam

JBPAPP-5039
An incompatibility with Microsoft Internet Explorer 8 and the Seam Tasks Example resulted in text appended to a task being represented as a blank line in the task list. There is no work-around to this issue.
JBPAPP-6366
Some examples included in the jboss-seam2-examples distribution are designed to showcase functionality of the JBoss Enterprise Application Platform server. Those examples that require a full Application Platform server will not run on a JBoss Enterprise Web Platform server.

TCK

JBPAPP-3929
When java.sql.Date.valueOf attempts to parse dates of the format yyyy-mm-dd, the TCK test threw a java.lang.IllegalArgumentException. This was due to a regression in the latest Sun JVM, Sun JDK 1.6.0_24 (see http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6898593 for more information). The workaround for this issue is to downgrade to Sun JDK 1.6.0_17.

Varia

JBPAPP-4912
A NullPointerException was thrown when a datasource depended upon by a webapp was restarted. The error has been changed to an IllegalStateException, which returns "WebModules cannot be restarted, and must be redeployed".