7. Cambios en este lanzamiento

7.1. Correcciones de errores

CDI/Weld

1051375 - Si existen múltiples archivos beans.xml en un war implementado en un EAR entonces todos los beans CDI se registrarán dos veces

En una versión anterior de EAP 6, cuando una implementación EAR contenía una sub-implementación WAR con múltiples archivos beans.xml, por ejemplo, en WEB-INF/beans.xml y WEB-INF/classes/META-INF/beans.xml, todos los beans se registrarían dos veces y la implementación fallaría. Esto se ha solucionado modificando el procesador de implementaciones para que tome esta posibilidad en cuenta y dichas implementaciónes ya no fallan al implementarse.
1029099 - NPE al replicar el bean CDI en el clúster EAP 6.1.0

El ID de sesión creado en instancias con clústers de versiones anteriores de JBoss EAP contenían una fuente completa en los metadatos de un bean implementado (utilizado para crear un ID de sesión). Esto hacía que los beans implementados a través de diferentes nodos en el clúster se recrearan si se reutilizaba un ID de sesión al acceder un nodo diferente. También se presentaba una NullPointerException en el registro del nodo.

Se introdujo nuevo código que obtiene una ruta relativa en lugar de una ruta absoluta. Esto significa que los beans ya no se recrean y ya no se presenta la NPE.
1050963 - Arreglo permanent para: org.jboss.weld.exceptions.DeploymentException: WELD-001414 El nombre del bean es ambiguo

La validación de ambiguedad del nombre del bean no estaba aislada en la implementaciones con múltiples sub-implementaciones y esto hacía que se presentara una DeploymentException en algunos escenarios. Esto se resolvió con una actualización del componente Weld en este lanzamiento de Red Hat JBoss EAP 6.
1070069 - Conversación que había expirado viva inesperadamente en la siguiente petición

En versiones anteriores de JBoss EAP 6 se encontró que una conversación se podía activar inesperadamente y asociarse con una petición incluso después de que la conversación expirara generando una NonExistentConversationException.

Esto se debía a que en una aplicación JSF, Weld no verificaba apropiadamente el estado de la conversación al principio de la petición.

Este lanzamiento del producto incluye una activación de contexto de conversación actualizado y un procedimiento de invalidación para chequear el estado de la conversación de manera más detallada. Por lo tanto, las conversaciones que han expirado ya no se asocian de manera equívoca con peticiones.

CLI

988283 - CLI GUI - el diálogo para el atributo de escritura para un valor de cadena debe encerrar el valor en el comando generado en comillas dobles

Al tratar de establecer un valor usando la herramienta jboss-cli que contenía una propiedad sólo guardaba el caracter $ en el valor en lugar de la propiedad a menos de que todo el valor se encontrara entre comillas dobles. Esto se debía a que el analizador sintáctico de la línea de comandos CLI analizaba incorrectamente cualquier expresión ${X} como $ a menos de que se encontrara entre comillas dobles.

Se ha arreglado el analizador de la línea de comandos en este lanzamiento de manera que los atributos con propiedades se analizarán correctamente incluso si no se encuentran entre comillas dobles.
1007831 - CLI GUI - La operación de agregado para la configuración del cliente y del punto final de los servicios de red falla

En lanzamientos anteriores de JBoss EAP 6 una operación add que no tuviera argumentos se trataba como una operación que no requería ninguna entrada de parte del usuario del CLI GUI.

Esto hacía que el usuario pudiera ejecutar la operación sin proporcionar el argumento requerido name lo cual generaba un fallo.

En este lanzamiento la operación add sin argumentos ahora se trata por parte de la lógica de la interfaz GUI como que requiere el argumento name.

Ahora antes de permitirle al usuario el ejecutar una operación add, la cual en la descripción del modelo de administración no requiere ningún argumento, se le pedirá al usuario que proporcione el argumento name requerido.
1019232 - jboss-cli.sh throws NullPointerException al usar la función de autocompletar en el nodo de la fuente de datos

En versiones anteriores de JBoss EAP 6, la herramienta jboss-cli presentaba una excepción y salía cuando el usuario trataba de utilizar la funcionalidad para autocompletar en algunas circunstancias.

Esto se debía a un manejo inadecuado de la excepción en el analizador de comandos para estas situaciones y se ha corregido en este lanzamiento.
1031173 - jboss-cli.bat no funciona cuando EAP está instalado en un directorio con espacios

La herramienta jboss-cli no se iniciaba de manera exitosa en Microsoft Windows si JBoss EAP 6 estaba instalado en un directorio que tuviese espaces u otros caracterres especiales tal como paréntesis en su ruta. Por ejemplo, se presentaba el siguiente mensaje de error si JBoss EAP 6 estaba instalado en el directorio C:\JBoss EAP\jboss-eap-6.2:
Error: Could not find or load main class EAP\jboss-eap-6.2\bin\jboss-cli-logging.properties

Este problema se ha resuelto en este lanzamiento cambiando la manera en que la herramienta jboss-cli declara y usa rutas de archivos en Microsoft Windows. Por lo tanto, se puede utilizar sin soluciones opcionales en instalaciones JBoss EAP 6 en directorios que tengan espacios u otro caracteres especiales en su ruta en sistemas Microsoft Windows.
1026418 - Comando pasado como argumento no se ejecuta mientras que acepta el certificado SSL.

Al iniciar el CLI JBoss EAP 6 con un comando como argumento, si ese servidor le pedía al usuario que aceptara un certificado de servidor entonces registraba esa solicitud como un error. Esto hacía que se saltara cualquier comando pasado como argumento ya que esos comandos solo se ejecutan si no se presentan errores.

Este problema se resolvió incluyendo la solicitud de aceptación del certificado como una salida normal en lugar de un error. Por lo tanto, se ejecuta exitosamente un comando como argumento al iniciar el CLI después de que el usuario ha aceptado el certificado del servidor.

CLI,Remoto

1037574 - OOM cuando ejecuta múltiples operaciones CLI probablemente causadas por una limpieza inapropiada

Los usuarios de versiones anteriores de JBoss EAP 6 pueden haberse encontrado con errores OutOfMemory al realizar múltiples operaciones en la interfaz de la línea de comandos.

El problema se rastreó hasta fugas de memoria causadas por una limpieza incorrecta de la memoria al usar el CLI.

Este problema se ha corregido en este lanzamiento del producto.

Carga de clases

1060997 - testConnection debe contar con el cargador de clases de la implementación

Se descubrió un error que hacía que las versiones anteriores de JBoss EAP presentaran una excepción al probar una fuente de datos. La excepción se presentaba al usar el protocolo LDAP en la etiqueta de la fuente de datos "connection-url". El producto no lograba instanciar InitialContextFactory porque el módulo "org.jboss.as.connector" no podía acceder algunas de las clases JDK proporcionadas (tal como com.sun.jndi.ldap.LdapCtxFactory). Esto generaba una falla de prueba de conexión de la fuente de datos cuando la fuente de datos "connection-url" estaba utilizando el protocolo "ldap://".

Este problema se resolvió agregando una dependencia en sun.jdk al módulo org.jboss.as.connector. Esto hace que las clases JDK requeridas sean accesibles desde el módulo conector y la prueba de la fuente de datos usando CLI utilizando la operación "test-connection-in-pool" tiene éxito.
1054972 - La inicialización de MBeans usa el TCCL equivocado

En versiones anteriores de JBoss EAP, se encontró que el TCCL (del inglés thread context class loader - cargador de clases del contexto de hilos) de la aplicación no estaba configurado apropiadamente al iniciar los MBeans que se encuentran en archivos .sar. Esto significaba que los recursos en la implementación no estaban disponibles para el MBean al inciar. En esta actualización para el producto, ahora el TCCL está establecido apropiadamente alrededor de la llamada de inicio del MBean y los MBeans ahora pueden acceder a los recursos de implementación al iniciar.
971076 - El módulo "org.jboss.log4j.logmanager" necesita una dependencia en el módulo "javax.mail.api"

En versiones anteriores de JBoss EAP 6, org.jboss.log4j.logmanager no especificó su dependencia en javax.mail.api en su module.xml.

Este lanzamiento agrega esta dependencia al módulo logmanager.

Uso de clústers

990567 - Se presenta una ClassCastException al almacenar una sesión http en PostgreSql

Se encontró un problema, el cual afectaba el almacenamiento de la sesión HTTP con Postgresql. Con la siguiente configuración jdbc-store se presentaba un error ClassCastException como el mensaje de error de ejemplo que se muestra aquí. Los valores de la sesión HTTP serían persistentes pero la aplicación no lograba volver a implementar con el mismo mensaje de error.
<binary-keyed-jdbc-store datasource="java:jboss/datasources/testDS" preload="true" passivation="false" purge="false">
 <binary-keyed-table prefix="b">
  <id-column name="id" type="VARCHAR(255)"/>
  <data-column name="datum" type="BYTEA"/>
  <timestamp-column name="ver" type="BIGINT"/>
 </binary-keyed-table>
</binary-keyed-jdbc-store>
14:24:21,262 ERROR [org.infinispan.interceptors.InvocationContextInterceptor] (http-/127.0.0.1:8080-1) ISPN000136: Error de ejecución: java.lang.ClassCastException: java.lang.Class no se puede vaciar en org.infinispan.loaders.bucket.Bucket...

Este problema se resolvió con la actualización de un componente y los datos de sesión HTTP se pueden persistir de manera exitosa en una base de datos Postgresql.
917010 - CacheException: Fallo al borrar el registro de mbeans al apagar el servidor

Versiones anteriores de JBoss EAP 6 contenían un error en el componente Infinispan que podía generar la siguiente excepción al apagar el servidor:
WARN [org.infinispan.jmx.CacheJmxRegistration] (MSC service thread 1-1) ISPN000032: Problemas al borrar el registro de MBeans: org.infinispan.CacheException: Failure while unregistering mbeans

El error no evitaba que el servidor se apagara exitosamente y era generado por múltiples peticiones para detener (de CacheService y EmbeddedCacheManagerService) enviadas a instancias de caché únicas.

El problema se resolvió con una actualización al componente Infinispan.
963448 - Manejo de excepciones incorrecto en CoreGroupCommunicationService#handle

En versiones anteriores de JBoss EAP 6 se encontró que CoreGroupCommunicationService#handle estaba manejando de manera incorrecta las excepciones, afectando la que realizaba la llamada de la clase.

Se encontró que la clase estaba escondiendo excepciones y en lugar estaba retornando valores null. Este valor podía producir comportamientos inesperados y no deseados en los que realizaban la llamada.

En este lanzamiento, la respuesta nula será manejada por parte del administrador de bloqueos distribuídos; sin embargo, el uso de CommandDispatcher en lanzamientos futuros del producto resolverá el problema de manera permanente.
1039585 - Fuga de memoria de la sesión en clúster

Versiones anteriores de JBoss EAP 6 contenían un error que podía generar una OutOfMemoryException en sesiones de red distribuidas. La excepción se encontraba si una sesión de red expiraba sin que los objetos de bloqueo creados por el administrador de sesiones se liberaran o se destruyeran. Mientras las sesiones de red continuaban expirando, los objetos de bloqueo residuales se acumulaban en la memoria. Eventualmente, esto generaba una OutOfMemoryException. El único recurso era volver a implementar la aplicación de red.

En este lanzamiento del producto los objetos de bloqueo se lanzan apropiadamente y ya no se presenta la OutOfMemory
956904 - Infinispan remote-store requiere servidores remotos pero no está marcado como requerido en el modelo de administración

Se descubrió un problema en el manejo de la configuración remote-store de Infinispan. La opción remote-store requería que el valor de la opción remote-server se estableciera, pero no se reforzaba lo que resultaba en un fallo de remote store. Este problema se ha resuelto marcando el parámetro remote-server como obligatorio previniendo una configuración remote-store inválida.

En este ejemplo, el comando CLI de administración está incompleto y se presenta una advertencia.
[standalone@localhost:9990 /] /subsystem=infinispan/cache-container=web/distributed-cache=dist/remote-store=REMOTE_STORE:add(remote-servers=[])     {
  "outcome" => "failed",
  "failure-description" => "JBAS014706: [0] is an invalid size for parameter remote-servers. A minimum length of [1] is required",
  "rolled-back" => true,
  "response-headers" => {"process-state" => "reload-required"}
}

En este ejemplo, el comando CLI de administración está completo.
[standalone@localhost:9990 /] /subsystem=infinispan/cache-container=web/distributed-cache=dist/remote-store=REMOTE_STORE:add(remote-servers=[{"outbound-socket-binding" => "fred"}])
{
  "outcome" => "success",
  "response-headers" => {"process-state" => "reload-required"}
}

Gestión de dominios

1015303 - El dominio de seguridad LDAP necesita tener tiempos de expiración configurables

Este lanzamiento de JBoss EAP 6 contiene una mejora que permite el uso de propiedades personalizadas en conexiones LDAP salientes.

En versiones anteriores del producto, las conexiones LDAP salientes se creaban con un grupo limitado de propiedades dejando el resto al comportamiento predeterminado. Por lo tanto no era posible el definir propiedades personalizadas para controlar aspectos tal como conexión y tiempos de expiración de lectura.

En este lanzamiento las propiedades personalizadas ahora se pueden definir para las conexiones LDAP salientes con un código similar al siguiente:
<ldap name="LocalLdap" url="ldap://localhost:10389" search-dn="uid=wildfly,dc=simple,dc=wildfly,dc=org" search-credential="password1!">
 <properties>
  <property name="one" value="two"/>
  <property name="three" value="four"/>
 </properties>
</ldap>
1074999 - La aplicación desaparece de la sección de administración de implementaciones de la consola EAP

En versiones anteriores de JBoss EAP 6, el estado de una implementación no se actualizaba en el sistema de archivos cuando se utilizaba la consola.

Por lo tanto el utilizar el escaner del sistema de archivos y la consola para administrar el estado de una implementación hacía que el escaner creyera que la implementación se había borrado.

Este lanzamiento del producto le permite a la consola y al escaner del sistema de archivos el compartir el estado de la implementación y los usuarios ahora pueden usar ambas herramientas administrativas para administrar implementaciones.
1035232 - El modo de dominio EAP no está funcionando apropiadamente con el administrador de seguridad

En versiones anteriores de JBoss EAP 6, los servidores en un dominio administrado no se iniciaban exitosamente si estaban configurados para utilizar un administrador de seguridad Java sin especificar el nombre de la clase del administrador de seguridad.

Por ejemplo, esto se hace usualmente al utilizar el administrador de seguridad predeterminado especificando -Djava.security.manager ya sea en` domain.conf` o como un parámetro en la línea de comandos.

Este problema ocurría debido a que se pasaba una propiedad del sistema sin un valor por parte de los controladores host a sus servidores administrados con el valor de true. Esto significaba que los servidores tratarían incorrectamente de usar un administrador de seguridad Java con el nombre de clase true.

Este problema se ha resuelto en este lanzamiento agregando extra chequeos para las propiedades del sistema del controlador host de manera que se pase correctamente una propiedad del sistema a los servidores administrados. Por lo tanto, el utilizar un dominio administrado y el usar el administrador de seguridad predeterminado especificando -Djava.security.manager debe funcionar tal como se espera.
1047515 - El modo de dominio no inicia con el JDK IBM

En este lanzamiento se ha abordado un problema que usualmente no permitía el iniciar exitosamente JBoss EAP 6 en entornos IBM JDK en máquinas Windows.

El problema se rastreó hasta la manera en que el proceso padre escribe los datos binarios (es decir, un byte[]) en java.lang.Process.getOutputStream() y los recibe el proceso hijo a través de System.in. Cualquier byte cuyo bit de orden alto sea 1 se distorsiona al recibirlo produciendo la siguiente salida en el registro de la consola:
[Host Controller] 16:44:06,419 ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) JBAS014612: Operation ("start") failed - address: ([
[Host Controller] ("host" => "master"),
[Host Controller] ("server-config" => "server-one")
[Host Controller] ]): java.lang.IllegalStateException: JBAS010986: Host-Controller is already shutdown.
[Host Controller] at org.jboss.as.host.controller.ServerInventoryImpl.startServer(ServerInventoryImpl.java:175)

Un controlador de procesos de dominio administrado EAP se comunica con los procesos del servidor que administra a través de este mecanismo, lo que significa que el problema afectaba los dominios administrados EAP 6

En este lanzamiento del producto, toda comunicación a un proceso administrado a través de stdin se ha codificado con Base64, lo cual mejora el problema y ahora los servidores de dominios administrados inician apropiadamente en Windows con IBM JDK.
1054776 - ClientConfigurationImpl no debe traducir la dirección IP al nombre del host

En lanzamientos anteriores de JBoss EAP, al crear una instancia de un cliente controlador y al pasarle a una dirección IP a la cual conectarse, la dirección IP se traducía internamente al nombre host de la máquina.

Luego cuando el cliente trataba de realizar una conexión entonces utilizaba el nombre host en lugar de la dirección IP.

Esto no solamente introducía una sobrecarga innecesaria al involucrar el servidor DNS, sino que también en algunos escenarios de implementación muy específicos, esto hacía que el cliente tratara de conectarse a una dirección IP diferente de la misma máquina que en donde se encontraba enlazada una instancia de JBoss EAP, lo que resultaba en un fallo de este intento de conexión.

Esto se ha solucionado en este lanzamiento; el código del cliente controlador no traduce internamente la dirección IP dada al nombre de host y solo usa la dirección IP (en lugar del nombre de host correspondiente) para realizar una conexión.

Note que este arreglo no afecta el escenario cuando un nombre de host se pasa al método de fábrica del cliente controlador. En este caso, el nombre de host se traducirá a una dirección IP y esa dirección se utilizará tal como se espera.
1072915 - los esclavos no se pueden volver a conectar a un maestro reiniciado si RBAC está habilitado

En versiones anteriores de JBoss EAP 6, al reconectarse al controlador host maestro, el modelo de configuración se agregó en la ubicación equivocada.

Esto significaba que al reconectar al controlador host maestro con RBAC habilitado se presentaba una falla.

En este lanzamiento, el modelo se agrega en la ubicación adecuada, asegurando que el host esclavo se conecta sin problemas.
1040621 - No se puede utilizar implementaciones con el mismo nombre de tiempo de ejecución en un dominio

En versiones anteriores de JBoss EAP 6, el chequeo en busca de valores duplicados para los atributos del nombre de tiempo de ejecución de implementación en un grupo de servidores durante el arranque era demasiado agresivo. Presentaba de manera incorrecta un error en el arranque si había algún nombre de tiempo de ejecución duplicado en todo el dominio, en lugar de ser en solo un grupo de servidores.

Por lo tanto, el incluir múltiples implementaciones en un dominio con el mismo nombre del tiempo de ejecución generaría un fallo de arranque incluso si esas implementaciones no están mapeadas al mismo grupo de servidores.

Por ejemplo:
JBAS010932: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014676: Failed to parse configuration
...
Caused by: javax.xml.stream.XMLStreamException: ParseError at [row,col]:[1348,9]
...
Message: JBAS014664: An element of this type named 'example.war' has already been declared

En este lanzamiento la validación de la unicidad de los nombres del tiempo de ejecución se movió desde el analizador sintáctico XML a la lógica de ejecución de operación y la lógica de validación se ajustó para ignorar los duplicados que no estén asociados con el mismo grupo de servidores.

Ahora pueden coexistir en un dominio múltiples implementaciones con el mismo valor del nombre de tiempo de ejecución en tanto no se mapeen al mismo grupo de servidores.
1076066 - No se puede promover el esclavo HC --backup a maestro y recargar sin mover domain.cached-remote.xml

En versiones anteriores de JBoss EAP 6, un error hacía que un controlador host esclavo que se ha reconfigurado para actuar como maestro no podía cargar la configuración de dominio en caché al reiniciar. Esto se debía a que el recién promovido maestro carga la configuración del archivo domain/configuration/domain.xml en lugar del archivo domain/configuration/domain.cached-remote.xml.

En este lanzamiento del producto, si un HostController esclavo se inicia con la opción --backup entonces se reconfigura para que actúe como maestro y luego se vuelve a cargar para que reconozca el cambio, el archivo domain.cached-remote.xml que mantenía al ejecutar como respaldo se detectará automáticamente y se utilizará.
1038465 - el servidor de enlaces de socket salientes remotos no se detiene cuando se borra el recurso

En versiones anteriores de JBoss EAP 6, el servicio de enlace de socket saliente remoto no se detenía cuando se borraba el recurso.

Esto significaba que no era posible el agregar un enlace de socket saliente con destino remoto con el mismo nombre ya que la operación :add fallaría porque ya había un servicio registrado con ese nombre.

En este lanzamiento cuando se borra un recurso de enlace de socket saliente con destino remoto, el servicio correspondiente se detiene.

Por lo tanto es posible borrar y agregar un enlace de socket saliente con destino remoto sin ningún fallo.
1110065 - El crear un servidor en un esclavo dominio seguido de la configuración de una propiedad del sistema falla cuando se realiza en modo de grupo

En versiones anteriores de JBoss EAP 6, cuando el HostController procesaba una actualización en su configuración, se creaban operaciones para aplicar los cambios en todos los servidores en ejecución que se estaban administrando.

Surgió un problema debiado a que el controlador host también creaba operaciones para servidores no ejecutándose para agregar la propiedad del sistema "env", lo cual generaba errores "No handler for operation composite at address".

Este lanzamiento del producto ya no crea las operaciones para modificar el entorno de servidores que no están en ejecución y el error ya no se presenta.
1093866 - La opción de configuración HC esclavo "admin-only-policy" no se implementa correctamente

En versiones anteriores de JBoss EAP 6, un controlador host esclavo iniciado en modo de solo administración no podría conectarse al controlador de dominios maestro para obtener la configuración a nivel de dominio.

Por lo tanto, si se inicia un controlador host esclavo con --admin-only y su host.xml tiene establecido el admin-only-policy="fetch-from-master" entonces el esclavo no puede conectarse al maestro para obtener la configuración a nivel de dominio. El esclavo no logrará iniciar.

Esto evita que el esclavo --admin-only use RBAC a menos de que una copia del archivo de configuración a nivel de dominio se almacene localmente como domain.cached-remote.xml y el esclavo se inicie con --cached-dc.

En este lanzamiento la lógica de conexión esclava se ha corregido y el esclavo puede conectarse al maestro y obtener la configuración a nivel de dominio, permitiéndole obtener la política de configuración RBAC a nivel de dominio.
1024109 - NPE en DelegatingServerInventory

Las peticiones de administración enviadas a un controlador host inmediatamente después de que el controlador host se lanza pueden fallar con una excepción de tipo NullPointerException. Esto se debe a que hay un periodo de tiempo entre el momento en que el controlador host tiene la habilidad para recibir peticiones y el momento en que el sistema de administración del servidor se inicia por completo. Este periodo de tiempo usualmente es menos de un segundo pero cualquier petición recibida en ese periodo de tiempo fallará.

Este problema ha sido solucionado en este lanzamiento asegurándose de que un controlador host solo recibirá peticiones una vez que el sistema de administración del servidor se haya iniciado por completo. Por lo tanto, ya no hay un periodo de tiempo en el que las peticiones recibidas disparen una NullPointerException porque el sistema de administración del servidor no ha iniciado completamente.
1085122 - ApplyRemoteMasterDomainModelHandler debe aplicar los valores del recurso raíz

En versiones anteriores de JBoss EAP 6 se encontró que el recurso de dominio raíz del controlador de dominio no se estaba aplicando a los controladores del host esclavo. En lugar, los controladores host esclavos utilizarían su propio recurso raíz.

Esto significaba que al conectarse al controlador de dominios esclavo directamente, los números de la versión en el recurso de dominio raíz era la versión del controlador de dominios esclavo así que la configuración del dominio no era homogénea a través de los controladores en el dominio.

En este lanzamiento del producto, se actualizó el proceso de registro esclavo para aplicar el recurso de dominio raíz y ahora los números de la versión son los mismos a través de todo el dominio.
1016995 - La funcionalidad de superposición de implementaciones no puede reemplazar las bibliotecas de aplicaciones.

En lanzamientos anteriores de JBoss EAP 6, la funcionalidad de superposición de implementaciones no funcionaba tal como estaba documentada. No sobreescribía las bibliotecas jar de la aplicación como se suponía debía hacerlo. Se realizaron cambios para permitir que la funcionalidad de susperposición de implementaciones sobreescribiera las bibliotecas jar de la aplicación y ahora funciona tal como está documentado.
1077838 - isSensitiveValue de la clase SensitiveVaultExpressionConstraint usa el índice incorrecto en el método java.lang.String.substring

En lanzamientos anteriores de JBoss EAP 6, la clase SensitiveVaultExpressionConstraint estaba utilizando un índice de cadenas incorrecto cuando ocurrían múltiples {} en el valor del atributo de escritura.

Por lo tanto, el uso del índice incorrecto estaba haciendo que se presentara una StringIndexOutOfBoundsException.

En este lanzamiento el método isSensitiveValue de la clase SensitiveVaultExpressionConstraint es fijo para utilizar el índice correcto y ya no se presenta una StringIndexOutOfBoundsException.
1074560 - La autorización de administración EAP presenta una excepción cuando un grupo LDAP contiene un caracter de barra oblicua

Se encontró que versiones anteriores de JBoss EAP tenían un error que evitaba escapar correctamente del caracter backslash (/) cuando se utilizaba en un grupo LDAP en un servidor Windows Active Directory LDAP. El error causaba que la autorización de administración EAP presentara una NamingException. Este lanzamiento incluía una actualización que se asegura de escapar correctamente el caracter y ya no se presenta la excepción.
1077536 - Alto uso de la CPU por parte del cliente de monitoriamiento JMX, RBAC parece ser el punto caliente

Se identificó un problema de rendimiento que afectaba a JMX Query, en donde la carga de la CPU era mucho más alta de lo esperado en lanzamientos anteriores de JBoss EAP. La causa del problema era que el control de acceso basado en roles (RBAC del inglés role-based access control) estaba chequeando la dirección de toda petición sin importar si esa dirección era relevante para JMX Query. Para resolver este problema se cambió el procesamiento de la petición para chequear primero si la dirección es relevante para JMX Query y si no lo es entonces evitar el procesamiento involucrado. El resultado de este cambio es que la carga CPU del monitoreamiento JMX está de nuevo en su nivel normal.
1038397 - Role Based Access Control (RBAC) no funciona con Java Security Manager (JSM) habilitado

Cuando JBoss EAP 6 se ejecutaba con Java Security Manager habilitado entonces el sistema de control de acceso basado en roles se inhabilitaba efectivamente ya que en esta situación todos los usuarios autenticados se trataban como superusuarios. La única manera de usar el control de acceso basado en roles era sin el Java Security Manager habilitado.

Este problema se resolvió en este lanzamiento haciendo que todo acceso al AccessControlContext actual tuviese lugar fuera de la acción privilegiada. Por lo tanto, ahora el control de acceso basado en roles todavía tiene efecto al habilitar el Java Security Manager.
901275 - Uso de la bóveda para las propiedades del sistema presenta una java.lang.SecurityException

Versiones anteriores de JBoss EAP 6 podían fallar si una propiedad del sistema utilizaba una expresión de bóveda en su atributo valor.

Esto se debía a que los recursos de la propiedad del sistema en la configuración XML se procesaban antes que los recursos de bóveda de seguridad. Esto significaba que la bóveda de seguridad no estaba disponible como una fuente para resolver expresiones. Cualquier recurso usando un atributo bóveda generaría el siguiente error:
java.lang.SecurityException: JBAS013322: Vault is not initialized

En este lanzamiento del producto, si una expresión del valor de propiedad del sistema no logra resolverse entonces se realiza un segundo intento durante el proceso de arranque, en un punto después de que se instala la bóveda (si se configura una). Esto resuelve el problema y los sistemas usando expresiones de bóveda ahora arrancan tal como se espera.
1092220 - El registro de auditoría no registra las operaciones de arranque correctamente

Versiones anteriores de JBoss EAP 6 tenían deficiencias en el registro de auditoría de las operaciones de administración ejecutadas durante el arranque del servidor:
  • Las operaciones de arranque usan funcionalidades especiales que les permite ejecutar en paralelo. La funcionalidad de registro de auditoría no estaba explicando esto lo que generaba registros desorganizados y confusos.
  • Los registros que estaban en la cola pendientes de ser ejecutados de la operación que habilita el registro de auditoría se vaciaban de la cola antes de la ejecución de las operaciones que manejan el agregado de controladores de registros. Estos registros no aparecían en ningún lado.

Las consecuencias de estos problemas incluyen lo siguiente:
  • Los registros para las operaciones que ocurrían antes de agregar los controladores de registro de auditoría no se registraban.
  • Las operaciones para agregar extensiones no se registraron.
  • Se registraron detalles internos de ejecución que no se debieron registrar, haciendo parecer como si algunas operaciones se hubieran ejecutado dos veces.
  • Las operaciones de arranque paralelas no se organizaron para reflejar el flujo lógico de operaciones que provienen de los analizadores sintácticos XML, sino que en lugar fueron registradas en pedazos por subsistema, con dichos pedazos ordenados al azar.

En este lanzamiento del producto, los registros en la cola no se vacían hasta que se le haya dado la oportunidad a los controladores de registros para ser instalados y la manera en que se seleccionan los eventos de rastreo es más sofisticada permitiendo un rastreo apropiado de la ejecución paralela de operaciones que tienen lugar durante el arranque.

Ahora se registran todas las operaciones que ocurren durante el arranque sin ningún detalle interno extraño de su ejecución. Las operaciones están organizadas de manera coherente en los dos grupos que reflejan la manera en que el servidor organiza el arranque fundamentalmente. Las operaciones que ejecutan en paralelo durante el arranque se reportan en el orden en el que se proporcionaron originalmente por parte del analizador sintáctico XML.
1092213 - AccessAuditContext domainUUID no se configura cuando se establece el encabezado domain-uuid

Lanzamientos anteriores de JBoss EAP 6 contenían un error en el que PrepareStepHandler creaba un UUID y establecían "operations-headers" => "domain-uuid" en una operación, pero luego no pasaba ese UUID a AccessAuditContext.

En una operación de domin io administrado para una operación en el controlador de dominios, esto significaba que el campo domainUUID en el registro de auditoría no tenía valor, sin embargo, el campo de la operación que mostraba la operación que se invocaba incluye un encabezado de operación domain-uuid.

Este problema se ha resulto en este lanzamiento del producto.
1092206 - OperationContextImpl.readResourceForUpdate asume que todos los recursos representan una configuración persistente

En lanzamientos anteriores de JBoss EAP 6, la lógica de ejecución de la operación asumía que todos los recursos de administración representaban una configuración persistente al manjear el método readResourceForUpdate para un OperationStepHandler.

Por lo tanto la operación sondeo del recurso subsystem=transaction/log-store=log-store y la operación delete del recurso subsystem=transaction/log-store=log-store/transactions=* no podían ser invocados por un administrador en el rol Operator.

Este problema se ha corregido en este lanzamiento.
1092203 - Una operación de escritura no autorizada no queda registrada en la auditoría si log-read-only="false"

Versiones anteriores de JBoss EAP 6 contenían un error que no permitía el registro de una operación "write" invocada por un usuario no autorizado si el "atributo log-read-only" en el recurso de registro de auditoría de administración estaba configurado como false.

Esto se debía a que el controlador de modelos utilizaba un "bloqueo controlador de adquisición" como condición para determinar si una operación se debe reportar como una operación "write" en el registro . Cuando se habilitaba el control de acceso basado en roles (RBAC del inglés role based access control) y una operación no autorizada se realizaba entonces el error ocurría antes de que el bloqueo del controlado se tomara.

Por lo tanto, las operaciones de escritura no autorizadas no se reportaban en el registro de auditoría si "log-read-only" se establecía como false. Si "log-read-only" se establecía como true entonces el registro establecía incorrectamente la operación como una operación "read".

Este problema se ha resulto en este lanzamiento del producto.
1049102 - el CLI no logra mostrar el estado de la aplicación cuando el nombre del tiempo de ejecución es diferente del nombre de la implementación

En versiones anteriores deJBoss EAP 6, el controlador de la operación de administración utilizado para determinar el estado de una implementación era utilizando el nombre de la implementación para encontrar el servicio de implementación en lugar de utilizar su nombre del tiempo de ejecución.

Por lo tanto, si una implementación tenía un nombre de tiempo de ejecución que fuera diferente de su nombre de administración, un intento para leer su atributo "status" generaría la respuesta No metrics available.

Por ejemplo:
[standalone@localhost:9999 /] deploy /home/ABC.ear --name=ABC.ear --runtime-name=XYZ.ear

[standalone@localhost:9999 /] /deployment=ABC.ear:read-attribute(name=status)
{ "outcome" => "success", "result" => "no metrics available" }

En este lanzamiento del producto, el controlador de administración usa el nombre del tiempo de ejecución al buscar el servicio de implementación el cual asegura que se retorne el estado correctamente. La respuesta del ejemplo anterior ahora es:
[standalone@localhost:9999 /] /deployment=ABC.ear:read-attribute(name=status)
{ "outcome" => "success", "result" => "OK" }
1034700 - la operación whoami no funciona con el administrador de seguridad habilitado

La operación :whoami no ejecutaba correctamente cuando JBoss EAP 6 estaba ejecutando con el administrador de seguridad Java habilitado. El tratar de ejecutar esta operación en esta situación generaría una IllegalArgumentException. Esto ocurría debido a situaciones AccessControlContext inválidas en donde la identificación del que relaizaba la llamada era incorrecta.

Este problema ha sido resuelto en este lanzamiento accediendo al AccessControlContext actual por fuera de la acción privilegiada. Por lo tanto, la operación :whoami ahora ejecutará correctamente cuando JBoss EAP 6 esté ejecutando con el administrador de seguridad Java habilitado.

Administración de dominios, scripts y comandos

1023444 - El dominio no logra iniciar con la configuración predeterminada de la memoria en Windows 32bit JDK

Versiones anteriores de JBoss EAP a veces fallaban al iniciar cuando se ejecutaba en un entorno Windows 32-bit JDK con la configuración predeterminada de la memoria.

En este lanzamiento del producto se ha disminuido la configuración predeterminada de la memoria para asegurarse de que inicie exitosamente en una variedad más amplia de MVJ.

Se le sugiere a los clientes que dependen de la configuración predeterminada de la MVJ que revisen su configuración y ajusten los parámetros de la MVJ con base en sus requerimientos.

Administración de dominios, servicios de red

987898 - Una escritura en el atributo wsdl-url para el punto final WS termina con un 'Unknown attribute wsdl-url' instead of 'Attribute wsdl-url is not writable'

Cinco atributos de los puntos finales de los servicios de red SOAP implementados (nombre, contexto, clase, tipo y wsdl-url) no eran accesibles en las herramientas de administración. Esto se debía a que no estaban expuestos al modelo de administración por parte del subsistema de servicios de red. Este problema se ha resuelto en este lazamiento y los atributos ahora se pueden configurar bajo el subsistema webservices usando el CLI de administración.

EE

1056799 - JBMETA-371: DefaultPropertyReplacer + PropertyResolver no funciona para expresiones d ebóveda

En versiones anteriores de JBoss EAP 6, la lógica de resolución de expresiones en las clases DefaultPropertyReplacer y PropertyResolver (utilizada para analizar sintácticamente archivos descriptores de implementación) asumía que el contenido de la expresión entre "${" and "}" era un formato fijo en donde cualquier caracter ":" en la expresión representaba un separador entre un nombre de la propiedad del sistema y un valor predeterminado.

Esto significaba que las expresiones de la bóveda de seguridad en descriptores de implementación no se podían analizar sintácticamente de manera exitosa ya que siempre se utiliza ":" en esas expresiones y no como un separador antes de un valor predeterminado. Las expresiones de bóveda se evaluarían incorrectamente con el contenido de expresión seguido del primer ":" considerado como el valor resuelto.

En esta versión del producto, cuando se detecta el final de una expresión antes de retornar el contenido de la expresión seguido del primer ":" como el valor resuelto, el que resuelve primero verifica si toda la expresión se puede resolver.

Ahora se pueden utilizar expresiones de bóveda de seguridad en los archivos descriptores de implementación en donde se permiten expresiones en general.

EJB

1093128 - Los valores de expiración de transacciones de clientes remotos son sobreescritos con valores fijos

Los lanzamientos anteriores de JBoss EAP 6 tenían un problema relacionado con transacciones de clientes remotos que abarcaban múltiples servidores con un tiempo de espera que terminaba antes o después de lo esperado.

El problema surgió por que los valores de expiración no se propagaron a través de los servidores correctamente, dejando que el sistema dependiera del valor de tiempo de expiración fijo (300 segundos)

Este problema se resolvión en JBoss EAP 6.3.0.
1059911 - @Schedule EJB Timer no está utilizando la zona horaria al calcular el siguiente tiempo de expiración

En versiones anteriores de JBoss EAP 6 se encontró un error en donde si el temporizador EJB @Schedule utilizaba una zona horaria que fuese diferente a la utilizada por parte del servidor entonces cualquier invocación del temporizador después de la invocación inicial no se dispararía correctamente. Este lanzamiento aborda este comportamiento y todas las invocaciones del temporizador se disparan tal como se espera cuando las zonas horarias son diferentes entre el servidor y el @Schedule.
1035216 - ArrayIndexOutOfBoundsException durante la recuperación periódica en EJBTransactionRecoveryService

Un problema intermitente entre la recuperación periódica y el EJBTransactionRecoveryService generaba una ArrayIndexOutOfBoundsException.
[com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016009: Caught:: java.lang.ArrayIndexOutOfBoundsException: 0
 at org.jboss.as.ejb3.remote.EJBTransactionRecoveryService.getXAResources(EJBTransactionRecoveryService.java:112)
....

La causa raíz del problema era que la creación de un elemento XAResource no estaba contenida dentro del bucle de lógica asociada y esto generaba el error de índice de la matriz. Este elemento se movió de manera que esté dentro del bucle de lógica y así la recuperación periódica ya no entra en conflicto con el EJBTransactionRecoveryService.
1017673 - ConcurrentModificationException en TimerService.getTimers()

Si un bean trataba de crear un nuevo temporizador al mismo tiempo que cuando otro hilo estaba llamando el método getTimers() entonces se presentaba una ConcurrentModificationException. Esto sucedía debido a que el método getTimers() no llamaba synchronized() en los temporizadores.

Este problema se resolvió en este lanzamiento y el método getTimers() de la implementación del servicio temporizador ahora llama apropiadamente synchronized() en los temporizadores.
1031199 - el caché de respaldo EJB puede generar una gran retención de tareas canceladas en su DelayedWorkQueue del ejecutador programado

La implementación caché para EJBs @Stateful en JBoss EAP 6 utiliza un ejecutador programado para manejar la lógica @StatefulTimeout. Cuando se accede a un bean se cancela su trabajo que ha expirado anteriormente y se programa uno nuevo cuando se completa la invocación.

Por defecto, el cancelar una tarea desde un ejecutador no la borraba de la cola.

Esto causaba una fuga de memoria gradual ya que las tareas canceladas permanecían en la cola.

En este lanzamiento, el ejecutador programado se puede configurar para borrar la tarea de la cola tras la cancelación. Esto evita la fuga de memoria.
1045105 - el código del cliente ejb remoto convierte '$$' en '$' en las contraseñas

Las versiones anteriores de JBoss EAP 6 tenían un error que causaba que la PropertiesBasedEJBClientConfiguration tratara de expandir las contraseñas que tuvieran un signo doble de dólares ($$) como si fuera una expresión. Esto podía hacer que se pasaran contraseñas incorrectas entre el servidor y el cliente.

Se ha modificado el PropertiesValueResolver en este lanzamiento de manera que no expanda contraseñas por defecto. Esto resuelve el problema.

Si se requiere una expansión entonces se puede habilitar configurando `jboss-ejb-client.expandPasswords` como true.
1055896 - No se puede obtener la excepción como una referencia de paso

En este lanzamiento se corrigió un error que no permitía que los servlets obtuvieran excepciones EJB como una referencia de paso incluso si se configuraba para que lo hiciera.
901324 - AroundInvokeAnnotationParsingProcessor debe fallar cuando se encuentran más métodos con la anotación @AroundInvoke en la clase

En versiones anteriores de JBoss EAP 6, no se chequeaban las clases en busca de múltiples métodos @AroundInvoke.

Por lo tanto se utilizaba el primero que se descubría y los otros se ignoraban.

En este lanzamiento del producto, la implementación falla si hay múltiples métodos @AroundInvoke, alertando el desarrollador del problema.
1056214 - problemas de rendimiento de la invocación EJB debido a conteos altos de asignación de cadenas inútiles

En este lanzamiento de JBoss EAP 6 se ha abordado un problema de rendimiento. El problema era generado por el StatefulComponentInstanceInterceptor, el cual realizaba una pequeña concatenación en una decalaración de registro de depuración para toda invocación. Las asignaciones extras posteriores podían generar una mayor actividad de recolección de basura durante una invocación EJB con estado, lo que conlleva a un sobrecosto mayor de procesamiento por invocación. Este lanzamiento del producto ha incorporado un parche upstream, el cual resuelve este problema y el sobrecosto por invocación disminuye substancialmente.

EJB, Remoto

1098879 - El cliente EJB fallaba inicialmente si un clúster se debía utilizar para una invocación EJB. No podía crear una conexión para el nodo del clúster ClusterNode{} -> Operación fallida con estado WAITING

En versiones anteriores de JBoss EAP 6 había un problema con los clientes EJB conectándose a un clúster si se especificaba más de un nodo de clúster para la conexión inicial.

Este era un problema específicamente en la plataforma Windows, lo que causaba que la primera invocación EJB fallara de manera intermitente y era generada por una sincronización de hilos equivocada.

Este problema se ha resuelto en este lanzamiento del producto y ya no se presenta.

Hibernate

1023994 - conversión de java.util.Calendar a java.util.Date falla - HHH-8643

Este lanzamiento de JBoss EAP 6 contiene un arreglo para un error en el componente Hibernate el cual generaba una IllegalArgumentException al configurar un parámetro TemooralType.DATE o TemporalType.TIMESTAMP en una petición JPA . La idea del parámetro es poder utilizar un valor de calendario o fecha, sin embargo, esta habilidad para intercambiar no operaba tal como se esperaba. El problema se ha corregido y la excepción ahora no se presenta al usar parámetros TemporalType en peticiones.
1048709 - NPE mientras query.list se encuentra en un Native SQL, usando el caché

En versiones anteriores de JBoss EAP 6, el uso de escalas dentro de una petición, al usar el caché de petición Hibernate, estaba haciendo que los usuarios se encontraran con un NullPointerException. Un ejemplo de una petición que produjera la excepción es:
query.addScalar("emp_first_name");

El problema era generado por código que trataba de identificar automáticamente el tipo Hibernate necesario para manejar el escalar (por ejemplo, StringType). En este lanzamiento se ha modificado el código para que identifique correctamente el controlador que se necesita.

Para los lanzamientos anteriores a 6.3.0, el definir explícitamente el tipo dentro del escalar de petición evitará la NPE:
query.addScalar("emp_first_name", new StringType());
1070423 - HHH-8983 Los controladores de la base de datos pueden adjuntar advertencias a controladores de declaraciones y estas se pueden acumular y consumir cantidades importantes de memoria

En versiones anteriores de JBoss EAP 6 se encontró que controladores de la base de datos podían adjuntar advertencias a controladores de declaraciones, lo cual podía acumular y consumir cantidades importantes de memoria. El problema se presentaba al utilizar tipos Timestamp con mapeos subyacentes Sybase datetime. Las advertencias emitidas por los últimos controladores Sybase podían exagerar la huella en la memoria en actualizaciones en grupo. Este problema se ha resuelto en este lanzamiento y ya no se presenta.
1073076 - HHH-3482: UnsupportedOperationException con StatelessSession

Las instancias de UnsupportedOperationError que se presentan al utilizar StatelessSession y al guardar un ManyToOne se han abordado en este lanzamiento de JBoss EAP 6. El error se generaba debido a una llamada al método getTimestamp(), el cual no se implementaba para una StatelessSession. El UnsupportedOperationError ya no se presenta.
1057742 - Dialecto H2 PostgreSQL incorrecto para el conteo de diferentes tuplas para atributos compuestos

JBoss EAP 6 se ha actualizado para permitir el uso de paréntesis alrededor de listas de atributos compuestos en peticiones count-distinct en MySQL y otras bases de datos. Esto no se permitía en versiones anteriores del producto y generaba una excepción para PostgreSQL. Este lanzamiento permite que el dialecto use los paréntesis de manera apropiada sin presentar una excepción.

HornetQ

1056216 - Cambia el comportamiento inicial de la conexión para la conexión del clúster

Si una instancia HornetQ en clúster pierde su conexión a otros nodos clúster entonces el intento de reconexión podría generar un bucle infinito. Para una configuración de clúster estática, cualquier intento de conexión inicial se realizaría infinitamente, ignorando el parámetro reconnect-attempts. Para una configuración de clúster dinámica, si el nodo estaba desconectado entre el momento que recibió una notificación sobre el nodo parte de la topología clúster y la conexión inicial, los intentos de reconexión continuarían infinitamente. Este problema se ha resuelto y la lógica de clúster ahora utiliza el parámetro reconnect-attempts para los intentos de conexión iniciales y los intentos de reconexión.
1089838 - scheduledReferences completas transversal en toda llamada a ScheduledDeliveryHandlerImpl$ScheduledDeliveryRunnable.run()

En versiones anteriores de JBoss EAP 6, si se programaban un gran número de mensajes con un pequeño intervalo entonces se generaba una carga de CPU excesiva.

La causa raíz de este problema era que en toda instancia en donde se consumían mensajes, se atravesaba toda la lista de scheduledReferences enlazadas de manera innecesaria.

Este problema se ha resulto en este lanzamiento.
1063864 - Backport de HornetQ-1278 en JBoss EAP

En versiones previas de JBoss EAP 6, Scheduled Delivery Handling realizaba un ciclo completo de búsqueda serial en una lista para Scheduled Deliveries.

Esto podía generar problemas de rendimiento ya que el sistema podía utilizar bastantes recursos de CPU para proceder con muchas entregas programadas bajo carga.

Este lanzamiento del producto ha implementado una lista ordenada y una búsqueda apropiada hasta el momento de expiración. La búsqueda de la lista ahora se ejecuta mucho más rápido sin la alta carga de CPU.
1089843 - Falsos mensajes de advertencia (WARN) después de que XmlDataImporter borra el archivo temporal

En versiones anteriores de JBoss EAP 6, cuando el XmlDataImporter estaba importando mensajes grandes, se registraban falsos mensajes de advertencia - WARN.

La causa raíz de este problema era que al importar mensajes lo suficientemente grandes, el XmlDataImporter creaba un archivo temporal y lo borraba cuando se completaba la tarea de importación.

Al importar otro mensaje grande, la función XmlDataImporter trataba de borrar el archivo temporal de nuevo y debido a que el archivo ya no estaba presente entonces se registraba el mensaje de advertencia -WARN.

Este problema se ha resulto en este lanzamiento.
1096942 - El cliente no puede enviar mensajes - HornetQException[errorCode=100 message=HQ119016: queue has been removed cannot deliver message, queues should not be removed when grouping

En lanzamientos anteriores de JBoss EAP 6, los usuarios encontraban problemas con el agrupamiento en clústers, en donde los mensajes de enrutamiento se podían interrumpir y presentar respuestas inválidas.

En este lanzamiento la comunicación entre los nodos se ha mejorado ya que el proceso de grupos evita esto y otros mensajes falsos que pueden tener lugar a través de agrupamientos en clústers.
1089844 - Policy Fail puede borrar los mensajes antes de enviar la excepción al cliente

En versiones anteriores de JBoss EAP se encontró que la política completa de direccionamiento "fail" en HornetQ en gran parte borraba los mensajes sin enviar una excepción al cliente.

Esto hacía que los mensajes se borraran sin una excepción cuando una dirección estaba llena.

Este problema se resolvió de manera que el bloqueo siempre envía el resultado en una excepción en el cliente cuando la dirección está llena y los envíos de no bloqueo generan una excepción en el cliente cuando se solicitan créditos adicionales del servidor.
1089846 - Todos los métodos en ClientSessionImpl el cual implementa XAResource pueden presentar potencialmente una no XAException al TM

En versiones anteriores de EAP 6, si una transacción XA involucrando HornetQ expiraba entonces era posible que HornetQ presentara una non-XAException al administrador de transacciones.

El problema se identificó en la implementación de javax.transaction.xa.XAResource y se ha resuelto en este lanzamiento.
1089849 - Los mensajes siempre reconocían individualmente después de ciertos escenarios de reconexión

En versiones anteriores de JBoss EAP 6, el consumidor cliente reconocería los mensajes individualmente en ciertos escenarios, por ejemplo después de fallos. Este proceso era bastante ineficiente.

Este problema se ha abordado en este lanzamiento.
1089851 - Evitando posible NPE durante el proceso de depaginación

En versiones anteriores del producto era posible que se presentara una NullPointerException (NPE) durante la entrega de mensaje y el proceso de paginación.

Este problema se ha resulto en este lanzamiento.
1089841 - Orden fijo de totalIterator()

En lanzamientos anteriores de JBoss EAP 6 cualquier operación de administración que listaba mensajes listaba incorrectamente los mensajes paginados antes que los mensajes enviados anteriormente.

También se identificaron otros posibles problemas de falta de orden en casos después de re-entregas.

Este problema se arregló rectificando el orden en donde el iterador toma los mensajes antes de enviarlos a las operaciones de administración.
1089835 - La tasa máxima ClientConsumer no está teniendo efecto si ServerLocator's consumerMaxRate <=0

En versiones anteriores de JBoss EAP 6, el método Core API createConsumer(String queueName, String filter, int windowSize, int maxRate, boolean browseOnly) ignoraba el parámetro maxRate si la ConnectionFactory (or ServerLocator) había establecido maxRate con su valor predeterminado de menor o igual que cero.

La causa raíz de este problema era una lógica incorrecta en el método createConsumer. Esto se ha corregido en este lanzamiento.
1089842 - el método listMessagesAsJSON no logra listar mensajes si la propiedad del filtro contiene el caracter \n.

En versiones anteriores de JBoss EAP 6, el análisis sintáctico del filtro no lograba analizar sintácticamente los mensajes correctamente si el mensaje contenía un nuevo caracter de línea ( \n) dentro de una cadena o cualquier otra propiedad.

La causa raíz de este problema era una lógica incorrecta en el método listMessagesAsJSON, el cual no tomaba en cuenta un caracter de línea nueva.

Este problema se ha resulto en este lanzamiento.

IIOP

1064644 - StackOverflowError when org.jboss.as.jacorb.rmi.InterfaceAnalysis está analizando javax.ejb.EJBObject

En versiones anteriores de JBoss EAP 6 se encontró que dependiendo del moento en que se realizaba un cambio de contexto de hilos, las EJBs habilitadas para IIOP podían fallar al tratar de implementarse correctamente generando un StackOverflowError.

Este problema se rastreó hasta una sincronización inapropiada de hilos en org.jboss.as.jacorb.rmi.WorkCacheManager.

Este problema se ha corregido en este lanzamiento y el StackOverflowError ya no se presenta.
1052237 - Backport JacORB #904 CDRInputStream.read_string debe manejar el tamaño de cadena 0 sin problemas

La función CDRInputStream.read_string no maneja apropiadamente una cadena vacía, calculando de manera incorrecta el tamaño como si fuera cero (0), lo que genera una excepción de organización. Se agregó un QoS para permitir que CDRInputStream.read_string interopere con esos ORBs que no codifican cadenas correctamente.

Instalador

1034062 - Los valores para configuraciones de compensación de puertos se dobanl en los archivos host del dominio.

En este lanzamiento se ha corregido un error que hacía que se doblara la compensación de puertos automática cuando se configuraba usando la opción Configure an offset for all default port bindings.
1062602 - El instalador acepta la contraseña del usuario administrativo sin caracteres alfabéticos

En versiones anteriores de JBoss EAP 6 se encontró que la funcionalidad del instalador gráfico no estaba siguiendo las restricciones del nombre de usuario y contraseña que gobiernan la creación de usuarios.

Este problema se ha abordado y ahora el instalador GUI se adhiere a las restricciones de nombrado y contraseñas tal como se esperaba.

JCA

1088470 - ConnectionListener presentaba una fuga si TSR presenta una IllegalStateException y NPE en SemaphoreArrayListManagedConnectionPool

Un error en lanzamientos anteriores de JBoss EAP 6 hacían que el ConnectionListener presentara una fuga si TSR presentaba una IllegalStateException y NPE en SemaphoreArrayListManagedConnectionPool.

Este problema se ha resuelto en este lanzamiento del producto.

JDR

1069850 - Evitar una NullPointerException en JDR CommandLineMain

En versiones anteriores de JBoss EAP 6 se presentaba una NullPointerException cuando se generaba una excepción de JDR CommandLineMain. Este problema se ha corregido en este lanzamiento.

JMS

1033495 - La operación CLI commitPreparedTransaction no está disponible en modo dominio

En versiones anteriores de JBoss EAP 6, las operaciones de administración en recursos hornetq-server no estaban disponibles en el modo de dominio. Este problema se ha corregido en este lanzamiento.

JPA

1040733 Fuga de memoria en la integración de JBoss AS / Hibernate JPA

Una fuga de memoria podía tener lugar en el servidor de aplicaciones al utilizar el CLI de administración para obtener estadísticas JPA para implementaciones de aplicaciones que utilizaban peticiones nombradas JPA. Este problema se ha resuelto en este lanzamiento del producto.

JSF

1029387 - WFLY-2493 EL no puede acceder métodos/campos públicos de clases que no son públicas

En versiones previas de JBoss EAP 6 el BeanELResolver no trataba de sobreescribir el control de acceso Method.invoke para acceder los métodos públicos de las clases que no son públicas.

Esto generaba problemas al tratar de acceder el campo o método público de una clase que no fuera pública a través de el lenguaje de expresion (EL del inglés Expression Language) presentando el siguiente mensaje de error:
"java.lang.IllegalAccessException: Class javax.el.BeanELResolver can not access a member of class X with modifiers "private"

Este problema se ha resuelto llamando a setAccessible(true) de manera apropiada en la implementación EL. Los campos o métodos públicos de clases que no son públicas ahora se pueden acceder a través de EL
1017242 - FacesMessages no funciona apropiadamente en la aplicación del contexto raíz

En versiones anteriores de JBoss EAP 6 se encontró que el ámbito JSF Flash no se reestablecía apropiadamente durante redirecciones si la aplicación estaba enlazada al contexto raíz. Esto significaba que FacesMessages no funcionaba apropiadamente en aplicaciones de contexto raíz.

Este lanzamiento del producto observa que el componente Mojarra se actualizó a la última versión upstream, la cual soluciona el problema y ahora FacesMessages funciona apropiadamente incluso en aplicaciones de contexto raíz.
1052265 - JAVASERVERFACES-3080: se presentan problemas cuando se incluye más de un f:viewParam en f:metadata.

Debido a un error upstream incluyendo más de un f:viewParam dentro de f:metadata no funcionaba en versiones anteriores de JBoss EAP 6. Una actualización en el componente JSF ha resuelto este problema y ahora se puede incluir más de un f:viewParam en f:metadata.
1054051 - La configuración de casilla JSF no funciona apropiadamente para la configuración predeterminada

Cuando se instaló una casilla JSF adicional en la raíz del directorio modules, la casilla principal no se agregó como una configuración JSF válida. El implementar una aplicación JSF que tratara de utilizar la implementación JSF principal fallaría con el mensaje:
org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS012656: Default JSF implementation slot 'main' is invalid

La causa de este problema se ha resuelto y la casilla "main" ahora siempre se considera como una de las implementaciones JSF válidas. Por lo tanto , cuando se agrega una casilla JSF adicional en la raíz del directorio modules, las aplicaciones JSF que usan la implementación JSF principal ahora se pueden implementar exitosamente.

Registros

1066597 - El atributo de formato se cambia cada vez que se procesa

Se ha corregido un error en versiones anteriores de JBoss EAP6 que causaba que el método HandlerOperations.equalValue() siempre retornara falso con la inclusión de un parche upstream. Este error se presentaba debido a que el método utilizaba el nombre de propiedad incorrecto al comparar valores. No se presenta en este lanzamiento del producto.
1080991 - Messages#getBundle() en jboss-logging le faltan acciones privilegiadas

En versiones anteriores de JBoss EAP 6, el ejecutar con un administrador de seguridad habilitado sin suficientes permisos generaba errores al tratar de recuperar un grupo de mensajes.

Por lo tanto se presentaba una excepción al tratar de obtener un grupo de mensajes si los permisos del cargador de clases no se habilitaban.

En este lanzamiento, el recuperar grupos de mensajes ahora se hace en un bloque privilegiado. Las excepciones ya no tienen lugar al recuperar el grupo de mensajes cuando se habilita un administrador de seguridad.
1088618 - Representación de cadenas caché de información arrojada.

No se garantizaba que la información de rastreo de la pila se almacenara correctamente en lanzamientos anteriores de JBoss EAP 6. Por lo tanto se podían perder datos durante la serialización de eventos de registro Log4J.

Para solucionar esto se ha modificado Log4J para poner en caché el rastro de pila (es decir la información arrojada) durante la deserialización. Esto asegura que no se perderá la información de rastreo de la pila durante la serialización.
1017881 - /subsystem=logging/logger=org.jboss.as.quickstarts.logging:assign-handler no puede ejecutar bajo modo de grupo

En versiones anteriores de JBoss EAP 6, el atributo de nombre en operaciones de registro compuestas se agregaba y se leía del modelo.

Por lo tanto, el último nombre en una operación compuesta fue el único nombre del controlador utilizado, lo que hacía que el mismo nombre de controlador se agregara múltiples veces.

En este lanzamiento, el atributo nombre ya no ser copia en el modelo y se lee de la operación misma. El agregar controladores en una operación compuesta ahora funciona tal como se esperaba.
1095516 - Los objetos POJO objects no se borran del logging.properties al borrarlos manualmente del JBoss Config XML

En versiones anteriores de JBoss EAP 6, cuando se borraba la definición de un POJO del archivo de configuración del servidor, las referencias al POJO no se borraban del archivo logging.properties.

Si después se creaba un POJO con el mismo nombre entonces JBoss EAP establecería que había una entrada duplicada en logging.properties.

Este problema se ha resuelto y las referencias a los objetos POJO que ya no se encuentran se borran del archivo logging.properties.
1073053 - El registro de auditoría EAP 6.2 debe presentar la versión EAP en lugar de la versión AS

En versiones anteriores de JBoss EAP 6, el registro de auditoría presentaba un número de versión incorrecto.

Esto se ha corregido en este lanzamiento y el número de la versión se presenta tal como se espera.
1066606 - Al utilizar un anexador log4j como un controlador personalizado debe invocar las activateOptions si se requiere

En versiones anteriores de JBoss EAP al cambiar una propiedad en un controlador personalizado que fuera un anexador log4j no invocaba las OptionHandler.activateOptions() en el anexador si el anexador implementaba OptionHandler. Esto requería el reiniciar los recursos de registros para que el cambio tuviera efecto. En este lanzamiento, el método de activación ahora se invoca si las propiedades se cambian en el anexador log4j y ya no se requiere el reiniciar los anexadores OptionHandler.
1070452 - System.out.println() no funciona al utilizar el registro por implementación

Versiones anteriores de JBoss EAP 6 tenían un error que no permitía que el método System.out.println() imprimiera en los archivos de registro cuando se estaba utilizando el registro por implementación. Este error se resolvió con un parche upstream.

Nombrado

1014414 - El nombrado remoto presenta la misma excepción para diferentes causas

Versiones anteriores de JBoss EAP 6 se presentaba la misma excepción en respuesta a un número de errores de conexión que podían surgir cuando un cliente de nombrado remoto no lograba conectarse a ningún host. Este comportamiento no era óptimo ya que no le daba a los usuarios ninguna indicación del error en sí para un servidor dado.

La excepción que se presentaba en todos los casos era:
javax.naming.NamingException: Failed to connect to any server. Servers tried: [remote://localhost:4447]

En este lanzamiento las excepciones que se presentan se alinean mucho mejor con la causa real del fallo.

Si los detalles del host o del puerto son incorrectos entonces se presentará la siguiente CommunicationException, indicando que la conexión expiró:
javax.naming.CommunicationException: Failed to connect to
any server. Servers tried: [remote://localhost:4447 (Operation failed
with status WAITING after 5000 MILLISECONDS), remote://localhost2:4321
(Operation failed with status WAITING after 5000 MILLISECONDS)] [Root
exception is java.net.ConnectException: Operation failed with status
WAITING after 5000 MILLISECONDS]

Si uno de los servidores disponibles responde, pero la autenticación posterior falla entonces se presentará la siguiente AuthenticationException:
javax.naming.AuthenticationException: Failed to connect to
any server. Servers tried: [remote://localhost:4447 (Authentication
failed: all available authentication mechanisms failed),
remote://localhost2:4321 (Operation failed with status WAITING after
5000 MILLISECONDS)] [Root exception is
javax.security.sasl.SaslException: Authentication failed: all available
authentication mechanisms failed]

Se presentará un mensaje apropiado para los fallos al conectarse a cada servidor en la lista.
1061609 - InitialContext retiene la causa original de la excepción

En versiones anteriores de EAP 6, la instanciación de un InitialContext podía fallar con el siguiente mensaje:
javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.sun.jndi.ldap.LdapCtxFactory from classloader ModuleClassLoader for Module "deployment.externalContextBindingTest.jar:main" from Service Module Loader

Sin embargo, no es posible establecer la causa subyacente en este mensaje, lo que hace imposible el resolver el problema. Para resolver este problema ahora se presenta la causa subyacente. Si este problema se presenta ahora entonces el mensaje de error revela la causa raíz:
javax.naming.NamingException: JBAS011843: Failed instantiate InitialContextFactory com.sun.jndi.ldap.LdapCtxFactory from classloader ModuleClassLoader for Module "deployment.externalContextBindingTest.jar:main" from Service Module Loader [Root exception is javax.naming.CommunicationException: 127.0.0.1:10389 [Root exception is java.net.ConnectException: Connection refused]]
1059836 - La excepción de comunicación del nombrado remoto se debe presentar en ConnectException

Versiones anteriores de JBoss EAP se presentaba un javax.naming.NamingException genérico cuando ocurría una java.net.ConnectException en lugar del la javax.naming.CommunicationException más específica.

Este lanzamiento incluye un cambio que se asegura de que se presente una javax.naming.CommunicationException cuando tiene lugar una excepción de conexión.

CommunicationException es una subclase de NamingException así que cualquier código que previamente atrapaba una NamingException seguirá funcionando tal como se espera.

Otro

901210 - Limpieza de directorios de implementación - AS7-6031

Este lanzamiento de JBoss EAP 6.3 incluye un arreglo que se asegura de borrar los archivos y directorios creados en las carpetas JBOSS_HOME/tmp y JBOSS_HOME/tmp/vfs antes de que puedan interferir con las instancias EAP recién (re)iniciadas.

En las versiones anteriores de JBoss EAP, es posible que hayan quedado archivos viejos después de que un servidor se apaga de manera inesperada (ya que JBoss EAP borra archivos en JBOSS_HOME/tmp y JBOSS_HOME/tmp/vfs como parte del proceso de apagado).

Este lanzamiento proporciona un mecanismo de seguridad para mitigar ese escenario. Si un servidor JBoss EAP 6.3 no se apaga sin problemas entonces el servidor no tendrá la oportunidad de limpiar estos archivos temporales. Sin embargo al reiniciar, el servidor ahora revisa los lugares anteriores y si encuentra archivos de una instancia anterior entonces inicia un proceso de renombrado/borrado que permite la creación de archivos frescos para la nueva instancia (los directorios viejos se renombran para evitar la interferencia con los archivos recién creados). Estos procesos tienen lugar en paralelo.

Al reiniciar JBoss EAP (ya sea con o sin problemas) se borran los archivos viejos temporales (ya sea al apagar o al reiniciar) para asegurarse de que no tomen innecesario espacio de disco.

NOTE Los usuarios deben evitar utilizar la JAVA_OPT -Xrs ya que esto limita el procesamiento de señales y puede hacer que el tamaño de los directorios tmp/vfs continue creciendo.

Uso de parches

1110117 - El realizar solicitudes a MBeans con parches durante el apagado genera IllegalStateException

En este lanzamiento de JBoss EAP 6, el subsistema de parcheo PatchResource, aunque no tiene dependencias en el InstallationManagerService, puede tratar de utilizarlo cuando puede estar apagado

Esto podría hacer que se presentara una IllegalStateException si un gancho de apagado tratara de realizar una solicitud a los MBeans del subsistema de parcheo.

Se espera poder resolver este problema en un lanzamiento futuro.
1108952 - OutOfMemoryError con parches grandes

En versiones anteriores de JBoss EAP 6, los datos de anexos pasados del maestro a los controladores host esclavos se leían por completo en la memoria.

Por lo tanto, al instalar parches grandes se podía presentar un OutOfMemoryError en controladores hosts hijos. Esto podía tener lugar al instalar CP04 a través del controlador de dominios con las configuraciones de memoria predeterminadas.

Este lanzamiento del producto, los anexos se guardan en archivos temporales para no consumir demasida memoria y los OutOfMemoryErrors no tienen lugar en los controladores hosts hijos.

PicketLink

1084596 - Backport PLINK-396

En versiones anteriores de JBoss EAP 6 se encontró que IDPWebBrowserSSOValve y IDPFilter de PicketLink estaban descifrando el estado repetidor, lo cual iba en contra de la especificación SAML. Esto se ha abordado en este lanzamiento del producto.

RESTEasy

1037753 - La variante seleccionada no siempre es la mejor opción

En versiones anteriores de JBoss EAP 6 se encontró que RESTEasy, aunque cumple con las especificaciones de RFC 2616, no siempre retornaba el controlador de medios más apropiado en instancias en donde los factores de calidad eran iguales pero la especificidad era diferente.

Por ejemplo, cuando se proporciona un encabezado Accept de application/json, */* y los valores de variantes ["application/xml","application/json"], la Request.selectVariant() de RESTEasy seleccionaba application/xml en lugar de application/json.

En este lanzamiento, los valores específicos del encabezado Accept toman precedencia sobre aquellos que coinciden de manera menos específica con el mismo valor de calidad (por ejemplo, si ambos tienen q=1.0 o q=0.5).
1014393 - Excepción de flujo cerrado en resetStream en IBM jdk 16, 17 en RHEL 5, 6

En lanzamientos anteriores de JBoss EAP 6, el xercesImpl brindado por IBM JDK 16, 17 entraba en conflicto con el desordenador jaxb que resteasy-jaxb-provider utiliza.

Este problema también ocurría cuando el usuario estaba usando directamente la jar xercesImpl que EAP 6 proporciona.

Estos conflictos generaban un error java.io.IOException: Stream closed al utilizar IBM JDK 16, 17 o xerces:xercesImpl:2.9.1-redhat-x (proporcionados por EAP 6) como una dependencia en un proyecto basado en resteasy 2.3.6.Final-redhat-x.

Este problema se ha resuelto.

RPMs

1086157 - RHEL6|RHEL5 Web Server desde iso y httpd-manual presentan un error al ejecutar yum update

El ejecutar la acción yum update en una nueva instancia JBoss EAP 6 ejecutando en sistemas basados en Red Hat Enterprise Linux antes de este lanzamiento producía un error. Esto se debía a que faltaba una dependencia RPM ( httpd-manual) del canal jbappplatform-6-i386-server-6-rpm. El paquete httpd-manual ha sido agregado al canal y al realizar la acción yum update ya no se presenta un error.

Remoto

1052204 - Incompatibilidad de protocolos entre clases serializables con diferentes superclases no serializables

En versiones anteriores de JBoss EAP 6 se podía presentar una excepción cuando las MVJ de IBM y Oracle se comunicaban serializando una clase StringBuilder o StringBuffer.

Esto se generaba debido a que el protocolo de orgnización serializaba erróneamente un descriptor de clase para la primera superclase no serializable de una clase serializable.

Este problema se ha resuelto en esta versión del producto con una actualización al componente JBoss Marshalling.
1102271 - JBoss Marshalling no debe requerir clases para campos nulos

En lanzamientos anteriores de Red Hat JBoss EAP 6, si un objeto contenía un campo cuyo valor fuera nulo y el tipo de objeto del campo no existía del lado desordenador entonces los intentos para desorganizar el objeto fallarían con una ClassNotFoundException para el campo.

Este problema se ha corregido en este lanzamiento del producto.
1069075 - Fuga de hilos y OutOfMemoryError en Tomcat usando jboss-client.jar, llamando un EJB en EAP

Una actualización al componente JBoss Remoting en JBoss EAP 6 ha resuelto un problema de OutOfMemoryError que se encontró en versiones anteriores del producto. El problema se rastreó a una fuga de hilos que ocurría cuando una webapp en Tomcat llamaba un EJB.
1011831 - JBREM000205: No lograba aceptar una conexión: java.nio.channels.ClosedChannelException al apagar el servidor

Un mensaje DEBUG del subsistema remoto se registró incorrectamente como un mensaje WARN durante el apagado del servidor. El mensaje registrado era similar al siguiente:
02:46:15,512 WARN [org.jboss.remoting.remote] (Remoting "node1:MANAGEMENT" read-1) JBREM000205: No logró aceptar una conexión: java.nio.channels.ClosedChannelException

Como parte de una actualización al subsistema remoto en este lanzamiento de JBoss EAP 6, este mensaje se ha reclasificado correctamente como un mensaje de nivel DEBUG.
1080429 - Cambie JBREM000200 de ERROR a DEBUG ya que no genera problemas

Los usuarios de versiones anteriores de JBoss EAP 6 en plataformas Windows se pueden haber encontrado con la siguiente IOException cuando se cerró la conexión JMX:
JBREM000200: Falló la conexión remota: java.io.IOException: Se cerró de manera forzosa una conexión existente por parte del host remoto

Este error era generado por Windows cerrando de manera forzosa las conexiones. Ya que no tenia efectos adversos, el nivel de registro para el error se cambió a DEBUG para prevenir que apareciera en registros de nivel menor.
1052258 - segfault y otros problemas xnio ejecutando en IBM JDK en IBM-I

En este lanzamiento de JBoss EAP 6 se ha corregido un problema con las aplicaciones que ejecutan en sistemas IBM fallando con un error de segmentación.

Las caídas del sistema se debían a implementaciones NIO en IBM JDKs que están optimizadas para uso en sistemas operativos IBM. La capa de E/S en JBoss EAP trata de detectar y utilizar estas implementaciones. Sin embargo, en algunos sistemas operativos (como IBM-I) estas implementaciones causan un segfault.

En este lanzamiento del producto, estos sistemas operativos se detectan y se utilizan segundas opciones seguras. Esto resuelve el problema de fallo de la segmentación y el servidor de aplicaciones ya no se cae de manera inesperada.

Remoting,Web

1032552 - OOM debido a muchos objetos org.apache.tomcat.util.net.JIoEndpoint$Poller

En este lanzamiento de JBoss EAP 6 se ha corregido una fuga de hilos que puede generar un OutOfMemoryError. La fuga se rastreó a la clase JIoEndpoint. El código relacionado ha recibido un parche y el error OOM ya no se presenta.

Scripts y comandos

1062595 - RuntimeException por parte de la funcionalidad add-user una vez que el nombre del usuario coincide con la contraseña (modo no interactivo)

Versiones anteriores de JBoss EAP 6 presentaban una RuntimeException si una llamada no interactiva a la funcionalidad add-user fallaba (tal como sucede con combinaciones problemáticas de nombre de usuario/contraseña). Esta excepción tenía la intención de alertar los scripts de que había tenido lugar un fallo. Sin embargo, las excepciones se podrían confundir con un error ya que estos tipos de excepciones no se deben propagar sin ser controlador. Se ha agregado una excepción personalizada en este lanzamiento del producto para indicar que el presentar esta excepción es intencional y no indica un error en la funcionalidad add-user.
1027165 - add-user.sh requiere salida de la consola

Los lanzamientos anteriores de JBoss EAP 6 tenían un error conocido en donde el script shell para agregar usuarios a un servidor EAP (add-user.sh) no se podía ejecutar sin la consola (modo no interactivo).

Esto se debía a que el script shell (add-user.sh) depende de la consola (java.io.Console) para operaciones.

El ejecutar el script shell (add-user.sh) generaba la siguiente excepción junto con la terminación de la funcionalidad:
java.lang.IllegalStateException: JBAS015232: No java.io.Console available to interact with user.

Este problema se ha resulto en este lanzamiento del producto.
1063888 - El script add-user presenta información incorrecta para el argumento de ayuda

En versiones anteriores de JBoss EAP 6, la saluda de ayuda para la funcionalidad add-user presentaba una sola restricción relacionada con contraseñas (que no fueran iguales al nombre de usuario). Esto podía generar confusión al agregar nuevos usuarios ya que hay más de una restricción en lugar para asegurarse de que se utilicen contraseñas válidas. En este lanzamiento del producto, se borró la restricción única del texto de ayuda. Ahora parece junto con otras restricciones aplicables en mensajes presentado al utilizar el modo interactivo.
1062611 - add-user: '@' no se encuentra entre los caracteres no alfanuméricos durante la validación del nombre de usuario

La funcionalidad add-user en versiones anteriores de JBoss EAP 6 presentaba un mensaje de falso cuando se ingresaba un nombre de usuario inválido. El mensaje establecía que un nombre de usuario debe ser alfanumérico, cuando de hecho la funcionalidad se había modificado para aceptar un subgrupo de símbolos especiales en nombres de usuario. El mensaje de error se ha reconstruído para que contenga la lista de símbolos aceptables y ahora los usuarios reciben un mensaje de error más preciso cuando se introduce un nombre de usuario inválido.
1020677 - El script del servicio del modo de dominio usa la cadena equivocada para verificar si JBoss inició

En versiones anteriores de JBoss EAP 6 se encontró que los scripts de servicio autónomo y de dominio utilizaban una variable incorrecta al determinar si el servidor había iniciado correctamente.

Esto podía conducir a resultados incorrectos al tratar de verificar el estado del servidor.

Este problema se ha corregido en este lanzamiento.
956281 - El iniciar EAP 6.1 en windows con mvj 32bit podía generar un fallo al inciar la MVJ

Al ejecutar versiones anteriores de JBoss EAP 6 en MVJ Windows 8 32-bit, la configuración del espacio genérico permanente máximo predeterminado hacía que la MVJ no se creara, lo cual no permitía que el servidor se iniciara.

Este problema se ha resulto en este lanzamiento.
1057127 - jconsole no funciona cuando algunas de sus dependencias reciben parches

Versiones anteriores de JBoss EAP 6 tenían un error que no permitía que el script jconsole.sh ejecutara cuando se aplicaba un parche CP1. El parche actualizaba algunos módulos fijos en jconsole.sh, lo cual a su vez modificaba los archivos jar del módulo original.

Esto significaba que no era posible el conectar a una consola EAP usando jconsole.sh.

Los problemas se solucionaron usando la jboss-cli-client.jar de bin/client, la cual contiene todas las dependencias requeridas.
1062592 - Mensaje de error equivocado de la funcionalidad add-user

En este lanzamiento de JBoss EAP 6 se ha modificado un mensaje de error que la funcionalidad add-user CLI presentaba para evitar confusiones.

En versiones anteriores del producto se presentaba un mensaje de error estableciendo que las contraseñas de usuario requerían por lo menos un caracter alfanumérico si la contraseña que se ingresaba contenía solamente caracteres numéricos. En este lanzamiento el mensaje de error relevante ahora establece que las contraseñas con sólo números deben tener por lo menos un caracter alfabético.
1057625 -sintaxis add-user.sh arreglo cygwin (para EAP 6.3.0)

En versiones anteriores de JBoss EAP 6 se encontró que el script add-user.sh fallaba al ejecutar en entornos Cygwin.

La causa identificada fue una línea de código con formato inapropiado en el script.

Este problema se ha resuelto en este lanzamiento, sin embargo, el script todavía tiene un problema no resuelto cuando se ejecuta en entornos Cygwin. Consulte el tiquete 1069252 en la sección de problemas conocidos de este documento para obtener mayor información.
928486 - Los requerimientos de la contraseña se deben mostrar de antemano

En versiones anteriores de JBoss EAP 6, un usuario que haya ingresado una contraseña inválida al utilizar la funcionalidad add-user solo recibía un error para la primera violación de las reglas para contraseñas.

Si el usuario había roto las reglas múltiples veces entonces se podían llegar a requerir múltiples intentos para crear la contraseña antes de que se seleccionara una contraseña válida.

En este lanzamiento, la funcionalidad de la contraseña ahora presenta una lista completa de las restricciones para la contraseña con anterioridad, reduciendo el número de intentos fallidos.

Seguridad

1023084 - Error en JBossJSSESecurityDomain.java - tratando de utilizar el proveedor equivocado

Versiones anteriores de JBoss EAP 6 tenían un error en cual hacía que JBossJSSESecurityDomain.java tratara de utilizar el proveedor del almacén de llaves/almacén de confianza para obtener instancias del administrador de confianza. Este comportamiento era incorrecto ya que la configuración "trust-manager-factory-provider" no se puede utilizar en la sección JSSE de un dominio de seguridad. El utilizar esta configuración (incluso si está configurado apropiadamente) generaría una excepción durante el arranque. Este error se ha resuelto en este lanzamiento y la configuración "trust-manager-factory-provider" ahora se puede utilizar para establecer trustManagerFactoryProvider.
1065476 - El módulo de inicio de sesión AdvancedLdap no maneja un usuario que tenga un caracter barra en el uid

En versiones anteriores de JBoss EAP 6, las peticiones de autenticación fallaban si el UID que realizaba la solicitud tenía un caracter barra (/). Esto era generado por el módulo de inicio de sesión AdvancedLdap que no podía manjeas las comillas correctamente. En esta versión del producto el módulo de inicio de sesión se ha modificado para borrar las comillas en el DN de usuario retornado antes de intentar un enlace.
1069127 - RBAC + LDAP necesita funcionar con <local/> combinados

En versiones anteriores de JBoss EAP, la carga de grupos LDAP podía fallar si un usuario autenticado no se podía mapear a una cuenta LDAP. Este problema podía surgir ya que el proceso de autenticación usando dominios de seguridad primero negocia un mecanismo entre el cliente y el servidor y luego carga la información de grupo para el usuario. Debido a que el sistema de autenticación local representa el usuario con un nombre de usuario artificial, la segunda parte de este proceso podía fallar si el servidor LDAP no podía mapear el nombre de usuario a un usuario.

En este lanzamiento del producto se agregó un nuevo atributo skip-group-loading al elemento <local /> que se utiliza para autenticación local. Cuando este atributo se establece como true entonces se salta la carga de grupos después de que tiene lugar la autenticación local por lo tanto se evita el error. Sin embargo, si se utiliza un mecanismo diferente entonces la carga de grupos procede de manera normal.
1066488 - dominio de seguridad de administración: las remisiones LDAP no están funcionando

Lanzamientos anteriores de JBoss EAP 6 tenían un error que establecía que todos los usuarios y grupos debían definirse y se podían encontrar en el mismo servidor LDAP.

Cualquier entrada de grupo o usuarios que generaba una remisión no se podrán utilizar con JBoss EAP 6.

Esto se debía a que la búsqueda LDAP dentro de los dominios de seguridad no tenían una lógica para manejar las remisiones si se encontraban al autenticar un usuario frente a LDAP o usando LDAP para cargar sus grupos.

Este problema se ha corregido en este lanzamiento y las remisiones LDAP funcionan tal como se espera.
1030053 - El NegotiationAuthenticator pierde post datos

En versiones anteriores de JBoss EAP 6 se encontró que el NegotiationAuthenticator perdía cualquier parámetro SAMLRequest si se utilizaba junto con enlaces PicketLInk y HTTP_POST. Esto hacía que los usuarios permanecieran en la página de inicio IDP incluso después de una autenticación exitosa. En este lanzamiento del producto el NegotiationAuthenticator ha recibido parches y este problema ya no se presenta.
1065486 - El módulo de inicio de sesión LdapExtended no maneja un usuario que tenga un caracter de barra en el uid

En versiones anteriores de JBoss EAP 6, las autenticaciones de usuario fallaban si el ID del usuario (UID del inglés User ID ) tenía un caracter de barra ( /). Esto se debía a que el módulo de inicio de sesión LdapExtended no manejaba el caracter correctamente. En este lanzamiento del producto el módulo se ha actualizado y ahora borra las comillas del DN de usuario antes de enlazar. Esto resuelve el problema y los usuarios pueden autenticar tal como se espera.
974324 - El registro para el modo de dominio EAP 6 para administración no existe

En versiones anteriores de JBoss EAP 6 el registro TRACE y DEBUG no se habían agregado a las interacciones LDAP dentro de los dominios de seguridad. Esto hacía la diagnosis de los problemas de autenticación en donde LDAP está en uso extramadamente difícil ya que no había disponible un registro de depuración. El registro DEBUG logging ahora se ha agregado a los dominios de seguridad en donde se utiliza LDAP. Ahora los clientes pueden utilizar estos registros para diagnosticar problemas relacionados con LDAP con dominios de seguridad.
1069885 - Los resultados de SecureIdentityLoginModule (y ConfiguredIdentityLoginModule) no son puestos en caché por parte del caché JAAS

En versiones anteriores de JBoss EAP 6 se encontraron problemas de rendimiento al utilizar el SecureIdentityLoginModule que no ponía en caché las contraseñas de la fuente de datos encriptada. Esto tenía lugar debido a que el caché JAAS no permitía que la llave caché fuera nula cuando la aplicación utilizando la fuentes de datos no estaba asegurada.

En este lanzamiento del producto la bóveda se utiliza para encriptar contraseñas de la fuente de datos saltándose el módulo de inicio de sesión JAAS y resolviendo problemas de rendimiento.
1067610 - Los intentos de autenticación fallarán si la rolesQuery del DatabaseRolesMappingProvider retorna un grupo vacío

En versiones anteriores de JBoss EAP 6 se encontró que los intentos de autenticación fallaban si el DatabaseRolesMappingProvider retornaba un valor nulo. Esto era generado ya que la autenticación no podía proporcionar roles a los usuarios autenticados si el valor era nulo. En este lanzamiento del producto, el sistema de seguridad respetará autenticaciones exitosas y no tratará de aplicar roles en instancias en donde el valor retornado sea nulo.
1000185 - La configuración JASPI auth-module no soporta un atributo "module"

En versiones anteriores de JBoss EAP 6, la configuración JASPIC auth-module en el susbsistema de seguridad estaba ignorando el atributo "module". Este atributo le dice a PicketBox desde donde cargar las clases personalizadas auth-module.

Por lo tanto, los JASPIC auth-modules personalizados no se podía configurar ya que PicketBox no podía determinar el módulo jboss que se debía utilizar.

Como el atributo módulo ya existe en el esquema del subsistema de seguridad, la solución involucraba el agregar un código en el subsistema de seguridad para manejar este atributo, permitiéndole a PicketBox el cargar correctamente módulos personalizados.

Por lo tanto, ahora los usuarios pueden configurar JASPIC auth-modules personalizados usando el atributo "module" para indicar el jboss-module que contiene la clase del módulo personalizado.

Servidor

955818 - Las entradas del manifiesto Class-Path para WARs-in-EAR no se manejan apropiadamente

En versiones anteriores JBoss EAP 6, cuando múltiples sub-implementaciones en una EAR se referían a una sola jar no modular por medio de entradas de manifiesto Class-Path, se agregó al primer cargador de clases de la sub-implementación.

Esto generaba problemas de carga de clases ya que las clases en la jar de funcionalidades se encontraba en el cargador de clases equivocado.

Esta versión del producto crea un nuevo módulo de implementación para la jar de funcionalidad y todas las implementaciones dependientes la utilizan. Por lo tanto, los problemas Classloading ya no tienen lugar.
1060269 - búsqueda de DNS invertida al recargar el servidor de dominios maestro

Los usuarios de versiones anteriores de JBoss EAP 6 se pueden haber encontrado con que los servidores no podían reconectarse al controlador de dominios después de que se volvía a cargar si los servidores administrados no se reiniciaban también.

Este problema ocurría si la búsqueda IP invertida estaba configurada incorrectamente, lo que significaba que se le presentaba a los servidores el nombre de host del controlador (y no su dirección IP) al cual volverse a conectar. En estas situaciones la conexión fallaba.

Este problema se ha resuelto en este lanzamiento del producto reutilizando los datos almacenados en el objeto InetSocket. Esto evita la necesidad de realizar una búsqueda IP inversa y le permite a los servidores el reconectarse tal como se espera.
1036872 - No se puede configurar un archivo de políticas de seguridad que deshabilita archivos de políticas especificados en el archivo java.security de JRE.

Se identificó un problema al utilizar el prefijo especial = para deshabilitar los archivos de políticas predeterminadas. La causa subyacente era que cuando el controlador host iniciaba un servidor, proporcionaba null como el valor de java.security.policy, lo que conllevaba al uso de los archivos de políticas especificados en el archivo java.security y posiblemente fallos de permisos que no permitían que el servidor arrancara.

Este problema se arregló modificando el análisis sintáctico de las propiedades del sistema de manera que el valor de una propiedad del sistema cuyo valor empiece por "=" ya no se reestablece a null por parte del controlador host al iniciar un servidor.
1049999 - Class-Path: . puede generar JBAS011046: un componente llamado 'TestBean' ya está definido en este módulo

En versiones anteriores de JBoss EAP 6, algunas bibliotecas jar en WEB-INF/lib tenían una declaración con un atributo Class-Path que contenía "." como entrada.

Este problema hacía que algunos recursos o componentes se procesaran dos veces generando advertencias en el registro.

Este lanzamiento del producto ignora entradas "." en atributos de declaraciones Class-Path de manera que los recursos ya no se procesan dos veces.
924562 - El reinicio de la implementación causado por el reemplazo de dependencias no funciona

En este lanzamiento de JBoss EAP 6 se ha resuelto un problema que podía generar una NullPointerException. La excepción se podía presentar cuando una implementación reiniciara parcialmente algunas estructuras de datos que se requería que ya estuviesen limpias para ahorrar memoria (por ejemplo, cuando se reemplazaba una dependencia). Este problema no permitía que la reimplementación se completara. Para abordar este problema ya no se permiten reimplementaciones parciales en este lanzamiento del producto. Si se reemplaza una dependencia entonces la implementación se reinicia completamente y la excepción ya no se presenta.

Administrador de transacciones

1038993 - No es posible cambiar el tipo del almacén de objetos de hornetq a jdbc por medio de los comandos cli

En versiones anteriores de JBoss EAP 6, los cambios al tipo del almacén de objetos (de HornetQ a JDBC o viceversa) por medio de la interfaz CLI no se propagaron correctamente.

Por lo tanto, el almacén de objetos permanecería tal como se estableció inicialmente (la cual puede haber sido la opción menos deseada).

En este lanzamiento los controladores de escritura use-hornetq-store y use-jdbc-store se han mejorado para deshabilitar la otra opción cuando se utilice y el almacén de objetos utilizado siempre es la opción seleccionada.
1034650 - Incrementar el valor predeterminado del com.arjuna.ats.jta.orphanSafetyInterval

En este lanzamiento del producto se ha corregido un problema en versiones anteriores de JBoss EAP que podían causar el registro de numerosas XAExceptions para deshacer si el tiempo de procesamiento de una transacción coincidía con el tiempo de la actividad del proceso de recuperación periódico. El intervalo del tiempo de expiración de orphanSafetyInterval se ha incrementado a 20 segundos, lo cual disminuye de manera importante el potencial de encontrar las excepciones.
1027126 - El servidor no logró inicar con el almacén de objetos standalone-xts.xml y jdbc ejecutando en mysql 5.5

En versiones anteriores de JBoss EAP 6, cuando el administrador de transacciones estaba configurado para ejecutar transacciones XTS, utilizaba un almacén de objetos JDBC con host en MySQL 5.5 y el controlador se encontraba en el directorio deployments entonces el servidor no lograba iniciar.

Este problema se ha resulto en este lanzamiento.
1107569 - Optimización de una fase: XAException por parte de XAResource omitida y la invocación de beans era equívocamente un éxito

Había un error en versiones anteriores de JBoss EAP 6 que no le permitía a los usuarios el ver una excepción que significaba el fallo de un guardado de cambios de una sola fase.

El error surgía cuando el administrador de recursos fallaba XAR::end pero tenía éxito en XAR::rollback, lo cual significaba que no se reportaba ninguna excepción al usuario.

Este lanzamiento del producto presenta la excepción correcta al usuario confirmando el resultado de un guardado de cambios de una sola fase.
1092198 - LogStoreProbeHandler sobreescribe el modelo raíz LogStoreResource

En versiones anteriores de JBoss EAP 6 se encontró que LogStoreProbeHandler reemplazaba el delegado que LogStoreResource tenía. Esto borraba los datos del campo modelo del delegado existente (por ejemplo, el atributo "type").

Por lo tanto, el invocar la operación probe en el subsystem=transactions/log-store=log-store hacía que el valor del atributo type del recurso cambiara a predetermiando incluso si el administrador de transacciones estaba utilizando hornetq. El comportamiento del tiempo de ejecución real no se vería afectado pero el valor reportado podría estar mal.

Este lanzamiento del producto el contenido del modelo actual del delegado se copia en el nuevo delegado antes de borrarlo y el atributo type ya no será el predeterminado después de ejecutar la operación de sondeo cuando el tipo de almacén de registro es de hecho algo más.

Web

1027272 - La ContextNotActiveException se presenta durante la invalidación de la sesión al utilizar SSO en clúster

En versiones previas de JBoss EAP 6, las válvulas SSO no establecían el contexto cuando las sesiones asociadas con SSO expiraban.

Por lo tanto, ClusteredSingleSignOn llamaba a WeldListener.sessionDestroyed(event) después de que la sesión se hubiera destruido generando una ContextNotActiveException al invalidar la sesión.

En esta versión las válvulas SSO ahora establecen el contexto cuando las sesiones asociadas con SSO expiran y la ContextNotActiveException se evita en la invalidación de la sesión.
1050204 - WAIT_FOR_BEFORE_START no funciona para aplicaciones de contexto /

En versiones previas de JBoss EAP la propiedad WAIT_FOR_BEFORE_START no funcionaba para aplicaciones de contexto raíz. Si un usuario establecía WAIT_FOR_BEFORE_START en / e implementaba una aplicación raíz entonces los conectores no iniciaban tal como se esperaba.

Esto se ha corregido en este lanzamiento y ahora al configurar WAIT_FOR_BEFORE_START como / y al implementar una aplicación raíz, los conectores iniciarán tal como se espera.
1105160 - CPU alta en acceso simultáneo al mapa JSSESupport keySizeCache

El keySizeCache en JSSESupport no estaba sincronizado apropiadamente en lanzamientos anteriores de JBoss EAP 6.

Esto significaba que el acceso simultáneo al JSSESupport keySizeCache podía generar bucles de mapa hash CPU altos.

En este lanzamiento del producto, el acceso al keySizeCache en JSSESupport ahora está sincronizado y el acceso simultáneo al keySizeCache no ocurre.
1036197 - El conector HTTP nativo falla si org.apache.tomcat.util.Constants.ENABLE_MODELER es configura como verdadero

En lanzamientos anteriores de JBoss EAP 6, los métodos start() de las clases del protocolo de JBossWeb Coyote construían un nombre MBean usando el valor getName(), el cual probablemente contendrá una coma y el nombre del objeto MBean no puede tener comas arbitrarias.

El siguiente error se reportaba cuando JBoss tratabs de inciar si se configuró -Dorg.apache.tomcat.util.Constants.ENABLE_MODELER=true:
JBWEB003044: Threadpool JMX registration failed: javax.management.MalformedObjectNameException: Invalid character ':' in value part of property

Este lanzamiento usa getJmxName() en lugar de getName() para construir correctamente el nombre del MBean.

Por lo tanto la excepción ya no ocurre cuando se utiliza -Dorg.apache.tomcat.util.Constants.ENABLE_MODELER=true y el modelador se habilita.

Consola de red

1079948 - No se pueden ver todos los hosts en la consola de administración JBoss EAP 6.2

En versiones anteriores de JBoss EAP 6, al seleccionador de host le faltaba una barra de desplazamiento. Esto hacía difícil el seleccionar los hosts que no podían ser visibles en el seleccionador.

Se agregó una barra de desplazamiento en el seleccionador de host en este lanzamiento del producto y todos los hosts se pueden seleccionar fácilmente.
1014219 - RBAC: Visibilidad del elemento de control para los usuarios con múltiples roles de ámbito

Los usuarios asignados a múltiples roles veían operaciones en la consola a los que no tenían acceso para realizar. Por ejemplo, un usuario con los roles host-master-administrator y host-slave-monitor solo debían poder ver los elementos de control (como el botón Add en la página de configuración del servidor) en el contexto del esclavo host. Este botón no debía ser visible al operar en el contexto del maestro host (pero sí lo era).

Las operaciones que eran visibles de manera incorrecta fallaban si se trataba de utilizarlas ya que el control de acceso correcto se reforzaba en la ejecución de la operación. No había ninguna violación de seguridad.

Este problema en la consola de administración se ha solucionado en este lanzamiento. Los elementos de control, los cuales no son relevantes para un rol de usuario, aunque sí son visibles ahora aparecen en gris y no son activos.
900849 - Error CLI EAP6 cuando los datos pasan de 64k

Cualquier comando CLI que retornara una cadena por encima de 65535 caracteres de longitud fallaba con el siguiente error:
Communication error: java.util.concurrent.ExecutionException: Operation failed

Esto se debía al uso del método java.io.DataOutput.writeUTF() en la biblioteca DMR JBoss. Este método presenta una UTFDataFormatException si la cadena que se está procesando está por encima de 65535 caracteres de longitud. La biblioteca DMR JBoss se ha actualizado para utilizar una técnica opcional para procesar correctamente las cadenas por encima de esta longitud. Cualquier comando CLI que retorne una cadena por encima de 65535 caracteres de longitud ahora se desempeña tal como se espera.
901227 - los atributos node-timeout, worker-timeout, flush-wait y ttl mod_cluster en la consola de red

En este lanzamiento se corrigió un error que estaba presente en una versión previa de la consola de administración basada en red de JBoss EAP 6 que no le permitía a los usuarios el ver o configurar una valor de -1 para los atributos mod_cluster listados:
  • node-timeout
  • worker-timeout
  • flush-wait
  • ttl
1103747 - No puede listar todos los Queues/Topics (de la pestaña "Profiles") en la consola de administración para EAP 6.x

En versiones anteriores de JBoss EAP 6, los usuarios encontraron que no podían listar todos los temas y/o colas bajo la pestaña de perfiles en la consola de administración. El número máximo de colas visibles era ocho. Esto se ha abordado en este lanzamiento y ahora todas las colas son visibles.
1029687 El cierre de sesión de la configuración de la consola de administración (ssl) asegurada redirecciona a la dirección http

En versiones anteriores de JBoss EAP 6, los usuarios terminando sesión de una consola de administración asegurada (sobre HTTPS) serían redireccionados incorrectamente a direcciones HTTP estándar y el cierre de sesión fallaba.

Esto se debía a que las redirecciones tenían valores fijos para utilizar direcciones HTTP.

En este lanzamiento del producto se han actualizado las redirecciones para que tengan en cuenta si el usuario está accediendo la interfaz a través de HTTP o HTTPS y redireccionar apropiadamente.
1048211 - El dominio de seguridad muestra la política de seguridad equivocada en la consola de administración

Un error en lanzamientos anteriores de JBoss EAP 6 hacía que el dominio de seguridad mostrara una política de seguridad incorrecta.

La actualización de la selección se ha arreglado en este lanzamiento y ahora los detalles se actualizan de acuerdo con la política de seguridad seleccionada
999813 - [Usability] La operación para cancelar se ignora al vaciar la métrica del destino JMS en la consola de administración

En JBoss EAP 6.1.0 y 6.1.1, antes de vaciar un destino JMS a través de la consola de administración de red se presentaba una ventana de confirmación la cual pedía la confirmación de la acción. Sin importar la respuesta del usuario, el destino JMS era vaciado. La causa raíz de este problema era que el resultado de la solicitud de confirmación se ignoraba. Este problema ahora se ha resuelto y el destino JMS solo se vacía si la ventana de confirmación se cierra con "OK".
1012490 - Lista todos los nombres JNDI para los destinos de mensajería en la página de métrica del tiempo de ejecución

En versiones anteriores de JBoss EAP 6 se encontró que la página de métrica del tiempo de ejecución para los destinos de mensajería (Destinos JMS y del tiempo de ejecución) listaban únicamente un solo nombre JNDI asignado para un destino Java Messaging Service (JMS). Los otros nombres JNDI para un destino Java Messaging Service (JMS) se denotaban con una elipsis ("...").

Esto significabaa que solo se podía acceder a la lista completa de nombres JNDI para un destino Java Messaging Service (JMS) visitando la lista de destinos completa en los perfiles EAP.

En este lanzamiento, la lista completa de nombres JNDI para todos los destinos Java Messaging Service (JMS) está visible en la página de métricas para los destinos de mensajería (destinos JMS y tiempo de ejecución) ayudado por una herramienta.

Si una lista de nombres JNDI es demasiado larga entonces se trunca y se presenta la elipsis pero la herramienta presenta la lista completa cuando el ratón se desplaza sobre la entrada de un nombre JNDI.
1073537 - Se requieren pruebas de conexión DS para pasar a través de todos los servidores

En versiones anteriores de JBoss EAP 6, la prueba de conexión DS utilizaba todos los servidores en el dominio. Esto podría tener un impacto negativo en el rendimiento.

En este lanzamiento del producto sólo se utilizan los servidores de los perfiles seleccionados actualmente para la prueba de conexión, lo que mejora y hace más confiable el rendimiento.

Servicios de red

1060001 - La inyección de dependencias Spring no funciona en instancias de punto final

Un error presente en versiones anteriores de JBoss EAP 6 que no permitía que los beans creados en JBoss WS-CXF fuesen inyectados en los puntos finales se ha resuelto con una actualización de componentes en este lanzamiento.
1032593 - Los datos se mantienen en jboss-eap-6.2/standalone/data/wsdl después de que se borra la implementación de la aplicación

Las versiones antreiores de JBoss EAP 6 almacenaban los datos en el directorio Web Services Description Language (WSDL) (EAP_HOME/standalone/data/WSDL) incluso después de que se borrara la implementación de una aplicación del servidor JBoss EAP.

Los datos WSDL se almacenaban ya que este era el comportamiento predeterminado tan pronto como la aplicación fuera implementada en el servidor sin un mecanismo automatizado para borrar los archivos almacenados.

Este problema se resolvió actualizando archivos en los repositorios (jbossws-cxf-4.2.x y trunk) para cambiar el comportamiento de mantener y publicar registros WSDL.

El arreglo previene el almacenamiento de datos en el directorio WSDL después de que se borra la implementación de una aplicación del servidor JBoss EAP 6.3.
1032439 - fallos intermitentes de la prueba de jbossws generados por una javax.management.InstanceNotFoundException: jboss.ws:service=ServerConfig

En lanzamientos anteriores de JBoss EAP 6, la configuración del servidor WS no siempre estaba disponible a través de JMX.

Esto era causado por la dependencia que ya no está en uso del servicio OPTIONAL al servidor MBean en WS ServerConfigService

En esta versión, la dependencia del servidor MBean se establece como REQUIRED en lugar de OPTIONAL cuando el subsistema JMX está disponible

Por lo tanto, la configuración del servidor WS siempre está disponible a través de JMX cuando el subsistema JMX está disponible
1069349 - Las importaciones de esquema en CXF pueden tener conflictos de nombrado en la URL utilizada para recuperarlas

Un error en lanzamientos anteriores de JBoss EAP 6 creaba conflictos de nombrado en URLs al importar esquemas en CXF. Este problema se ha abordado en este lanzamiento del producto.
900634 - JBossWS-CXF no envía un mensaje de falla al punto final FaultTo cuando se solicita un mensaje de respuesta.

Si el elemento FaultTo de WS-Addressing se configuraba con un cliente WS entonces el servidor WS no enviaba mensajes de fallo al destino FaultTo. Sin embargo, si el elemento ReplyTo estaba establecido, el servidor WS sí enviaba las respuestas al destino ResponseTo. Este error se solucionó en esta versión de JBoss EAP 6 con una actualización de Apache CXF.
1040732 - JAXBDataBinding no puede manejar la excepción con objetos genéricos como ObjectWithGenerics<Boolean, Integer>

Lanzamientos anteriores de JBoss EAP 6 tenían un problema que se presentaba cuando una clase Exception contenía algunos miembros con parámetros de tipo definidos como se puede ver en el siguiente ejemplo.

El WSDL generado de la clase excepción era incorrecto y el mensaje de falla SOAP no se espetaba.
@javax.xml.ws.WebFault
public class GenericsException extends Exception {
  private static final long serialVersionUID = 1L;
  private ObjectWithGenerics<Boolean, Integer> obj;

  public ObjectWithGenerics<Boolean, Integer> getObj() {
  return obj;
  }
  public void setObj(ObjectWithGenerics<Boolean, Integer> obj) {
  this.obj = obj;
  }
}

Este problema se ha resuelto upstream y la solución se incorporó en este lanzamiento del producto.
1079084 - Webservices DUP no está escaneando todas las clases visibles para la anotación @WebService

Se descubrió que el Webservices DUP en versiones antreiores de JBoss EAP 6 tenía un error que no le permitía escanear todas las clases visibles con la anotación @WebService. Se presentaba un error cuando un archivador war que tenía un web.xml con una <servlet-class> que se refiere a un punto final JAX-WS (así que la clase se anota con @WebService) se encontraba dentro de un archivador ear y la jar que contiene la clase se encontraba en el directorio lib/ del archivador ear . El código relevante se ha modificado en este lanzamiento para escanear más detalladamente en busca de clases @WebService y el error ya no se presenta.
1077259 - HttpServletRequestSnapshot no se crea para peticiones con la propiedad WSA ReplyTo establecida

Un error en lanzamientos anteriores de JBoss EAP 6 prevenía la creación de HttpServletRequestSnapshot para peticiones con WS-Addressing habilitado y la propiedad del encabezado ReplyTo especificada para una dirección no genérica.

Este error generaba una respuesta HTTP 202 inmediata y la petición del servlet se reciclaba de manera temprana por parte del contenedor. Esto no permitía que los puntos finales accedieran la información de contexto de la peticicón servlet.

Este problema se ha resuelto en este lanzamiento del producto con una actualización al componente CFX.
1079043 - MessageContext se pierde cuando el cliente JAX-WS se invoca desde dentro de una implementación de punto final JAX-WS

En versiones anteriores de JBoss EAP 6 había un error que hacía que cuando se invocaba un cliente JAX-WS dentro de un punto final hacía que el MessageContext del punto final se borrara del ThreadLocal y no se reemplazaba al final de la llamada del cliente.

Esto hacía que el MessageContext no estuviera disponible para los puntos finales después de realizar una invocación JAX-WS.

Este problema se ha resulto en este lanzamiento del producto.
1031642 - El atributo del subsistema WebServices modify-wsdl-address con valor falso se ignora

Versiones anteriores de JBoss EAP 6 tenían un error que no permitían que la pila WS procesara @WebService(wsdlLocation=...) al realizar otra escritura de wsdl soap:address.

El atributo de anotación anterior no se procesaba cuando la anotación se ponía solamente en las interfaces del punto final del servicio.

Este problema se ha corregido en este lanzamiento.
1060355 - validación del esquema + múltiples imporaciones de esquema en el mismo espacio de nombre + búsqueda del catálogo no funciona

Un problema que hacía que el algoritmo en org.apache.cxf.wsdl.EndpointReferenceUtils.SchemaLSResourceResolver#resolveResource no resolviera el esquema correcto y retornara sólamente el primer esquema que encontraba se ha corregido con una actualización al componente CXF.

jbossas

1067620 - No puede cambiar los permisos de la aplicación en EAP 6 cuando el Java Security Manager está habilitado

Se encontró un problema con la aplicación de las políticas de Java Security Manager (JSM), en donde se le otorgaba a las aplicaciones implementadas el permiso AllPermission, lo cual contradecía el archivo de políticas. La causa raíz de este problema era que el sistema de archivos virtual (VFS del inglés Virtual File System) no estaba habilitado así que las políticas basadas en URLs vfs:/... no se cargaban y en lugar se aplicaban los permisos predeterminados. Este problema ahora se ha resuelto asegurándose de que el módulo VFS se cargue y las políticas JSM ahora se aplican correctamente.

mod_cluster

1008901 - Algunos mensajes de registro serios no tienen un id para identificarlos

En versiones anteriores de JBoss EAP 6 se encontró que dos mensajes de registro no estaban localizados correctamente.

Por lo tanto los usuarios no vieron un mensaje MODCLUSTER{id} ni su traducción.

En este lanzamiento se agregaron dos mensajes: MODCLUSTER000044 y MODCLUSTER000045.

Ahora los mensajes aparecen tal como se esperaba.
1030965 - El número de contextos registrados afecta de manera negativa el rendimiento de mod_cluster

Se identificó un problema de rendimiento en el servidor HTTP Apache con mod_cluster configurado como un balanceador de carga. Las operaciones de memoria compartida httpd sen la tabla workers->nodes afecta de manera negativa el rendimiento del balanceador de carga. Por lo tanto, el rendimiento del balanceador de carga httpd disminuye cuando el número de contextos registrados incrementa.

Para solucionar este problema intente disminuir el número de contextos registrados.

Para arreglar este error se ha modificado el httpd para utilizar la memoria local en lugar de la memoria compartida.
1020142 - el subsistema modcluster XSDs no describe el atributo worker-timeout

En versiones anteriores de JBoss EAP 6, el mod_cluster XSD utilizado para validaciones no especificaba un atributo worker-timeout.

Esto significaba que el utilizar XSD para validar la configuración puede haber hecho fallar la validación aunque la configuración era correcta y analizada sintácticamente de manera correcta por parte del servidor.

Se ha arreglado el esquema XSD y ahora al utilizar el esquema XSD para validación cuando se utiliza el atributo worker-timeout sí pasará la validación.
1058334 - ${project.version} no está resuelto para mod_cluster en el registro del servidor

En lanzamientos anteriores de JBoss EAP 6, la lógica de la cadena de versiones estaba utilizando una ${project.version} en el ModClusterLogger.java

Por lo tanto, ${project.version} se escribía en el registro del servidor.

En esta versión, la lógica se ha modificado agregando una cadena de versión en Version.properties y leyendo antes de registrar el mensaje de inicio. Ahora la versión se presenta correctamente en el registro del servidor.
985101 - STOP-APP no incluido en la página mod_cluster-manager junto con ENABLE/DISABLE-APP

En versiones anteriores de JBoss EAP 6, no se presentaba el comando STOP-APP en la página mod_cluster-manager.

Este problema se ha corregido en este lanzamiento y el comando STOP-APP ahora está disponible en la página mod_cluster-manager tal como se esperaba.
980246 - mod_cluster-manager puede dividir alias de un VirtualHost único, generando una página confusa

En lanzamientos anteriores de JBoss EAP se reportó que al implementar múltiples aplicaciones, cada uno con un servidor virtual único y cada servidor virtual con múltiples alias, el mod_cluster_manager podía presentar de manera incorrecta el mismo host virtual múltiples veces (uno para cada alias).

Este problema se ha resuelto y ahora todos los hosts virtuales se presentan solo una vez en la página del administrador junto con todos los alias tal como se esperaba.
1098576 - Los comandos para detener de ModClusterService siempre consumen sesiones

En versiones anteriores de JBoss EAP 6, al utilizar los comandos para detener de ModClusterService o stopContext de la interfaz CLI no lograba mover un contexto al estado STOPPED al no lograr consumir las sesiones activas. Esto significaba que estos comandos no eran viables para detener rápidamente el contexto cuando se desea (sin consumir). Este problema se ha resuelto con una actualización al componente mod_cluster.
1044594 - [WFLY-2663] las propiedades de métrica mod_cluster nunca se aplican

En versiones anteriores del subsistema mod_cluster la métrica y las propiedades de carga configuradas especificadas para estos se analizaban sintácticamente desde el XML, pero no se aplicaban a las clases.

Esto significaba que el configurar propiedades para cargar la métrica no tenía ningún efecto.

En este lanzamiento, las propiedades se aplican a los objetos tal como se esperaba.
1052185 - MODCLUSTER-365: los MCMPs restablecidos se envían a todos los proxies disponibles

Un lanzamiento anterior de JBoss EAP tenía un problema conocido que hacía que mod_cluster enviara los MCMPs (Mod_Cluster Manangement Protocols) restablecidos a todos los servidores httpd en su lista proxy después de reiniciar uno de ellos. Este comportamiento podía tener un impacto negativo en los sistemas con el contexto auto habilitación configurado como false.

El comportamiento correcto es enviar las peticiones para restablecer solo al servidor reiniciado. Este problema ocurría debido al que el DefaultMCMPHander.status llamaba a sendRequests, el cual se envía a todos los proxies por defecto.

Este problema se ha resuelto gracias a una actualización al componente mod_cluster.