-
Language:
English
-
Language:
English
Release Notes 6.0.1
JBoss Enterprise Application Platform 6
New Features, Known Issues, and Support Information for JBoss Enterprise Application Platform 6.0.1
Abstract
Release notes for the JBoss Enterprise Application Platform 6.0.1 General Availability release, including new features, resolved issues, supported and unsupported configurations, and known issues.
1. Introduction
Welcome to JBoss Enterprise Application Platform 6. As you become familiar with the newest version of JBoss Enterprise Application Platform, these Release Notes provide you with information about new features, newly-resolved issues, and known issues. Use this document in conjunction with the entire JBoss Enterprise Application Platform 6 suite of documentation, available at http://docs.redhat.com/.
1.1. Providing Feedback
To provide feedback on this document, file a bug at https://bugzilla.redhat.com, using product
JBoss Enterprise Application Platform
, version 6.0
, and component documentation-6.0.1_Release_Notes
. For your convenience, you can use the following URL, which fills in the product, version, and component automatically: https://bugzilla.redhat.com/enter_bug.cgi?component=doc%20-%20release%20notes&product=JBoss%20Enterprise%20Application%20Platform%206&version=6.0.1
1.2. Overview
JBoss Enterprise Application Platform 6 is Red Hat's response to significant changes in the way organizations develop and deploy enterprise applications. As organizations seek to lower operational costs and reduce time to market for new applications, JBoss Enterprise Application Platform 6 has been rebuilt for a vision of the future, boasting an innovative modular, cloudy-ready architecture, powerful management and automation, and world class developer productivity.
JBoss Enterprise Application Platform 6 is Java EE 6 certified and features powerful yet flexible management, improved performance and scalability, and many new features to improve developer productivity. All with Red Hat's market-leading reputation for certification and support, ensuring your administration and development needs continue to drive forward into the future and beyond.
2. Unsupported Features
Some configurations that worked for JBoss Enterprise Application Platform 5 are no longer supported. Please review them.
- Infinispan API
- The direct use of the Infinispan API is not supported in JBoss Enterprise Application Platform 6. Infinispan is used as an implementation detail for various clustering technologies internal to JBoss Enterprise Application Platform. The API's module.xml incorrectly indicates that direct use is possible, even though this is not the case. This will be fixed in a future release. Direct use of the Infinispan API requires a subscription to JBoss Data Grid.
- IPv6 Limitations of JDK 6
- The following IPv6 limitations are caused by JDK 6, and are not defects in JBoss Enterprise Application Platform 6.
- On Microsoft Windows Server, JDK 6 has only a partial IPv6 implementation. This implementation is not sufficient to run JBoss Enterprise Application Platform 6. Full IPv6 support on Microsoft Windows Server requires JDK 7.
- On Red Hat Enterprise Linux, a bug in Oracle JDK 6 means that any address specified on a client (the network point establishing the connection) which contains a
zone-id
will fail. To use azone-id
, either upgrade to JDK 7, or use IcedTea/OpenJDK 6, which is available for Red Hat Enterprise Linux, and does not exhibit this bug. For more information about the bug, refer to http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6800096 and https://issues.jboss.org/browse/JBPAPP-8833.
- JPA 2.0 Context Propagation Outside of a JTA Transaction
- Hibernate's JPA implementation did not adhere to JPA 2.0 standards in that previously, an extended persistence context could be propagated outside a JTA transaction. This has been fixed, and Hibernate now complies with the specification. If your application uses an extended persistence context (XPC) to allow queuing or batching of data modifications, you may need to make changes to your application. Refer to the JBoss Enterprise Application Platform 6 Migration Guide for instructions on updating your application.For more information about this decision, refer to https://issues.jboss.org/browse/AS7-1663.
- PicketLink IDM
- The PicketLink IDM (Identity Managment) is not supported in JBoss Enterprise Application Platform 6.
- PicketLink STS
- PicketLink STS (Security Token Service) is not supported in JBoss Enterprise Application Platform 6.
- Tanuki Service Wrapper
- The Tanuki Service Wrapper is not supported with JBoss Enterprise Application Platform 6. More information can be found at https://issues.jboss.org/browse/JBPAPP-8651.
- XA Recovery on Microsoft SQL Server 2008
- XA recovery does not work with Microsoft SQL Server 2008. For more information refer to the following URLs:
3. Features Provided as Tech Preview Only
The following configurations and features are known to have issues and are provided as tech previews only. They are not supported in a production environment.
- JBoss OSGi
- JBoss OSGi, an implementation of the OSGi specification, is provided as a technology preview only.
- WS-AT/XA Bridge
- The WS-AT/XA transaction bridge functionality is provided as a technology preview only, and is not supported in a production environment.
4. Components
The JBoss Enterprise Application Platform 6 component matrix is available at the following location: https://access.redhat.com/knowledge/articles/112673 .
5. Resolved Issues
- JBPAPP6-1069 - CLONE - CDI, Unsatisfied dependencies for generic type arrays
GenericArrayTypeImpl
lacked an implementation of thehashCode
andequals
methods. This meant that the injection points were not matched with the producers for generic type arrays. An implementation of these methods has been provided in theGenericArrayTypeImpl
, and generic type array injections now work as expected.- JBPAPP6-1059 - Memory leak due to JSF
- A faulty JSF patch caused InitFacesContext to not get cleared from the ThreadLocal. This issue has been fixed by a JSF upgrade.
- JBPAPP6-1044 - Create version.txt File in the Root Directory of the EAP Install
- A
version.txt
file is now included in the installation directory of JBoss Enterprise Application Platform 6. This file includes the following string for version 6.0.1: JBoss Enterprise Application Platform - Version 6.0.1 GAThis file can be used by administrators or scripts to determine the version of the platform which is installed on a given system. - JBPAPP6-1025 - CLONE - Weld - Deadlock between SFSB Synchronization lock and Weld AbstractContext session context lock
- If a stateful session bean contained a producer method there was the potential for a deadlock between the stateful session bean synchronization lock and the Weld AbstractContext session context lock. Both locks would remain until the session bean lock timeout expired, throwing an timeout exception (
javax.ejb.ConcurrentAccessTimeoutException
). The Weld component has been updated to deal with this scenario. This potential dead lock state can no longer occur. - JBPAPP6-1012 - JRE-provided services are not available to deployments
- META-INF resources provided by the JRE could not be seen by other modules or deployments, resulting in failure to find implementations for javax.print.PrintServiceLookup and other services. These resources are now exported and are available to other modules and deployments.
- JBPAPP6-1009 - CLONE - Weld - Long running producer called multiple times in the same context
- The AbstractSessionBeanStore incorrectly assumed that the underlying HttpSession attributes couldn't change. When there were two concurrent requests in the same session that caused a session-scoped instance to be produced, the AbstractContext creation lock correctly blocked the second request from calling the producer a second time. However, a check that was supposed to tell if an instance had already been produced while waiting on the creation lock would fail because of the erroneous assumption in the AbstractSessionBeanStore. This caused the producer to be called a second time. AbstractSessionBeanStore has now been fixed to look inside the HttpSession attributes if an instance cannot be found in the thread-local store.
- JBPAPP6-994 - OSGI logging doesn't print I18N messages
- The logging subsystem did not print some internationalized messages in system locale, but printed English messages when the server was started using non-English locales. This has been resolved by an upgrade to the logging subsystem, and log messages now appear in the appropriate language for the locale.
- JBPAPP6-952 - CLI: unable to specify command arguments to echo-dmr command
- It was not possible to specify command arguments when using the
echo-dmr
command in the management CLI, if the arguments contained a double-dash (--
) sequence. This prevented the user from using arguments such as--all-server-groups
. This was fixed by modifying the way the command arguments were parsed, and all appropriate arguments now work as expected. - JBPAPP6-942 - Messages not support JBoss Logging
- Some log messages produced by different components were localized. This was because they did not support JBoss Logging. These components have been updated to support JBoss Logging. These log messages are now localized.
- JBPAPP6-925 - CLONE - Weld - Deadlock between Weld AbstractContext session/application contexts creationLock
- A possible deadlock could occur between the Weld AbstractContext session and an application context's creationLock if two requests in the same session were run, and a bean instance was produced inside a different-scoped producer. The per context creation lock in AbstractContext has been replaced by a more fine-grained per bean-id creation lock in the bean store. A deadlock will no longer occur.
- JBPAPP6-920 - Apps are not deployed after EAP 6 restart in standalone profile
- Previously deployed zipped or exploded archives were not redeploying at server startup if the corresponding deployment scanner property (
auto-deploy-zipped
orauto-deploy-exploded
) was set to true. Before each scan, the deployment scanner now ensures that the appropriate deployment markers exist for each already deployed archive that requires them. All previously deployed archives now deploy at server startup as expected. - JBPAPP6-919 - CLI usability: datasource command does not report that the disable operation was not executed as it requires restart
- When using the management CLI script, running
data-source disable
did not report that a restart would be required before it took effect. This has been resolved in JBoss Enterprise Application Platform 6.0.1, and the user is now advised to restart the instance after running the command. - JBPAPP6-904 - Properties files with translations for supported languages missing
- Some log messages were missing translations for German, Spanish, French, Japanese, Portuguese Brazilian and Simplified Chinese. This meant that those log messages would always be displayed in English. The translation properties files for those languages and log messages have been updated. Those log messages now display in the appropriate language.
- JBPAPP6-894 - Error messages Id ranges overlaps
- Some subsystems where creating log messages using IDs that assigned to other subsystems. This could create confusion in situations where the IDs were being relied upon to understand the messages. An example of this situation would be when dealing with messages that had been localized in a language you were not familiar with. These subsystems have been updated to only use their assigned IDs and this confusion can no longer occur.
- JBPAPP6-878 - A new pooled connection factory in messaging subsystem always has transaction mode xa
- In some cases, new pooled connection factories were being created with the transaction mode of
xa
regardless of the configured value. This was caused by the messaging subsystem parser setting the transaction type based on a comparison of the passed value to the types it expected. This meant that a number of valid values were being disregarded and the type defaulted toxa
. The message subsystem parser has been updated to use the supplied value. New pooled connection factories are now created with the specified transaction mode in all cases. - JBPAPP6-870 - Logging subsystem should not allow assigning an async-handler as a sub-handler to itself
- When configuring an asynchronous log handler, it was possible to add an asynchronous log handler to itself as one of its own sub-handlers. This created a circular dependency and should not have been possible. This type of configuration would lead to a fatal error at server launch. The logging subsystem has been updated to prevent this type of configuration from being created. Attempting to add an asynchronous log handler to itself as one of its own sub-handlers will now fail with the error message "Cannot add handler HANDLER_NAME to itself".
- JBPAPP6-964 - AS7-4900: Re-creating a logging handler fails with message "JBAS014749: Operation handler failed: null"
- Previously, if you created a log handler from the Management CLI using the :add operation, removed it using the :remove operation, and then added it again, the second add operation would fail with the message "JBAS014749: Operation handler failed: null". The logging subsystem has been updated to correctly handle this situation. Log handlers can now be added, removed and re-added without error.
Build
- JBPAPP6-1099 - RPM - /etc/init.d/jbossas-domain script should allow a host configuration file to specified
- A RPM install of JBoss Enterprise Application Platform 6 includes the file
/etc/init.d/jbossas-domain
, which allows configuration of a domain to be started on a Red Hat Enterprise Linux server. This file now allows a host configuration file to be specified, to customize the behavior of the host controller which is part of a JBoss Enterprise Application Platform instance. To specify the host configuration file, use theJBOSS_HOST_CONFIG
variable in the file. - JBPAPP6-1034 - Init script: jboss restart fails with busy port 8080
- If a browser, for example the Administration Console, is still connected when the application server is stopped, the client connection can still be around for a short time in a TIME_WAIT state. In this situation, the application server start script detected both listening and established connections, resulting in a failure to restart the application server because port 8080 was busy. The startup script has been modified to ignore established connections and detect only clients that are listening to port 8080.
- JBPAPP6-1014 - EAP6 RPM (RHEA-2012:12461) - contains both signed and unsigned version of the jar
- Previously, the JBoss Enterprise Application Platform 6 RPM packages included both signed and unsigned JARs although the signed JARs were not supported. The signed JARs have been removed from the RPM packages in this release. The RPMs now only include the supported unsigned JARs.
- JBPAPP6-957 - Compilation failure on IBM JDK due to XSLT parsing error - "illegal attribute 'copy-namespaces'"
- When building JBoss Enterprise Application Platform 6.0.0 from source, using IBM JDK, the following error occurred:
[ERROR] Failed to execute goal org.codehaus.mojo:xml-maven-plugin:1.0-redhat-1:transform (ts.config-as.trace-logging) on project jboss-as-testsuite: Failed to parse stylesheet javax.xml.transform.sax.SAXSource@7e787e78: com.ibm.xtq.xslt.jaxp.HandledRuntimeException: [ERR 0512] Cannot continue because of stylesheet errors. -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal
This was caused by the following code which was used in the XSLT:<xsl:copy copy-namespaces="...">
This code is only compatible with XSLT 2.0, but IBM JDK's XSLT engine only supports XSLT 1.0. This parameter was only used for cosmetic purposes, and has been removed. The error no longer occurs, and it is possible to compile JBoss Enterprise Application Platform 6.0.1 from source using IBM JDK.
Clustering
- JBPAPP6-1418 - CLONE - Shutdown in REPL SYNC results in TimeoutException: Unable to acquire lock after
- A
TimeoutException
with the messageUnable to acquire lock
could sometimes occur during node shutdown when using REPL SYNC cache mode. This occurred because commits were sent asynchronously regardless of cache mode. Therefore, request for a given session could return before the cache operation completed. A subsequent request could be received by a different server, since requests to a server which is shutting down are redirected to a different node. The lock acquisition for that session could contend with lock acquisition by the original node's commit. Commits are now done synchronously so there should not be any issues acquiring locks. - JBPAPP6-1397 - NotSerializableException: org.infinispan.loaders.bucket.Bucket on undeploying application
- Un-deploying an application from one node in a cluster could result in
NotSerializableException
exceptions. This was due to a race condition between the shutdown of the web deployment (including the session manager) and the stopping of the dependentDistributedCacheManagerFactory
, which depends on the cache container. The cache container stopped while the web session cache was in the process of stopping and the externalizer on which it depended suddenly became null, causing theNotSerializableException
. This has been resolved by upgrading the Infinispan component, and the exception no longer occurs. - JBPAPP6-1349 - CLONE - Occurrences of "Exception acquiring ownership of X (via SharedLocalYieldingClusterLockManager)"
- An exception sometimes occurred during shutdown of a cluster node when using DIST SYNC cache mode, or during a node crash when using REPL SYNC cache mode. This occurred because two threads were competing for the same lock on the key. The threads will now retry once in order to avoid the exception.
- JBPAPP6-1147 - Sessions sometimes fail to passivate with unable to acquire lock after with 0 milliseconds timeout
- Sessions sometimes fail to passivate with the following log message:
Execution error: org.infinispan.util.concurrent.TimeoutException: Unable to acquire lock after [0 milliseconds] on key [ULshl+wHh0iUAr33vnqM2H8E] for requestor [Thread[ContainerBackgroundProcessor[StandardEngine[jboss.web]],5,main]]!
This was due to a local contention which could occur between a writer thread and the eviction thread.Because eviction is a non-critical operation, the code has been updated to retry on the writer thread and to fail silently on the eviction thread. Now in the same scenario, the eviction thread will ignore the session, the writer thread's lock acquisition will succeed on the second attempt and the session will passivate successfully. - JBPAPP6-1175 - CLONE - Remote store config errors in AS7
- An error occurred during server start up, when the remote-store was configured. This was caused by errors in the
module.xml
file of the respective module. Themodule.xml
file has been updated, and the remote-store now functions as expected. - JBPAPP6-1067 - SingletonService is not stopped after cluster split/merge
- One instance of SingletonService is intended to run per cluster. If a cluster is split due to networking issues, one instance of the SingletonService would run in each cluster, which caused problems when the split cluster members rejoined the original cluster. The instance run in the non-elected cluster-master node is now deactivated by calling its stop() method, and there is only one active instance.
- JBPAPP6-938 - CLONE - Removing singleton service should also remove child services.
- When a singleton service was redeployed, the deployment would fail because child services that were created automatically during the original deployment were not removed. Now, when a singleton service is removed to prepare for the redeploy, the child services are also removed, resulting in a successful redeployment.
- JBPAPP6-935 - AS7-3180 Clean shutdown often results in "Problems unmarshalling remote command from byte buffer"
- A clean shutdown of JBoss Enterprise Application Platform 6 cluster node would result in several warning messages being logged. The log messages warned of: "Problems unmarshalling remote command from byte buffer: java.lang.NullPointerException" but there was no other effect apart from the log messages. This was due to the some of the components being shutdown in the wrong order. The clustering components have been updated to correct this. A clean shutdown of a JBoss Enterprise Application Platform 6 cluster node no longer causes these warnings to be issued.
- JBPAPP6-900 - WARNING on Starting JGroups Channel "[UNICAST2] (OOB-20,null) perf18/web: my conn_id (0) != received conn_id (4); discarding STABLE message !"
- A warning message could occur in UNICAST(2) during startup, because the unicast connection was torn down while a STABLE message was still in transit. This message could be safely ignored, and the log level has been decreased to removed the warning.
- JBPAPP6-884 - CLONE - Sessions lost on server crash when using DIST SYNC mode (Lock is being held by null)
- In some instances, when a node crashed during a hard kill of the application server, its session was not found in the cache and instead a new session was created. This only occurred when a server was killed, not during a graceful shutdown. This problem is fixed in this release.
- JBPAPP6-883 - NAKACK retransmission for single messages
- When JGroups requests retransmission of missing messages during a
FLUSH_RECONCILE
, it would not complete the request if there was only one missing message, causing theFLUSH_RECONCILE
to fail. JGroups will now request retransmission if there is only one missing message, and theFLUSH_RECONCILE
will successfully complete.
Consoles
- JBPAPP6-1113 - Error adding resource adapter properties in admin console
- When using the management console to add a resource adapter, and then add a connection definition to it, you were given the option to add connection properties in an order that did not make sense. This step has been removed from the wizard, and the process of adding a resource adapter is now streamlined.
- JBPAPP6-951 - CLI --version does not show version
- Running the jboss-cli tool (jboss-cli.sh or jboss-cli.bat) with --version and --connect parameters would not cause the tool to connect to the server and retrieve the release version information (
JBoss AS release
). Instead of the correct release information, theJBoss AS release
field would contain the "<connect to the controller and re-run the version command to see the release info>". The jboss-cli tool has been updated to ensure that it connects to the server when the --version and --connect parameters are used together. Running the jboss-cli tool with only the --version parameter still returns the same information as before because that was correct behavior. However when the --connect parameter is used as well, the tool will now connect to the server and return theJBoss AS release
data. - JBPAPP6-887 - add-user.sh/add-user.bat non-interactive mode cannot redirect output
- When the add-user script redirected the output of the command, for example
./add-user.sh --silent=true user password > log
, it failed with ajava.lang.IllegalStateException: JBAS015232: No java.io.Console available to interact with user
. The code behind this script was using the System.console() API for password hiding, which returns null when it is run non-interactively. The error output is now sent to System.out with allows it to run non-interactively.
EJB
- JBPAPP6-1064 - Regression: EJB remote invocations hang indefinitely due to possible remoting issues
- Remote invocation of an EJB which returned a large object graph could cause a hang which prevented shutdown of the application server. This was due to a configuration error which caused a class that was part of the object graph not to be available in the client's classpath. A ClassNotFound exception was thrown when deserializing. The client would appear to freeze, but could be interrupted by using Ctrl+C. However, the server would deadlock and fail to respond. The only way to shut it down was to kill the process on the operating system level. This configuration error was fixed by an upgrade to the Remoting component, and this error no longer occurs.
Hibernate
- JBPAPP6-1031 - HHH-7568 Add JPA1.0 compound key compatability when ORM descriptor file used to override annotations.
- Property definitions to support applications using JPA1.0 syntax is only supported with annotations. When the annotations were used in conjunction with overriding ORM descriptor files, the annotated compound keys were lost. Added support to keep the annotation-based compound keys, even if overriding ORM descriptor files were used.Also, annotation definitions are currently applied to individual JoinColumn annotations. But the JPA overridden annotation reader does present individual JoinColumn annotation definitions. It groups them together using the JoinColumns annotation descriptor. Updated to allow the group annotation in addition to an individual annotation.
- JBPAPP6-985 - org.hibernate.exception.SQLGrammarException: invalid identifier
- JPA entities that used the
@OrderBy
annotation on joined classes would generated invalid SQL statements. This resulted in exceptions of typeorg.hibernate.exception.SQLGrammarException
being thrown when the code was executed. Hibernate has been updated to correct the SQL generation for this annotation. The@OrderBy
annotation now produces the expectedorder by
SQL statements. - JBPAPP6-901 - ParentAuditing Test in Envers Testsuite fails across all databases with different error messages because Hibernate does not set LockMode correctly
- The
ParentAuditing
test in Hibernate Envers failed across all databases with different messages because theLockMode
was not set correctly. The Hibernate code was updated to fix this issue, and theLockMode
is now set correctly. - JBPAPP6-891 - HHH-6960 NullPointerException in PreCollectionRemove Listener
- If collection removal actions were added by the
DefaultAutoFlushEventListener.onAutoFlush()
method, they need to be removed if the flush is not actually needed, because no updates involve the specified query spaces. A fix to the bugHHH-6862
introduced a situation where these collection removal actions were no longer removed in this situation. As a result, when the session was flushed, duplicate collection actions were added to the action queue. The first of these actions executed properly, but set the value ofCollectionEntry.loadedPersister
tonull
. If Hibernate Envers was used, the second removal action involving the same collection would fail with aNullPointerException
whenEnversPreCollectionRemoveEventListenerImpl.onPreRemoveCollection()
calledcollectionEntry.getLoadedPersister().isInverse()
. This problem has been fixed, and the duplication and exception no longer occur.
HornetQ
- JBPAPP6-1114 - RemoteConnectionFactory is not found when looking up in a remote client
- Remote clients attempting to perform a lookup for a
RemoteConnectionFactory
would fail if a local client had performed a lookup first. When a local client performed the lookup first the connection factory was initialized in a way that was incompatible with remote clients. It was expected that a local client would not useRemoteConnectionfactory
. This initialization issue has been fixed. Remote client can now performRemoteConnectionFactory
lookups when the connection factory has been initialized by a local client. - JBPAPP6-982 - Increase the of id-cache-size attribute as the default is potentially dangerous when very small messages are used, and the server being killed multiple times until the cache empties
- Previously, sending large volumes of very small messages could result in performance and stability issues in HornetQ. The default value of
id-cache-size
has been increased from 2000 to 20000. This means that reliability has greatly improved in this scenario. - JBPAPP6-967 - Memory leaks when deploying message driven beans
- A small memory leak was identified in the HornetQ component when deploying and undeploying message-driven beans. This was caused by the client session factories created by the HornetQ resource adapter during MDB deployment not being cleaned up properly during undeployment. The HornetQ component has been updated to resolve this issue. This memory leak no longer occurs.
- JBPAPP6-889 - HornetQ cluster is not created when network connection is re-established
- When running Enterprise Application Platform 6 on two different machines in a HornetQ cluster, if the network connection between the machines was lost and later re-established, the cluster node was not created and the cluster connection was not restarted. The topology member is now created and added back to the cluster and the cluster connection is restarted.
Installer
- JBPAPP6-945 - Installer: UI bug : Text fields do not persist the modified data and show blank as user clicks Next ,proceeds then returns back with previous
- In the installation wizard, only a single variable was used to store both the default value displayed by each data entry field and the value entered by the user. If the user clicked "Back" on any stage of the wizard, the fields on the page would reset to the default values and the previously entered value would be lost. An additional variable has been added for each data entry field. The user entered data now correctly persists when the user navigates back and forward through the pages of the installation wizard.
- JBPAPP6-934 - Installer: Contents of bin/client are not being included in the Installer
- The client binaries files (bin/client/) were not installed by the graphical installer. Users that required them needed to download the ZIP installation. The installer has been updated to include these files. The client binaries are now installed when using the graphical installer.
- JBPAPP6-928 - Installer: symlinks to RHEL-provided .so files not created correctly
- Installing using the graphical installer on Red Hat Enterprise Linux 6 did not create the correct symbolic links for the native JBossWeb components. The installer created a text file for each link that contained the link name instead of creating the correct symbolic link. The installer now uses the native unzip utility instead of the Java JAR utility. The symbolic links for the native JBossWeb components are now created correctly when using the graphical installer on Red Hat Enterprise Linux 6.
JCA
- JBPAPP6-944 - It is not possible enable a datasource via CLI
- Datasources could not be enabled via the Management CLI, due to an XML parser error in the default value of the enabled attribute. The error has been corrected, and datasources can now be enabled successfully.
- JBPAPP6-886 - Deployment of multiple .rar's with ironjacamar.xml
- An illegal argument exception would occur when deploying an .EAR with multiple .RARs, which each had an
ironjacammar.xml
file. This was due to registering more than one subdeployment on the same .EAR to expose resource-adapters statistics and operations. A code change was implemented to catch this exception and add the needed tree branch of DMR instead of creating the full tree again. The exception no longer occurs.
JMX
- JBPAPP6-872 - JBoss EAP6.0 GA does not allow adding system property org.apache.tomcat.util.ENABLE_MODELER=true
- When enabled, the system property
org.apache.tomcat.util.ENABLE_MODELER
was causing an error that prevented JBoss Enterprise Application Platform 6 from booting. This was because the name of the connector was not consistent with JMX naming requirements. The name of the connector has been changed, and the property now performs as expected.
JPA
- JBPAPP6-1051 - Add support for @PersistenceContexts and @PersistenceUnits
- Previously, there was no included annotation support for
javax.persistence.PersistenceContexts
andjavax.persistence.PersistenceUnits
. They could be configured in theejb-jar.xml
deployment descriptor but not as annotations. Support for these annotations has been added. The@PersistenceContexts
and@PersistenceUnits
annotations can now be used. - JBPAPP6-899 - PersistenceUnitSearch violates the JPA spec
- An EAR deployment with multiple EJB JARs, each with their own persistence units, would fail to deploy if one of them contained an enterprise bean that referenced an EntityManager without specifying the persistence unit name. This deployment would fail with the error:
"Persistence unitName was not specified and there are 2 persistence unit definitions in application deployment "application-name.ear". Either change the application to have only one persistence unit definition or specify the unitName for each reference to a persistence unit."
The JPA PersistenceUnitSearch class has been updated to implement the correct behavior according to the JPA specification. References to EntityManagers using @PersistenceContext that do not explicitly define a unitName now default to the PersistenceUnit that is defined in the same deployment.
Maven Repository
- JBPAPP6-1096 - jbosgi-spi-3.1.0.Final-redhat-1.pom has a dependency on args4j which is not part of the Repository.
- The
jbosgi-spi-3.1.0.Final-redhat-1.pom
Maven artifact which was shipped with JBoss Enterprise Application Platform 6 has a dependency onargs4j
. However, this package was missing from the Maven repository which shipped with JBoss Enterprise Application Platform 6. This made building applications without a connection to an external repository difficult. This dependency has been satisfied in the Maven repository which is included with JBoss Enterprise Application Platform 6.0.1.
Microcontainer and Deployers
- JBPAPP6-950 - Ear with <library-directory>/<library-directory> does not work, but no errors reported
- If an EAR archive had its library-directory property set to the archive root ("/" or ".") or if subdeployment were placed into the otherwise correctly configured library directory then the subdeployments were treated as both library JARs and as deployments. This prevented the EAR deployment from working correctly. An EAR with this configuration would be deployed without error but would not work as expected. Those two scenarios are considered invalid and are now checked for when deploying EAR archives. EAR archives with the library-directory set to the archive root ("/" or ".") or with a sub-deployment within the library directory will now fail to deploy and an error message is logged.
Remoting
- JBPAPP6-1644 - CLONE - Subsequent create/close of javax.naming.Context leads to IllegalStateException
- If a remote client attempted to create and close
javax.naming.Context
multiple times in rapid succession an exception of typeIllegalStateException
was thrown. This was caused by an issue in XNIO where it would not always correctly detect when a channel had been closed. The included version of XNIO has been updated to resolve this. The rapid creation and closure ofjavax.naming.Context
multiple times by a remote client now performs as expected. - JBPAPP6-1011 - JConsole hangs when we try to access EAP6.0.0 in domain mode via Remoting Port
- There was an issue where CLI integration with JConsole attempted to connect to a non-existent Remoting endpoint, but Remoting did not send back any error to report the non-existence. This caused JConsole to hang without connecting to the JBoss instance. This issue has been fixed in the latest release.
Scripts and Commands
- JBPAPP6-1087 - Some script utilities don't work correctly on Windows, if $JBOSS_HOME or $JAVA_HOME variables contain space symbols
- Running the
vault.bat
andjconsole.bat
scripts on Microsoft Windows would fail if JBoss Enterprise Application Platform 6 or the Java Virtual Machine were installed in directories that contained spaces in their paths. The scripts would fail to launch correctly and returned several "Path not found" error messages. These two scripts have been updated to correctly deal with paths containing spaces. Thevault.bat
andjconsole.bat
scripts now run correctly when the installation paths include spaces. - JBPAPP6-962 - Parameter -server is not added for PC and HC when running on IBM JDK 6 and 7
- When using the IBM JDK version 6 or 7, the
-server
parameter was not added to the process controller or host controller commands, when using a managed domain. The error was found in thedomain.sh
script, starting at line 76. The-server
parameter is now added correctly in thedomain.sh
script.
Security
- JBPAPP6-1027 - tmp/auth/ challenge files are not deleted when access is via a remote client.
- Previously, each unsuccessful attempt to connect to JBoss Enterprise Application Platform 6 using the
JBOSS_LOCAL_USER SASL
mechanism was leaving a generated token file in thetmp/auth
directory. Only a successful login attempt would remove its token file after use. A large number of failed login attempts over time with this mechanism could result in the host machine running out of disk space. The token file is now deleted from the file system regardless of whether the authentication attempt succeeds or fails. A failed login attempt using theJBOSS_LOCAL_USER SASL
mechanism no longer leaves an unused token file. - JBPAPP6-956 - JACC permissions are not created for application packaged in EAR deployments
- Even when standalone WAR and EJB3 applications had their JACC permissions configured correctly, the
JaccService
did not generate the permissions when the applications were packaged in EAR deployments. This was caused by a bug in code of thecreatePermissions
method during policy configuration, and has been resolved for JBoss Enterprise Application Platform 6.0.1. - JBPAPP6-932 - Unable to use Krb5LoginModule from IBM JDK, because of missing jboss-negotiation module dependency
- A missing
jboss-negotiation
module dependency prevented the use ofKrb5LoginModule
with the IBM JDK. A new module,ibm.jdk
, has been added that contains all required IBM paths.Krb5LoginModule
now works successfully with the IBM JDK.
Web
- JBPAPP6-923 - [EAP 6.0.0] Unable to not set key-alias for ssl
- There was previously a known issue where, when running in FIPS mode the key-alias had a default value of 'jboss'. This triggered exceptions when non FIPS compliant key managers were used. This issue has been resolved.Now, if your configuration file uses the 1.0 or 1.1 XSD schema for the web subsystem and doesn't specify a key-alias, EAP will manually add "jboss" as the key-alias. When the configuration persists following any subsequent change, the schema version of the subsystem will be changed to 1.2 but key-alias="jboss" will be written to the file. If the configuration file uses the 1.2 schema version and doesn't specify a key-alias, no key alias will be used.This behavior preserves compatibility with previous releases (an old configuration will not suddenly have a change in behavior when an upgrade to 6.0.1 is done) while providing the desired behavior going forward.
- JBPAPP6-896 - FacesContext.getCurrentInstance returns external context from a different deployment during application startup
- In some situations, the
FaceContext.getCurrentInstance()
method call from aServletContextListener
during application startup returned the external context from a different deployment. This was caused by a failure to properly clean up theFacesContext
that was held in a ThreadLocal, allowing a JSF WAR to gain access to another WAR's resources. Additional tracking and cleaning of theInitFacesContext
references has been added, so that another deployment reusing the same thread won't get references belonging to the previous deployment.
Web Services
- JBPAPP6-968 - JBossWS-CXF: back port the fix of OneWay faultTo request is not correctly transmitted to the specified address
- An error occurred during OneWay faultTo requests, as the requests were not transmitted to the specified address. This was because of an issue in the request path code. The request path has now been corrected, and OneWay faultTo requests now perform as expected.
- JBPAPP6-867 - Need additional dependencies in jbossws-cxf-client module
- Some web service dependencies were missing from the
org.jboss.ws.cxf.jbossws-cxf-client
module that resulted injava.lang.Linkage ClassCastExceptions
when running a standalone client using thejboss-modules.jar
. The required dependencies were added to the module definition to resolve this issue.
6. Known Issues
- JBPAPP6-1680 - Usage of finalize() needs extra guards on IBM JDK
- JBoss Enterprise Application Platform 6 can experience intermittent failures when running on the IBM JDK 6 and 7. This is because the IBM garbage collector is much more aggressive than that of other JVMs. This can sometimes result in memory being reclaimed in situations that were unanticipated and did not manifest when testing on other JVMs.Until this issue is resolved Red Hat recommends not using the IBM JDK 6 or 7 to run JBoss Enterprise Application Platform 6.
- JBPAPP6-1701 - Installer rejects valid maven repo as invalid when option to select maven repo with artifacts for building eap is selected for installing quickstarts
- When using the Installer, performing the Maven configuration step for the Quick Starts will always fail. The error message displayed is "The given path either isn't a maven-repository, or does not contain the required artefacts". As a result it is not possible to configure the user's Maven settings to use the specified repository with the GUI Installer. In this release, this step must be done manually. Refer to the developer guide for more information.
- JBPAPP6-1533 - SystemMemoryUsageLoadMetric is not correct on Linux/Unix
- The
SystemMemoryUsageLoadMetric
does not show useful information on Linux or UNIX operating systems. For these systems,HeapMemoryUsageLoadMetric
provides more useful information. The solution to this problem will be to change the algorithm ofSystemMemoryUsageLoadMetric
to subtract thebuffers/cache
value from theused
number. The best method for doing this is under investigation. - JBPAPP6-1500 - [AS7-4981]Server instance cannot start after host-controller and server instance processes are killed at once in domain mode
- If a host-controller and server-instance processes of a domain mode server are killed at the same time, the host-controller restarts successfully but the server instance fails. Attempting to start the server instance manually will also fail. These failures are recorded in the server logs. It is necessary to stop and restart the server entirely in this scenario.
Apache Server (httpd) and Connectors
- JBPAPP6-1260 - JK Status Manager does not work
- Apache mod_jk includes a status manager API. When operations are run with it, the changes are not applied, whether initiated via the API or the JK Status Manager web interface. This is due to an error with shared memory synchronization.
- JBPAPP6-1392 - APR natives are not being loaded if UAC is in place (Windows Server 2008 R2)
- On Windows servers, Apache portable runtime (APR) libraries will fail to load unless a user with administration rights is being used with User Account Control (UAC) disabled.
- JBPAPP6-1378 - CLONE - Apache with mod_cluster refuses to start (create_mem_node)
- On Windows servers, Apache with
mod_cluster
in JBoss Enterprise Application Platform 6 can only be started if the following conditions are met:- The user must have administration rights.
- User Account Control (UAC) must be disabled.
- JBPAPP6-1417 - httpd: libaprutil-1.so.0: file too short
- Apache portable runtime (APR) binaries are not natively packaged as part of JBoss Enterprise Application Platform, or JBoss Enterprise Web Server, for Red Hat Enterprise Linux. Symbolic links are used to reference the base Red Hat Enterprise Linux libraries. This can result in an issue with unresolvable symlinks when trying to use APR binaries if the following packages are not installed:
apr
,apr-util
,apr-devel
,apr-util-devel
.The fix for this issue will be shipped with the Red Hat Enterprise Linux APR update against the Bugzilla link referenced in the JIRA.
Clustering
- JBPAPP6-1326 - CDI beans with SET replication trigger are not replicating
- Due to a bug in the Weld component, the
setAttribute
method is not called correctly. This causes CDI beans with theSET
replication trigger to fail to be replicated. The workaround is to use theSET_AND_NON_PRIMITIVE_GET
trigger for these beans. This will be fixed in a future release. - JBPAPP6-1408 - CLONE - Singleton Service fails on Windows with "IllegalStateException: JBAS010350: Expected result from singleton provider only, but instead received 0 results"
- An error like the following can be seen on Microsoft Windows:
IllegalStateException: JBAS010350: Expected result from singleton provider only, but instead received 0 results
This issue is under investigation and seems to be due to timing. The fix will be to make thegetValueRef
method retry if the new master has not yet been notified. Until this fix is in place, the workaround is to add aThread.sleep()
call to your code to delay thegetValueRef()
call. - JBPAPP6-1405 - Property substitution breaks when the string "localhost" is used as part of the default value
- Property substitution does not work correctly when the string
"localhost"
was used as part of a default value in the JGroups subsystem configuration. Property substitution is a feature provided for JBoss Enterprise Application Platform 6 subsystems. However not all subsystems have it enabled, and some subsystems (like JGroups) actually do some of their own substitution. However this behavior is not standardized and differs from the supported subsystem properties. Red Hat recommends not to use property substitution with the JGroups subsystem until this issue is resolved. - JBPAPP6-1315 - CLONE - Sessions lost on server shutdown using DIST ASYNC
- In some situations, clustered sessions are lost when a server shuts down when using
DIST ASYNC
cache mode. The cause of this issue is still under investigation. - JBPAPP6-1303 - CLONE - Stale session data received when using DIST SYNC on node shutdown
- During testing, a few cases showed that stale session data was received when a node shut down and
DIST SYNC
orDIST ASYNC
cache mode was used. This issue is still under investigation. - JBPAPP6-1169 - transient "WeldListener: java.lang.NullPointerException" with clustering and session replication
- A
WeldListener: java.lang.NullPointerException
is thrown occasionally when using session passivation. The client receives a HTTP response503
, along with the exception text. The cause of this bug is under investigation.
EJB
- JBPAPP6-1322 - Remote EJB NoSuchEJBException with REPL SYNC replication
- A
NoSuchEJBException
can occur when using clustered remote EJBs with sync replication. The stateful session bean cache is lost and the client does not receive a valid reply. The cause of this issue is under investigation. - JBPAPP6-1423 - CLONE - Extremely slow response times in Remote EJB invocation on cluster membership change
- On server shutdown or crash, membership changes can take up to one minute to complete. This issue is currently under investigation.
Consoles
- JBPAPP6-1341 - EAP6 CLI error when data is over 64k
- There is a known issue where any command that returns a String converted to UTF-8 that is over 64k is aborted with an error. The root cause of this is only logged at the debug level in
server.log
. This issue occurs inorg.jboss.dmr.StringModelValue.writeExternal(StringModelValue.java:46)
and is a limitation of theDataOutput.writeUTF(String)
method. The issue is currently under investigation.
Hibernate
- JBPAPP6-1487 - HHH-7287 Problem in caching proper natural-id-values when obtaining result by naturalIdQuery using NaturalIdLoadAccess
- NaturalIdLoadAccess behaves inconsistently when trying to load entities from the Level Two(L2) Cache after an update of their natural-id values from a non-transactional scenario.Hibernate currently does not support proper L2 caching of entities with natural IDs in scenarios where there is a mix of transactional and non-transactional access to the database.
HornetQ
- JBPAPP6-1347 - Problem with Netty on IPv6 link-local addresses
- Due to a JDK bug, if you use link local addresses, zone IDs are used to distinguish which interface is chosen. This problem does not affect global addresses. A workaround will be included in a future version of the Netty component.
- JBPAPP6-1522 - CLONE - NPE in ClientSessionFactoryImpl - NettySymmetricClusterWithBackupTest
- When JBoss Enterprise Application Platform 6 is shutdown while there is still messaging activity, HornetQ sometimes logs an error message from a null pointer exception (NullPointerException).
[Thread-9 (HornetQ-server-HornetQServerImpl::server 4-23816361)] 26-Feb 8:28:56,696 WARNING [ServerLocatorImpl] NULL java.lang.NullPointerException at org.hornetq.core.client.impl.ClientSessionFactoryImpl$PingRunnable.send(ClientSessionFactoryImpl.java:1646)
Apart from the log message there are no negative consequences and the cause is being investigated. This can be avoided by ensuring that messaging activity has ceased before commencing server shutdown. - JBPAPP6-1519 - CLONE - NPE in ServerLocatorImpl - ClusterConnectionControlTest
- When JBoss Enterprise Application Platform 6 is shutdown while there is still messaging activity, HornetQ sometimes logs an error message from a null pointer exception (NullPointerException).
[Thread-6 (HornetQ-server-HornetQServerImpl::serverUUID=9660e261-6099-11e1-a8c1-001aa0331a23-4266519)] 26-Feb 11:47:36,738 WARNING [ServerLocatorImpl] NULL java.lang.NullPointerException
Apart from the log message there are no negative consequences and the cause is being investigated. This can be avoided by ensuring that messaging activity has ceased before commencing server shutdown.
IPv6 support
- JBPAPP6-1357 - Opened IPv4 sockets on Windows when server is bound to IPv6
- If JBoss Enterprise Application 6 is started in Microsoft Windows server with the IPv4 stack disabled and the IPv6 stack enabled, IPv4 sockets are still opened. This issue is still under investigation.
- JBPAPP6-1475 - Wrong format of IPv6 addresses in log entries
- IPv6 addresses should be formatted with square brackets ([ and ]) around them, such as in
http://[2620:52:0:105f::ffff:2]:9990
. The brackets are missing in the log files for JBoss Enterprise Application Platform 6. This issue is scheduled to be fixed in a future release.
Scripts and Commands
- JBPAPP6-1379 - Jdr script utility isn't able to connect to localhost:9990 at all
- The following error messages occur in the following contexts if the
clusters-proxy-configuration
is not configured:- Server logs:
Could not query url: http://localhost:9990/management; error: HTTP Error 500: Internal Server Error
- When running the
jdr.sh
script:JBOSS API call failed, falling back to HTTP: Controller Client is not available
These errors are normal, and only indicate that theclusters-proxy-configuration
is not configured. These messages are created because of implementations in the upstreamsosreport
project, and they may be modified or removed in the future.
Web Services
- JBPAPP6-871 - JBossWS-CXF doesn't send fault message to a FaultTo endpoint when request-response message
- If the
FaultTo
element of WS-Addressing is set to a WS client, the WS server does not send fault messages to theFaultTo
destination. However, if theReplyTo
element is set, the WS server does send the responses to the ResponseTo destination. The cause of this issue is still under investigation.
Weld
- JBPAPP6-1664 - ConversationPropagationFilter breaks external redirects
- Weld
ConversationPropagationFilter
incorrectly tries to transform a URL during a programmatic redirect to an external URL. Doing programmatic redirect from a long-running conversation causes an error:java.lang.IllegalArgumentException: Illegal view ID [...]. The ID must begin with /
.
A. Revision History
Revision History | |||||
---|---|---|---|---|---|
Revision 1.0-3.400 | 2013-10-31 | Rüdiger Landmann | |||
| |||||
Revision 1.0-3 | Tue Feb 26 2013 | Darrin Mison | |||
| |||||
Revision 1.0-2 | Fri Dec 21 2012 | Tom Wells | |||
| |||||
Revision 1.0-1 | Tue Dec 18 2012 | Tom Wells | |||
| |||||
Revision 1.0-0 | Mon Dec 17 2012 | Darrin Mison | |||
| |||||
Revision 0.0-10 | Fri Dec 7 2012 | Darrin Mison | |||
| |||||
Revision 0.0-9 | Tue Dec 3 2012 | Darrin Mison | |||
| |||||
Revision 0.0-8 | Tue Nov 30 2012 | Darrin Mison | |||
| |||||
Revision 0.0-7 | Tue Nov 27 2012 | Darrin Mison | |||
| |||||
Revision 0.0-6 | Wed Nov 19 2012 | Darrin Mison | |||
| |||||
Revision 0.0-5 | Wed Nov 14 2012 | Tom Wells | |||
| |||||
Revision 0.0-4 | Wed Nov 07 2012 | Tom Wells | |||
| |||||
Revision 0.0-3 | Mon Oct 29 2012 | Tom Wells | |||
| |||||
Revision 0.0-2 | Tue Oct 23 2012 | Tom Wells | |||
| |||||
Revision 0.0-1 | Tue Oct 23 2012 | Tom Wells | |||
|
Legal Notice
Copyright © 2012 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.