6. Changes in this release

6.1. Bug Fixes

Apache Server (httpd) and Connectors

900363 - JK Status Manager does not work

Apache mod_jk includes a status manager API. When operations were run with it, the changes were not applied, whether initiated via the API or the JK Status Manager web interface. This was due to an error with shared memory synchronization. The root cause has now been fixed so that operations using the status manager now perform as expected.

Clustering

900392 - Singleton Service could fail with "IllegalStateException: JBAS010350: Expected result from singleton provider only, but instead received 0 results"

The SingletonService sometimes failed with the following output in the log:
    IllegalStateException: JBAS010350: Expected result from singleton provider only, but instead received 0 results

The error occurred in the getValueRef method and was triggered when a view change occurred because the old master node was stopping and the new one was still starting. To resolve this, getValueRef has been changed to retry if no results are returned. The SingletonService now performs as expected.
920367 - ClusteredSingleSignOn ClassCastException with non-distributable apps
901028 - CLONE AS7-5688 ISPN000136: Execution error: java.lang.NullPointerException -> JBAS018079: Failed to passivate session
947420 - Unable to acquire lock after [0 milliseconds] with session passivation on

Consoles

900849 - EAP6 CLI error when data is over 64k

Any CLI command which returned a String that was over 65535 characters in length would fail with the following error:
Communication error: java.util.concurrent.ExecutionException: Operation failed

This was caused by the use of the java.io.DataOutput.writeUTF() method in the JBoss DMR library. This method throws a UTFDataFormatException if the string being processed is over 65535 characters in length. The JBoss DMR library was been updated to use an alternative technique to correctly process strings over this length. Any CLI command which returns a string over 65535 characters in length now performs as expected.

EJB

957171 - Client does not retry the invocation if a node is shutting down or undeploying and an EJB invocation reach the node in that state
955506 - Connections not registered correctly for inner TX when Outer TX is suspended,
928922 - [AS7-6526] It is difficult to identify an EJB Timer with the logged timer-id, especially if it is non persistent
901203 - Remote EJB invocations are read/written out one byte at a time

HornetQ

900359 - CLONE - Create subsystem for JMS bridge
901137 - Server cannot be shutdowned gracefully when reconnect-attempts is set to -1
901177 - HornetQ does not delete message from queue when the message is rolled back and the DLQ is not present
913507 - OutOfMemory in SpecJMS2007 satellite driver

When NIO was enabled on a connector and a very high number of threads was active, an OutOfMemory error could occur. This occurred because NioWorker was not shutdown correctly and so the threads and the memory they were using was not released. The underlying problem with thread handling has been corrected, reducing the risk of an OutOfMemory error.

It is recommended that the parameter "use-nio-global-worker-pool" be enabled to minimize the risk of an OutOfMemory error. An example connector configuration is as follows:
<netty-connector name="netty" socket-binding="messaging">
   <param key="use-nio" value="true"/>
   <param key="use-nio-global-worker-pool" value="true"/>
</netty-connector>

NIO connectors are not supported on JBoss EAP 6.
919446 - Replicated journal - Running out of disk space after continuous backup/live switching.

JSF

957838 - An exception "java.io.NotActiveException: Fields were never written" occurs when FacesMessage object is serialized in JBoss EAP 6.

The deserialization of FacesMessage objects would throw an exception ( java.io.NotActiveException) in some circumstances. This occurred because the ObjectOutputStream's defaultWriteObject() or writeFields() methods were not invoked during serialization as required by the JSF specification. These methods are now correctly called during serialization and the deserialization of FacesMessage objects now works as expected.
901266 - @PreDestroy not called on view scoped managed bean

The memory used by JSF ViewScoped beans was not being reclaimed in some circumstances, resulting in the memory used by the application server increasing over time (a "memory leak"). This was because the @PreDetroy method of these beans was not being called when their sessions expired. The JavaServer Faces implementation in JBoss Enterprise Application Platform 6 has been updated to Mojarra 2.1.16 which resolves this issue. When session expiration occurs, the @PreDestroy method each of ViewScoped managed bean is now invoked correctly and the resources allocated to each bean is reclaimed.

Scripts and Commands

900518 - Jdr script utility isn't able to connect to localhost:9990 at all

Security

910322 - Cannot add security role to security-setting using CLI

When adding a security-role using the CLI or API, it was required that the user specify both the roles that it should have, and all the roles that it should not. This was because the :add operation for this resource did not have default values for these parameters. These parameters now default to false. Adding a role now only requires that you specify the roles that the security-role must have by setting them to true. All other roles default to false.

Web

901061 - Need similar "DeleteWorkDirOnContextDestroy" configuration in EAP 6 Web Subsystem

JBoss Enterprise Application Platform 6 did not recompile source JSPs on redeployment unless they were newer than the associated java or class files. Earlier versions of JBoss Enterprise Application Platform 6 did not contain the code to remove the java and class files on undeployment. This meant that if a user attempted to restore sources from an older version of a webapp, the .java and .class files were not removed which prevented the JSPs from being recompiled. The corresponding code has now been added to JBoss Enterprise Application Platform 6 and can be activated through the system property org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY. The default for this property is false. JBoss Enterprise Application Platform 6 users can now use this property to remove .java and .class files to ensure that JSP sources are recompiled.
905165 - Method expression parameters causes NPE/MethodNotFoundException

An Expression Language (EL) method in a JSF page with any arguments set to the value of null cause an exception (NullPointerException) to be thrown when invoked. This occurred because the JBoss Web EL parser did not handle the case of an argument being a null value. JBoss Web has been updated to properly handle null values in method expressions. Invoking an EL methods with a null parameter now performs as expected.