7. Alterações neste lançamento

7.1. Correções de Bugs

CDI/Weld

1051375 - Caso múltiplos arquivos beans.xml existirem num war implantado no EAR, todos os CDI beans serão registrados duplamente.

Nas versões anteriores do EAP 6, quando uma implantação EAR contendo uma subimplantação WAR com múltiplos arquivos beans.xml, ex.: no WEB-INF/beans.xml and WEB-INF/classes/META-INF/beans.xml, todos os beans eram registrados duplamente e a implantação falharia. Isto foi corrigido pela adição do processador para levar em consideração esta possibilidade e tais implantações não falhem mais na implantação.
1029099 - NPE quando replicando o CDI bean no EAP 6.1.0 cluster

A ID da sessão criada nas instâncias com cluster das versões anteriores do JBoss EAP continham uma fonte completa nos metadados do bean implantado (usado para criar a ID da sessão). Isto levava beans implantados em diferentes nós do cluster a serem recriados caso a ID da sessão fosse reutilizada quando acessando um nó diferente. Um NullPointerException pode ser visto também no log do nó mais tarde.

Um novo código foi introduzido que obtém um caminho relativo, ao invés de um caminho absoluto. Isto significa que os beans não são mais recriados e o NPE não está mais presente.
1050963 - Correção permanente para: org.jboss.weld.exceptions.DeploymentException: O nome do WELD-001414 Bean é ambíguo.

A validação do nome de bean não era isolada em implantações com subimplantações múltiplas e isto levava ao DeploymentException em alguns cenários. Isto foi resolvido com a atualização do componente Weld neste lançamento do Red Hat JBoss EAP 6.
1070069 - Conversação em intervalo inesperadamente ativa na próxima solicitação

Nas versões anteriores do JBoss EAP 6 foi descoberto que a conversação poderia ser inesperadamente ativada e associada com a solicitação, mesmo após a conversação expirar, resultando num NonExistentConversationException.

Isto é devido, num aplicativo JSF, o Weld não verificar corretamente o estado de conversação no início das solicitações.

Este lançamento do produto inclui um procedimento de invalidação e ativação do contexto de conversão para verificar o estado de conversação more detalhadamente. Como resultado, as conversações expiradas não são mais confundidas como associadas com as solicitações.

CLI

988283 - CLI GUI - o diálogo do atributo de gravação para o valor da sequência deve incluir o valor no comando gerado entre aspas.

A tentativa de determinar um valor usando a ferramenta jboss-cli que continha uma propriedade apenas salvaria o caractere $ no valor ao invés da propriedade, a não ser que o valor por completo estivesse entre aspas. Isto é devido ao pesquisador da linha de comando CLI incorretamente pesquisar qualquer expressão ${X} com apenas $, a não ser que estivesse entre aspas.

O pesquisador da linha de comando foi corrigido neste lançamento, de forma que os atributos com as propriedades serão corretamente pesquisados mesmo se eles não estirem entre aspas.
1007831 - CLI GUI - A operação adicionar falha para os webservices client-config e endpoint-config

Nas versões anteriores do JBoss EAP 6, uma operação adicionar que não possuía qualquer argumento, era tratada como uma operação que não requeria qualquer entrada do usuário do CLI GUI.

Isto levava o usuário a estar apto a executar a operação sem fornecer o argumento nome solicitado que levaria à falha.

Neste lançamento, a operação adicionar sem argumentos é agora tratada pela lógica da interface GUI como tendo o argumento nome solicitado.

Agora, antes de permitir que o usuário execute a operação adicionar, que na descrição do modelo de gerenciamento não requer qualquer argumento, o usuário será questionado a fornecer o argumento nome solicitado.
1019232 - O jboss-cli.sh gera o NullPointerException quando usando a tab completa no nó data-source

Nas versões anteriores do JBoss EAP 6, a ferramenta jboss-cli geraria uma exceção e sairia quando o usuário tentasse usar o recurso de conclusão da tab em algumas circunstâncias.

Isto ocorreu devido a um manuseio de exceção inadequado no pesquisador do comando para essas situações e foi corrigido neste lançamento.
1031173 - O jboss-cli.bat não funciona quando o EAP instala em um diretório com espaços

A ferramenta jboss-cli não seria lançada com sucesso no Microsoft Windows caso o JBoss EAP 6 fosse instalado num diretório que possuísse espaços ou outros caracteres especiais tais como parâmetros em seu caminho. Por exemplo, a seguinte mensagem de erro era exibida caso o JBoss EAP 6 fosse instalado no diretório C:\JBoss EAP\jboss-eap-6.2:
Erro: Não foi possível encontrar ou carregar o EAP\jboss-eap-6.2\bin\jboss-cli-logging.properties da classe principal

Este problema foi corrigido neste lançamento pela alteração de como a ferramenta jboss-cli declara e usa os caminhos do arquivo no Microsoft Windows. Como resultado, isto pode ser usado sem atalhos nas instalações do JBoss EAP 6 em diretórios que possuem espaços ou outros caracteres especiais em seus caminhos nos sistemas do Microsoft Windows.
1026418 - O comando passado como argumento não é executado enquanto aceitando o certificado SSL.

Quando iniciando o JBoss EAP 6 CLI com um comando sendo passado como um argumento, caso aquele servidor solicitasse ao usuário aceitar um certificado do servidor, ele registrava aquele aviso como erro. Isto resultava num comando passado como um argumento sendo ignorado, uma vez que os comandos são apenas executados caso nenhum dos erros tenham ocorrido.

Este problema foi corrigido colocando a solicitação de aceitação do certificado como um resultado normal ao invés de um erro. Como resultado, quando iniciando o CLI um comando como um argumento é executado com êxito após o usuário aceitar o certificado do servidor.

CLI,Remoting

1037574 - O OOM provavelmente causou uma limpeza inapropriada quando executando múltiplas operações do CLI

Os usuários das versões anteriores do JBoss EAP 6 podem tem encontrado erros OutOfMemory quando executando operações múltiplas através da interface da linha de comando.

O problema foi rastreado nos esvaziamentos de memória causados pelo incorreto esvaziamento de memória quando usando o CLI.

Este problema foi corrigido neste lançamento do produto.

Carregamento de Classe

1060997 - O testConnection deve considerar o carregador de classe da implantação

Uma bug, foi identificada, da qual poderia levar versões anteriores do JBoss EAP a gerarem uma exceção quando testando uma fonte de dados. A exceção aparecia enquanto usando o protocolo LDAP na tag "connection-url" da fonte de dados. O produto falhava a instanciar InitialContextFactory uma vez que o módulo "org.jboss.as.connector" não estava apto a acessar algumas das classes fornecidas do JDK (tais como com.sun.jndi.ldap.LdapCtxFactory). Isto resultou na falha do teste de conexão da fonte de dados quando o Datasource "connection-url" estava usando o protocolo "ldap://".

Este problema foi solucionado pela adição de uma dependência no módulo sun.jdk ao org.jboss.as.connector. Isto faz com que as classes JDK solicitadas sejam acessíveis a partir do módulo do conector e o teste da fonte de dados usando o CLI que usa a operação "test-connection-in-pool" suceder.
1054972 - A inicialização dos MBeans usa o TCCL incorreto

Nas versões anteriores do JBoss EAP, foi verificado que o TCCL (thread context class loader - carregador de classe do contexto thread) não estava apropriadamente determinado quando iniciando os MBeans encontrados nos arquivos .sar. Isto significa que os recursos na implantação não eram disponibilizados ao MBean até a inicialização. Nesta atualização do produto, o TCCL é agora determinado de forma apropriada em volta da chamada à inicialização MBean, sendo que os MBeans podem agora acessar os recursos de implantação sob inicialização.
971076 - O módulo "org.jboss.log4j.logmanager" precisa de dependência no módulo "javax.mail.api"

Nas versões anteriores do JBoss EAP 6, o org.jboss.log4j.logmanager não especificou sua dependência no javax.mail.api em seus module.xml.

Este lançamento adiciona dependência ao módulo logmanager.

Clustering

990567 - O ClassCastException quando storing a sessão http ao PostgreSql

Um problema foi identificado e afetava o storage da sessão HTTP com o Postgresql. Na seguinte configuração jdbc-store, ocorreu um erro ClassCastException, assim como a mensagem de erro de amostra apresentada aqui. Os valores da sessão HTTP seriam persistidos mas o aplicativo falharia ao reimplantar com a mesma mensagem de erro.
<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: Execution error: java.lang.ClassCastException: java.lang.Class não foi possível converter ao org.infinispan.loaders.bucket.Bucket...

Este problema foi resolvido com a atualização do componente e os dados da sessão HTTP podem ser persistidos num banco de dados Postgresql.
917010 - CacheException: Falha enquanto desregistrando os mbeans no encerramento do servidor

As versões anteriores do JBoss EAP 6 continham uma bug no componente Infinispan que poderia levar à seguinte exceção no encerramento do servidor:
WARN [org.infinispan.jmx.CacheJmxRegistration] (MSC service thread 1-1) ISPN000032: Problems un-registering MBeans: org.infinispan.CacheException: Failure while unregistering mbeans

O erro não evitou o encerramento com êxito do servidor e foi causado por solicitações de encerramento múltiplas (a partir do CacheService e EmbeddedCacheManagerService) sendo enviadas às instâncias de cache único.

Este problema foi solucionado com uma atualização do componente Infinispan.
963448 - Manuseio de exceção incorreto no CoreGroupCommunicationService#handle

Nas versões anteriores do JBoss EAP 6, foi descoberto que o CoreGroupCommunicationService#handle estava manuseando incorretamente as exceções, afetando o chamador na classe.

A classe estava ocultando exceções e retornando valores null. Este valor poderia produzir comportamentos inesperados e não intencionados nos chamadores.

Neste lançamento, a resposta nula será tratada pelo gerenciador de bloqueio distribuído, no entanto o uso do CommandDispatcher em lançamentos futuros do produto resolverão o problema de forma permanente.
1039585 - Vazamento de memória na sessão com cluster

Nas sessões anteriores do JBoss EAP 6 havia uma bug que poderia levar a um OutOfMemoryException nas sessões da web distribuídas. A exceção era encontrada caso a sessão da web expirasse sem os objetos de bloqueio criados pelo gerenciador da sessão sendo lançados ou destruídos. Uma vez que as sessões da web continuavam a expirar, os objetos de bloqueio residual acumulavam na memória. Isto levaria, eventualmente a um OutOfMemoryException. A única alternativa era reimplantar o aplicativo da web.

Neste lançamento do produto os objetos de bloqueio são lançados de forma apropriada e o OutOfMemory não é mais apresentado
956904 - O Infinispan remote-store requer o remote-servers, porém não é marcado como requerido no modelo mgmt

Um problema foi identificado no manuseio da configuração do remote-store do Infinispan. A opção remote-store requeria que o valor da opção remote-server fosse determinada, porém isto não era obrigatório, resultando na falha do remote store. Este problema foi resolvido pela determinação obrigatória do parâmetro remote-server, evitando uma configuração remote-store inválida.

Nesta amostra, o comando CLI de gerenciamento está incompleto e um aviso é exibido.
[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"}
}

Nesta amostra, o comando CLI de gerenciamento 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"}
}

Gerenciamento do Domain

1015303 - O realm de segurança LDAP precisa possuir intervalos configuráveis

Este lançamento do JBoss EAP 6 contém um aprimoramento que permite o uso das propriedades nas conexões LDAP de saída.

Nas versões anteriores do produto, as conexões LDAP de saída eram criadas com um conjunto limitado de propriedades deixando o restante ao comportamento default. Como resultado, não foi possível que as propriedades personalizadas fossem definidas para controlar os aspectos tais como a conexão e os intervalos de leitura.

Neste lançamento, as propriedades personalizadas podem ser definidas para as conexões LDAP de saída com o código similar ao seguinte:
<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 - O aplicativo desaparece da sessão de Implantações de Gerenciamento do EAP console

Nas versões anteriores do JBoss EAP 6, o status da implantação não era atualizado no filesystem quando o console era usado.

Como consequência, o uso de ambos filesystem scanner e console para o gerenciamento do status de uma implantação resultou no scanner acreditando que a implantação seria implantada.

Este lançamento do produto habilita o console e o filesystem scanner a compartilharem o status da implantação, sendo que os usuários podem agora usar ambas as ferramentas para gerenciar as implantações de gerenciamento.
1035232 - O modo EAP Domain não está funcionando de forma apropriada com o gerenciador de Segurança

Nas versões do JBoss EAP 6, os servidores num managed domain não lançariam com êxito caso eles fossem configurados para usar o Java Security Manager sem a especificação do classname do Gerenciador de Segurança.

Por exemplo, isto é normalmente realizado quando usando o Security Manager pela especificação do -Djava.security.manager tanto no ` domain.conf` ou como parâmetro da linha de comando.

Este problema ocorreu uma vez que a propriedade de sistema sem um valor era passada pelos Host Controllers aos seus servidores gerenciados com o valor de true. Isto significa que os servidores iriam tentar incorretamente a usar o Java Security Manager com a classname de true.

Este problema foi corrigido neste lançamento pela adição de checagens extras para as propriedades do sistema do host controller, de forma que a propriedade do sistema é passada aos servidores gerenciados corretamente. Como resultado, o uso do managed domain e o uso do Gerenciador de Segurança default, pela especificação -Djava.security.manager, devem funcionar conforme o esperado.
1047515 - O Modo Domain não inicia com o IBM JDK

Um problema que frequentemente evita com êxito a iniciação do JBoss EAP 6, em ambientes IBM JDK nas máquinas do Windows, foi endereçado neste lançamento.

O problema foi rastreado de como os dados binários (i.e. a byte[]) gravados ao java.lang.Process.getOutputStream() pelo processo pai são recebidos no System.in pelo processo filho. Qualquer bite cujo ordem seja maior que 1 é incorreto quando recebendo a produção do seguinte resultado no log do console:
[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)

Um Controlador do Processo do EAP managed domain comunica-se com os processos do servidor que ele gerencia sobre o mecanismo, significando que o problema afetou o EAP 6 managed domains.

Neste lançamento do produto, toda a comunicação ao processo gerenciado sobre o stdin foi codificada com o Base64, que melhora o problema e os servidores Managed domain iniciam de forma apropriada no Windows com o IBM JDK.
1054776 - O ClientConfigurationImpl não deve traduzir o endereço IP ao hostname

Nas versões anteriores do JBoss EAP, quando criando uma instância do cliente controlador e passando-a para um endereço IP conectá-la, o endereço IP era traduzido internamente ao host name da máquina.

Neste caso, quando o cliente tentava realizar uma conexão, ele usava o host name ao invés do endereço IP.

Isto não introduziu sobrecarga desnecessária pelo envolvimento do servidor DNS, mas em alguns casos de implantações específicas, isto levou o cliente a tentar a conexão em um endereço IP diferente da mesma máquina onde a instância do JBoss EAP estava associada, resultando na falha desta tentativa da conexão.

Isto foi corrigido neste lançamento, sendo que o código do cliente controlador não traduz internamente o endereço IP gerado pelo nome do host e usa apenas o endereço IP (ao invés do nome do host correspondente) para realização da conexão.

Perceba que esta correção não afeta o cenário quando o nome do host é passado ao método de criação do cliente controlador. Neste caso, o nome do host será traduzido a um endereço IP e aquele endereço será usado, conforme esperado.
1072915 - Os slaves não podem reconectar-se ao mestre reiniciado caso o RBAC estiver habilitado

Nas versões anteriores do JBoss EAP, quando reconectando ao host-controller mestre, o modelo de configuração era adicionado à localização errada.

Isto significa que a reconexão ao host-controller mestre com o RBAC habilitado falharia.

Neste lançamento, o modelo é adicionado na localização correta, garantindo que o slave host conecta-se sem problemas.
1040621 - Não é possível usar implantações com o mesmo runtime-name num domain

Nas versões anteriores do JBoss EAP 6, a checagem por valores duplicados para os atributos runtime-name da implantação num grupo do servidor na iniciação era muito agressiva. A geração de um erro no início era incorreto caso houvesse quaisquer runtime-names duplicados no domain por completo, ao invés de apenas um grupo único do servidor.

Como resultado, a inclusão de múltiplas implantações num domain com o mesmo runtime-name resultaria numa falha boot mesmo se essas implantações não estiverem mapeadas ao mesmo grupo de servidor.

Por exemplo:
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

Neste lançamento, a validação de nomes do runtime exclusivos foi removida de um analisador XML à lógica de execução da operação, sendo que a lógica da validação foi ajustada para ignorar duplicatas não associadas com o mesmo grupo do servidor.

As implantações múltiplas com o mesmo valor do runtime-name podem agora coexistir num domain contanto que elas não estejam mapeadas no mesmo grupo de servidor.
1076066 - Não é possível promote --backup slave HC ao mestre e o recarregamento sem mover o domain.cached-remote.xml

Nas versões anteriores do JBoss EAP 6, uma bug evitava que um slave Host Controller, que foi reconfigurado, a agir como o Master carregando a configuração do domain com cache sob a iniciação. Isto era devido ao Mestre recém promovido carregar a configuração a partir do arquivo domain/configuration/domain.xml ao invés do arquivo domain/configuration/domain.cached-remote.xml.

Neste lançamento do produto, caso um slave HostController iniciar com a opção --backup, ele é reconfigurado para agir como mestre e é, então, recarregado para obter aquela alteração. O arquivo domain.cached-remote.xml que ele estava mantendo enquanto executando como um backup é automaticamente detectado e usado.
1038465 -O servidor binding socket de saída não é interrompido quando o recurso é removido

Nas versões anteriores do JBoss EAP 6, o serviço binding socket de saída não era interrompido quando o recurso era removido.

Isto significa que não era possível adicionar um remote-destination-outbound-socket-binding com o mesmo nome uma vez que a operação :add falharia devido já existir um serviço registrado com o nome.

Neste lançamento, quando um recurso remote-destination-outbound-socket-binding é removido, o serviço correspondente é interrompido.

Como resultado, é possível remover e adicionar o remote-destination-outbound-socket-binding sem qualquer falha.
1110065 - Quando criando domain slave seguido por uma configuração, a propriedade do sistema falha quando realizada no modo em lote

Nas versões anteriores do JBoss EAP 6, quando o Host Controller processava uma atualização em sua configuração, ele criava as operações para aplicar as alterações a todos os servidores sendo executados que estava gerenciando.

Um problema foi relatado uma vez que o Host Controller também criou operações para o servidores não executando adicionarem uma propriedade de sistema "env" que resultava em erros "Nenhum manuseador para a composição da operação neste endereço".

Este lançamento do produto não cria mais operações para modificar o ambiente dos servidores sem execução e não há mais a ocorrência de erros.
1093866 - A opção de configuração "admin-only-policy" slave HC não está implantada corretamente

Nos lançamentos anteriores do JBoss EAP 6, um slave Host Controller iniciado no modo admin-only não estaria apto a conectar ao Domain Controller para obter a ampla configuração do domain.

Como resultado, caso um slave Host Controller for iniciado com o --admin-only e seu host.xml possuir a configuração admin-only-policy="fetch-from-master", o slave não pode conectar-se ao mestre para obter a configuração ampla do domain.

Isto evita que o --admin-only slave a usar o RBAC, a não ser que uma cópia do arquivo de configuração do domain-wide seja stored localmente como domain.cached-remote.xml, e o slave seja iniciado como --cached-dc.

Neste lançamento, a lógica da conexão slave foi corrigida e o slave pode conectar-se ao mestre e obter a configuração ampla do domain, permitindo-o obter a política de configuração RBCA ampla do domain.
1024109 - O NPE no DelegatingServerInventory

As solicitações de gerenciamento enviadas ao Host Controller imediatamente após iniciação do Host Controller poderiam falhar com a exceção do tipo NullPointerException. Isto era devido a um período de tempo em que o Host Controller estava apto a receber solicitações e quando o servidor do sistema de gerenciamento do servidor havia iniciado por completo. Este período de tempo era inferior a um segundo, porém as solicitações recebidas naquele período falhariam.

O problema foi resolvido neste lançamento, onde o Host Controller apenas receberá solicitações uma vez que o sistema de gerenciamento do servidor é iniciado por completo. Como resultado, não há mais um período longo de solicitação onde as solicitações recebidas irão trigger um NullPointerException devido a um sistema de gerenciamento do servidor não ter sido iniciado por completo.
1085122 - O ApplyRemoteMasterDomainModelHandler deve aplicar os valores do recurso root

Nas versões anteriores do JBoss EAP 6, foi averiguado que o recurso domain root do domain controller não estava sendo aplicado ao slave host controllers. Ao invés disso, os slave host controllers usariam os seus próprios recursos root.

Isto significa que quando conectando ao slave domain controller diretamente, os números de versão no recurso root domain eram a versão do slave domain controller, de forma que a configuração domain não era homogênea nos controllers no domain.

Neste lançamento do produto, o processo de registro slave foi atualizado para aplicar o recurso root domain e agora os números de versão são os mesmos por todo o domain.
1016995 - O recurso Deployment Overlay não está apto a substituir as bibliotecas do aplicativo.

Nas versões anteriores do JBoss EAP 6, o recurso Deployment Overlay não funcionava como documentado. Ele não substituía as bibliotecas jar do aplicativo conforme deveria. As alterações foram realizadas para permitir que o Deployment Overlay substitua as bibliotecas jar do aplicativo e agora ele funciona como documentado.
1077838 - O isSensitiveValue da classe SensitiveVaultExpressionConstraint usa o indexe incorreto no método java.lang.String.substring

Nos lançamentos anteriores do JBoss EAP 6, a classe SensitiveVaultExpressionConstraint estava usando um indexe de sequência incorreta quando {} ocorriam no mesmo valor do atributo de gravação.

Como resultado, o uso de um indexe incorreto levava ao StringIndexOutOfBoundsException a ser exibido.

Neste lançamento, o método isSensitiveValue da classe SensitiveVaultExpressionConstraint foi corrigido para uso do indexe correto e o StringIndexOutOfBoundsException não é mais exibido.
1074560 - A autorização de gerenciamento EAP gera uma exceção quando o grupo LDAP contém o caractere barra

Nas versões anteriores do JBoss EAP foi constatado uma bug que prevenia o caractere barra (/) de ser corretamente evitado quando usado num grupo LDAP num servidor do Windows Active Directory LDAP. A bug levaria a autorização de gerenciamento EAP a gerar um NamingException. Este lançamento inclui uma atualização que garante que o caractere é corretamente evitado e não há mais ocorrência de exceção.
1077536 - Uso da CPU alta pelo cliente de monitoração JMX, o RBAC parece o hotspot

Um problema de desempenho afetando o JMX Query foi identificado, quando a carga da CPU era muito maior que o esperado em versões anteriores do JBoss EAP. A causa deste problema era que o controle de acesso baseado na função (role-based access control - RBAC) checava o endereço que era relevante ao JMX Query. A correção deste problema, o processamento da fila foi alterado para verificar antes se o endereço é relevante ao JMX Query e caso não seja, o processamento envolvido é evitado. O resultado desta alteração é que a carga do CPU de monitoração JMX está novamente no nível normal.
1038397 - O Controle de Acesso Baseado na Função (Role Based Access Control - RBAC) não funciona com o Java Security Manager (JSM) habilitado

Quando o JBoss EAP 6 estava sendo executado com o Java Security Manager habilitado, o sistema Role-Based Access-Control era desabilitado de forma eficiente uma vez que nesta situação todos os usuários autenticados eram tratados como SuperUsers. A única forma de usar o Role-Based Access-Control era com o Java Security Manager desabilitado.

Este problema foi corrigido neste lançamento, sendo que todo o acesso ao AccessControlContext atual acontece fora da ação privilegiada. Como resultado, o Role-Based Access-Control permanece efetivo quando habilitando o Java Security Manager.
901275 - O uso do vault para o system-properties gera o java.lang.SecurityException

As versões anteriores do JBoss EAP 6 poderiam falhar no boot caso a propriedade do sistema com uma expressão vault em seu valor no atributo fosse usada.

Isto ocorria uma vez que os recursos da propriedade do sistema na configuração XML eram processados antes dos recursos vault de segurança. Isto significa que o vault de segurança não estava disponível com o um recurso para resolução de expressões. Quaisquer recursos usando o atributo vault resultariam no seguinte erro:
java.lang.SecurityException: JBAS013322: O Vault não foi inicializado

Neste lançamento do produto, caso uma expressão de valor da propriedade falhar a resolver, uma segunda tentativa é realizada mais tarde no processo boot, no período após o vault (caso algum configurado) ser instalado. Isto resolve o problema e os sistemas usando as expressões vault agora realizam o boot conforme o esperado.
1092220 - O log de auditoria não grava as operações boot corretamente

As versões anteriores do JBoss EAP 6 continham ineficiências no logging de auditoria das operações de gerenciamento executadas durante o boot do servidor:
  • As operações boot usam facilidades especiais que as permitem executar em paralelo. A facilidade do logging de auditoria não representa isto de forma apropriada, levando a logs confusos e desorganizados.
  • As gravações de log que estavam na execução da pendência da fila da operação que habilita o logging eram esvaziadas da fila antes da execução das operações que manuseiam a adição dos manuseadores de log. Essas gravações não aparecem em qualquer log.

Segue abaixo as consequências destes problemas:
  • Os logs para as operações que ocorreram antes da adição dos manuseadores do log de auditoria não eram gravados.
  • As operações adicionar de extensão não estavam sendo registradas.
  • Os detalhes de execução internos eram registrados e não deveriam ser, dando a aparência de que algumas operações eram executadas duas vezes.
  • As operações boot paralelas não eram organizadas para refletir o fluxo lógico das operações que vieram dos pesquisadores XML. Ao invés disso, eram registradas em pedaços por subsistema, sendo que os pedaços eram aleatoriamente ordenados.

Neste lançamento do produto, as gravações de log enfileiradas não são esvaziadas até que quaisquer manuseadores de log tenham a chance de serem instalados. Adicionalmente, elas não são esvaziadas até que a maneira pela qual os eventos de rastreamento para o log torne-se mais sofisticada, permitindo o rastreamento apropriado de execução paralela de operações que ocorrem durante o boot.

Todas as operações que ocorrem durante o boot são agora gravadas, sem quaisquer detalhes internos diferentes de suas execuções sendo incluídas. As operações são coerentemente organizadas em dois grupos que refletem como o servidor fundamentalmente organiza o boot. As operações que executam em paralelo durante o boot são relatadas com o objetivo pelo qual elas eram originalmente fornecidas pelo analisador XML.
1092213 - O AccessAuditContext domainUUID não é determinado quando o cabeçalho domain-uuid header é determinado

Os lançamentos anteriores do JBoss EAP 6 continham uma bug onde o PrepareStepHandler criava um UUID e determinava o "operations-headers" => "domain-uuid" numa operação, porém não passava o UUID ao AccessAuditContext.

Numa operação managed domain para uma operação no domain controller, isto significava que o campo domainUUID na gravação de log de auditoria não possuía valor, no entanto o campo de operação que apresentava a operação invocada incluía um cabeçalho da operação domain-uuid.

Este problema foi resolvido neste lançamento do produto.
1092206 - O OperationContextImpl.readResourceForUpdate assume que todos os recursos representam uma configuração persistente

Nas versões anteriores do JBoss EAP 6, a lógica de execução da operação assumia que todos os recursos de gerenciamento representavam configuração persistente quando manuseavam o método readResourceForUpdate para um OperationStepHandler.

Como resultado, a operação prova do recurso subsystem=transaction/log-store=log-store e a operação excluir do recurso subsystem=transaction/log-store=log-store/transactions=* não poderiam ser invocadas por um admin na função Operador.

Este problema foi corrigido neste lançamento.
1092203 - A operação de gravação não autorizada não obtém registro de auditoria caso log-read-only="false"

Nas versões anteriores do JBoss EAP 6 contendo uma bug que prevenia o logging de uma operação "write" invocada pelo usuário caso o "atributo apenas de leitura" no recurso audit-logging de gerenciamento era determinada como false.

Isto ocorria uma vez que o controller do modelo usado "aquisição do bloqueio controller" como condição para determinar se é que a operação deveria ser reportada como operação "gravar" no log . Quando o controle de acesso baseado na função (role based access control - RBAC) era habilitado e uma operação não autorizada era executada, o erro ocorria antes que o bloqueio controller fosse usado.

Como resultado, as operações de gravação não autorizadas não eram relatadas no log de auditoria caso o "log apenas de leitura" fosse determinado como false. Caso o "log apenas de leitura" fosse determinado como true, a gravação do log exibia a operação como uma operação de "leitura".

Este problema foi resolvido neste lançamento do produto.
1049102 - O CLI falha a apresentar o status app quando o nome do período de execução é diferente do nome de implantação

Nas versões anteriores do JBoss EAP 6, o manuseador da operação de gerenciamento usado para determinar o status de uma implantação usava o nome da implantação para encontrar o serviço ao invés de usar o seu nome do período de execução.

Como resultado, caso uma implantação possuísse um nome do período de execução a partir de seu nome de gerenciamento, uma tentativa de leitura seu atributo "status" resultaria numa resposta No metrics available.

Por exemplo:
[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" }

Neste lançamento do produto, o manuseador de gerenciamento usa o nome do período de execução quando buscando o serviço de implantação que garante que o status é corretamente retornado. A resposta da amostra acima é a seguinte:
[standalone@localhost:9999 /] /deployment=ABC.ear:read-attribute(name=status)
{ "outcome" => "success", "result" => "OK" }
1034700 - whoami operation doesn't work with security manager enabled

A operação :whoami não era executada corretamente quando o JBoss EAP 6 estava sendo executado com o Java Security Manager habilitado. A tentativa de executar esta operação nesta situação resultaria num IllegalArgumentException sendo lançado. Isto ocorreu devido à situações AccessControlContext inválidas onde a identificação do chamador atual era incorreta.

Este problema foi resolvido neste lançamento pelo acesso ao AccessControlContext fora da ação privilegiada. Como resultado, a operação :whoami irá executar corretamente quando o JBoss EAP 6 estiver sendo executado com o Java Security Manager habilitado.

Gerenciamento do Domain, Scripts e Comandos

1023444 - O domain falha ao iniciar com as configurações de memória default no Windows 32bit JDK

As versões anteriores do JBoss EAP poderiam falhar ao iniciar quando executando num ambiente do Windows 32-bit JDK com as configurações de memória default.

Neste lançamento do produto, as configurações da memória default foram reduzidas para garantir um início com êxito no array amplo dos JVMs.

Recomenda-se que os clientes que dependem das configurações JVM default revisem sua configuração e ajustem os parâmetros JVM baseados em suas solicitações.

Gerenciamento do Domain, Web Services

987898 - A gravação ao atributo wsdl-url para o ponto de extremidade WS encerra com 'Atributo wsdl-url desconhecido' ao invés do 'O atributo wsdl-url não é gravável'

Cinco atributos dos pontos de extremidade SOAP Web Services (nome, contexto, classe, tipo e wsdl-url) não estavam acessíveis nas ferramentas de gerenciamento. Isto ocorria uma vez que eles não estavam expostos ao modelo de gerenciamento pelo subsistema do Web Services. Este problema foi resolvido neste lançamento e os atributos podem ser configurados sob o subsistema webservices usando o CLI de Gerenciamento.

EE

1056799 - JBMETA-371: O DefaultPropertyReplacer + PropertyResolver não funciona para as expressões vault

Nas versões anteriores do JBoss EAP 6, a expressão resolvendo a lógica das classes DefaultPropertyReplacer e PropertyResolver (usadas para pesquisar os arquivos do descritor da implantação) assumiam que o conteúdo da expressão "${" e "}" era de um formato fixado onde qualquer caractere ":" na expressão representava um separador entre o nome da propriedade do sistema e o valor default.

Isto significa as expressões vault da segurança nos descritores da implantação não poderiam ser pesquisados com êxito, uma vez que o ":" é sempre usado nestas expressões e não como um separador precedente do valor default. As expressões vault seriam avaliadas incorretamente com o conteúdo da expressão seguindo o primeiro ":" sendo tratado como o valor resolvido.

Nas versões do produto, quando o encerramento de uma expressão é detectado, antes de retornar os conteúdos de uma expressão seguidos do primeiro ":" como o valor resolvido, o resolvedor primeiro verifica se é que a expressão por completo pode ser resolvida.

As expressões vault de segurança podem ser usadas nos arquivos do descritor onde expressões são permitidas em geral.

EJB

1093128 - Os valores do intervalo da transação do cliente remoto são substituídas pelos valores em código

Os lançamentos anteriores do JBoss EAP possuíam o mesmo problema que poderia resultar nas transações do cliente remotos spanning diversos servidores entrando em intervalo antes ou depois do esperado.

Este problema ocorreu uma vez que os valores não eram propagados por todos os servidores corretamente, deixando o sistema basear-se no valor de intervalo em código (300 segundos).

Este problema foi resolvido no JBoss EAP 6.3.0.
1059911 - O @Schedule EJB Timer não usa o fuso horário quando calculando o próximo intervalo

Nas versões anteriores do JBoss EAP 6, uma bug foi encontrada onde, caso o @Schedule EJB timer usasse um fuso horário que fosse diferente ao usado pelo servidor, quaisquer invocações do timer após a invocação inicial não iniciaria corretamente. Este lançamento endereça este comportamento e todas as invocações de timer iniciam conforme o esperado quando o fuso horário for diferente entre o servidor e o @Schedule.
1035216 - O ArrayIndexOutOfBoundsException durante a recuperação periódica no EJBTransactionRecoveryService

Qualquer problema intermitente entre a recuperação periódica e o EJBTransactionsRecoveryService resultava num ArrayIndexOutOfBoundsException.
[com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016009: Caught:: java.lang.ArrayIndexOutOfBoundsException: 0
 at org.jboss.as.ejb3.remote.EJBTransactionRecoveryService.getXAResources(EJBTransactionRecoveryService.java:112)
....

O problema original era que a criação de um elemento XAResource não contia o loop de lógica associado e isto levava ao erro do indexe array. Este elemento foi removido de forma que ele está com o loop de lógica e a recuperação periódica não entra mais em conflito com o EJBTransactionRecoveryService.
1017673 - O ConcurrentModificationException no TimerService.getTimers()

Caso um bean tentasse criar um novo timer ao mesmo momento que um outro thread chamasse o método getTimers(), um ConcurrentModificationException era gerado. Isto ocorria uma vez que o método getTimers() não chamava synchronized() nos timers.

Este problema foi resolvido neste lançamento e o método getTimers() da implementação do serviço chama agora de forma apropriada osynchronized() nos timers.
1031199 - O cache suportando o EJB pode gerar uma grande retenção a partir das tarefas canceladas em seu DelayedWorkQueue do executor esquematizado.

A implementação do cache para o @Stateful EJBs no JBoss EAP 6 utiliza um executor para manuseamento da lógica @StatefulTimeout. Quando um bean é acessado, o seu trabalho de intervalo anterior é cancelado e um novo é esquematizado novamente quando a invocação é finalizada.

Por default, o cancelamento de uma tarefa a partir de um executor não remove isto da fila.

Isto levava a um esvaziamento de memória gradual, uma vez que tarefas canceladas continuavam na fila.

Neste lançamento, o executor esquematizado pode ser configurado para remover a tarefa da fila sob o cancelamento. Isto evita o esvaziamento de memória.
1045105 - O código do cliente ejb remoto converte '$$' para '$' nas senhas

As versões anteriores do JBoss EAP 6 possuíam uma bug que levava o PropertiesBasedEJBClientConfiguration a tentar expandir as senhas contendo o sinal duplo de dólar ($$) como se isto fosse uma expressão. Isto podeira ter causado senhas incorretas a serem passadas entre o servidor e o cliente.

O PropertiesValueResolver foi modificado neste lançamento de forma que ele não expande as senhas por default. Isto resolve o problema.

Caso a expansão seja requerida, ela pode ser habilitada pela configuração`jboss-ejb-client.expandPasswords` para true.
1055896 - Não foi possível obter a exceção como pass-by-reference

Uma bug que prevenia servlets de obterem as exceções como uma referência pass-by, mesmo que isto fosse configurado para isto, foi corrigida neste lançamento.
901324 - O AroundInvokeAnnotationParsingProcessor deveria falhar quando mais métodos com a anotação @AroundInvoke eram encontrados na classe

Nas versões anteriores do JBoss EAP 6, as classes não eram checadas para métodos @AroundInvoke múltiplos.

Como resultado, a primeira seria usada e muitas outras seriam ignoradas.

Neste lançamento do produto, a implantação falha caso existam métodos @AroundInvoke múltiplos, alertando o desenvolvedor do problema.
1056214 - Problemas de desempenho da invocação EJB devido à contagem de alocação alta de sequências inúteis

O problema de desempenho foi endereçado neste lançamento do JBoss EAP 6. O problema foi causado pelo StatefulComponentInstanceInterceptor, que executava uma concatenação pequena numa declaração de log de depuração para cada invocação. As alocações extras subsequentes poderiam levar ao aumento da atividade da Coleção de Lixo durante a invocação EJB, levando à sobrecarga de processamento por invocação mais alta. Este lançamento do produto incorporou um caminho upstream que resolve este problema e a sobrecarga por invocação é reduzida substancialmente.

EJB,Remoting

1098879 - o cliente EJB falhava inicialmente caso o cluster fosse usado para a invocação com: "Could not create a connection for cluster node ClusterNode{} -> Operation failed with status WAITING" (Não foi possível criar uma conexão para o ClusterNode{} -> Falha na operação com o status WAITING)

Nas versões anteriores do JBoss EAP 6, havia um problema com os clientes EJB conectando ao cluster, caso mais de um nó de cluster fosse especificado pela conexão inicial.

Isto era um problema específico na plataforma do Windows, levando a primeira invocação EJB a falhar intermitentemente e era causado pela sincronização errônea de thread.

Este problema foi endereçado neste lançamento e não está mais presente.

Hibernate

1023994 - A conversão do java.util.Calendar para o java.util.Date falha - HHH-8643

Este lançamento do JBoss EAP 6 contém uma correção de uma bug no componente do Hibernate que levava um IllegalArgumentException a ser gerado quando configurando um parâmetro TemooralType.DATE ou TemporalType.TIMESTAMP numa fila JPA. O parâmetro é intencionado a estar apto a usar um Calendário ou um valor de Dados, no entanto esta inter alteração não operava como o esperado. Este problema foi resolvido e a exceção não aparece mais quando usando os parâmetros TemporalType nas filas.
1048709 - O NPE enquanto query.list num Native SQL, usando o cache

Nas versões anteriores do JBoss EAP 6, o uso de escalares com a Fila, quando usando o cache de fila Hibernate, levava aos usuários encontrar um NullPointerException. Uma amostra de uma fila que produziria a exceção é a seguinte:
query.addScalar("emp_first_name");

O problema era causado pelo código que tentava automaticamente identificar o Tipo de Hibernate necessário para manusear o escalar (ex: StringType). Neste lançamento o código foi modificado para identificação correta do manuseador necessário.

Para lançamentos anteriores ao 6.3.0, a definição explícita do tipo escalar da fila evitará o NPE:
query.addScalar("emp_first_name", new StringType());
1070423 - O HHH-8983 Database drivers pode anexar avisos aos manuseios de declaração e isto pode acumular e consumir bastante memória

Nas versões anteriores do JBoss EAP 6 foi averiguado que os drivers da fonte de dados não podiam anexar avisos aos manuseios de declaração que poderiam acumular e consumir quantias significativas de memória. O problema era presente quando usando os tipos Timestamp com os mapeamentos Sybase datetime. Os avisos emitidos pelos Sybase drivers mais recentes poderiam exagerar o footprint da memória em atualizações em lote. Este problema foi endereçado neste lançamento e não é mais aparente.
1073076 - HHH-3482: O UnsupportedOperationException com o StatelessSession

As instâncias do UnsupportedOperationError sendo geradas quando usando o StatelessSession e salvando MuitosParaUm foram endereçadas neste lançamento do JBoss EAP 6. O erro era causado pela chamada ao método getTimestamp() que não era implantado para o StatelessSession. O UnsupportedOperationError não está mais presente.
1057742 - Dialeto PostgreSQL & H2 incorreto para a contagem de tuplas distintas para os atributos de composição

O JBoss EAP 6 foi atualizado para permitir o uso de parênteses em volta das listas do atributo de composição nas filas em count-distinct no MySQL e outros bancos de dados. Isto não era permitido em versões anteriores do produto e resultaria numa exceção sendo lançada para o PostgreSQL. Este lançamento permite que o Dialeto use parênteses conforme apropriado sem lançar uma exceção.

HornetQ

1056216 - Alteração do comportamento de conexão inicial para a conexão do cluster

Caso uma instância do HornetQ com cluster perdesse sua conexão a outros nós de cluster, a tentativa da reconexão poderia resultar num loop infinito. Para uma configuração de cluster estática, qualquer tentativa de conexão inicial seria tentada infinitivamente, ignorando o parâmetro reconnect-attempts. Para uma configuração de cluster dinâmica, caso o nó fosse desconectado entre o período que ele recebesse uma notificação com referência ao nó fazendo parte da topologia do cluster e a conexão inicial, as tentativas de reconexão continuariam infinitivamente. Este problema foi resolvido e a lógica do cluster usa agora o parâmetro reconnect-attempts para ambas tentativas de conexão inicial e tentativas de reconexão.
1089838 - ScheduledReferences completo transversal em cada chamada ao ScheduledDeliveryHandlerImpl$ScheduledDeliveryRunnable.run()

Nas versões anteriores do JBoss EAP 6, caso um número consideravelmente grande de mensagens fossem esquematizadas com um intervalo pequeno, isto escultaria num carregamento da CPU excessivo.

O motivo principal deste problema ocorria uma vez que a todo instante em que as mensagens estavam prestes a serem consumidas, tudo na lista conectada scheduledReferences era desnecessariamente atravessado.

Este problema foi resolvido neste lançamento.
1063864 - O Backport do HornetQ-1278 no JBoss EAP

Nas versões anteriores do JBoss EAP 6, o Scheduled Delivery Handling realizou um ciclo completo da busca serial numa Lista para as Entregas Esquematizadas.

Isto poderia levar a problemas de desempenho uma vez que o sistema poderia usar recursos da CPU para prosseguir com diversas entregas esquematizadas sob carregamento.

Este lançamento do produto implementou um lista classificada e busca apropriada dos períodos expirados. A busca da lista é executa mais rapidamente sem problema por causa da CPU alta.
1089843 - Mensagens de AVISO falsas após o XmlDataImporter excluir o arquivo temporário

Nas versões anteriores do JBoss EAP 6, quando o XmlDataImporter importava mensagens grandes, mensagens de AVISO falsas eram registradas.

A razão deste problema era que quando importando mensagens grandes o suficiente, oXmlDataImporter criava um arquivo temporário e o excluía quando a tarefa de importação era concluída.

Quando importando mensagens grandes, a função XmlDataImporter tentava excluir o arquivo temporário novamente, uma vez que o arquivo não estava mais presente, registrando uma mensagem de erro.

Este problema foi resolvido neste lançamento.
1096942 - O cliente não está apto a enviar mensagens - HornetQException[errorCode=100 message=HQ119016: a fila foi removida e não pode entregar mensagens. A fila não deve ser removida quando agrupada

Nas versões anteriores do JBoss EAP 6, os usuários encontraram problemas com o Clustered Grouping, onde mensagens de roteamento poderiam ser interrompidas e fornecer respostas erradas.

Neste lançamento, a comunicação entre os nós foi aperfeiçoada, assim como o processo de repetição dos grupos para evitar isto e outras mensagens falsas que podem acontecer através do agrupamento.
1089844 - A Política Falhar pode liberar mensagens antes de enviar uma exceção ao cliente

Nas versões anteriores do JBoss EAP foi averiguado que a "falha" address-full-policy no HornetQ liberava mensagens na maioria das vezes sem enviar uma exceção ao cliente.

Isto resultou em mensagens sendo liberadas sem uma exceção toda vez que um endereço estisse cheio.

Este problema foi resolvido de forma que o bloqueamento sempre resulta numa exceção no cliente quando o endereço estiver cheio e um envios não-bloqueados resultarão numa exceção no cliente quando os créditos adicionais forem solicitados pelo servidor.
1089846 - Todos os métodos ClientSessionImpl que implementam o XAResource podem potencialmente gerar um non-XAException ao GT

Nas versões anteriores do EAP 6, caso uma transação XA envolvendo o HornetQ entrasse em intervalo, era possível que o HornetQ pudesse lançar um non-XAException ao Gerenciador da Transação.

Este problema foi identificado na implementação do javax.transaction.xa.XAResource e foi resolvido neste lançamento.
1089849 - As mensagens sempre ack individualmente após certos cenários de reconexão

Nas versões anteriores do JBoss EAP 6, o consumidor do cliente poderia ack mensagens individualmente em certos cenários, por exemplo, após falhas. Este processo era bastante ineficiente.

Este problema foi endereçado neste lançamento.
1089851 - O possível NPE é evitado durante o processo de despaginação

Nas versões anteriores do produto, um NullPointerException (NPE) era possível durante a entrega de mensagem e processo de paginação.

Este problema foi resolvido neste lançamento.
1089841 - Ordenação fixa do totalIterator()

Nas versões anteriores do JBoss EAP 6, quaisquer operações de gerenciamento que listavam mensagens listariam incorretamente mensagens paginadas antes das mensagens enviadas anteriormente.

Outros problemas de inoperação foram também identificados nos casos após da entrega novamente.

Este problema foi corrigido pela retificação da ordenação onde o Iterador obtém as mensagens antes de enviá-las às operações de gerenciamento.
1089835 - A razão máxima do ClientConsumer não tem efeito caso o consumerMaxRate <=0 do ServerLocator

Nas versões anteriores do JBoss EAP 6, o createConsumer(String queueName, String filter, int windowSize, int maxRate, boolean browseOnly) do método Core API ignorava o parâmetro do maxRate caso o ConnectionFactory (ou ServerLocator) determinasse o maxRate para o seu valor default inferior ou igual a zero.

A razão principal para este problema era uma lógica com problema no método createConsumer. Isto foi corrigido neste lançamento.
1089842 - O método listMessagesAsJSON falha ao listar mensagens caso a propriedade do filtro conter o caractere \n.

Nas versões anteriores do JBoss EAP 6, o filtro de análise falha ao pesquisar mensagens corretamente caso a mensagem conter um caractere de linha novo ( \n) dentro de uma sequência ou qualquer outra propriedade.

A causa principal deste problema era uma lógica com problema no método listMessagesAsJSON, que falhou a contar um caractere de linha novo.

Este problema foi resolvido neste lançamento.

IIOP

1064644 - StackOverflowError quando o org.jboss.as.jacorb.rmi.InterfaceAnalysis estiver analisando o javax.ejb.EJBObject

Nas versões anteriores do JBoss EAP 6, foi verificado que dependendo do período de alternação do contexto thread, o IIOP-enabled EJBs poderia falhar ao implantar corretamente levando ao StackOverflowError.

Este problema foi rastreado como sincronização do thread imprópria no org.jboss.as.jacorb.rmi.WorkCacheManager.

Este problema foi corrigido neste lançamento e o StackOverflowError não é mais presente.
1052237 - O Backport JacORB #904 CDRInputStream.read_string deveria manusear o tamanho de sequência 0 tranquilamente

A função CDRInputStream.read_string não manuseia uma sequência vazia de forma apropriada, calculando incorretamente isto como um comprimento de zero (0), resultando numa exceção marshall. Um QoS foi adicionado para permitir o CDRInputStream.read_string interoperar com esses ORBs que não codificam sequências vazias corretamente.

Installer

1034062 - Os valores para a configuração de deslocamento da porta estão duplicados nos arquivos do host do domain.

Uma bug que causou o deslocamento da porta automático a ser duplicado quando determinado a usar a opção Configure an offset for all default port bindings, foi corrigida neste lançamento.
1062602 - O installer aceita a senha do usuário administrativa sem o caractere alfabético

Nas versões anteriores do JBoss EAP foi verificado que a utilidade do installer gráfico não estava honrando as restrições de senha e nome do usuário que governam a criação do usuário.

Este problema foi endereçado e o GUI installer agora adere às restrições de nomeação e senha conforme o esperado.

JCA

1088470 - O ConnectionListener esvaziava caso o TSR lançasse IllegalStateException e NPE no SemaphoreArrayListManagedConnectionPool

Uma bug nas versões anteriores do JBoss EAP 6 levavam ao ConnectionListener a ser esvaziado quando o TSR lançava um IllegalStateException e NPE no SemaphoreArrayListManagedConnectionPool.

Este problema foi resolvido neste lançamento do produto.

JDR

1069850 - Prevenir o NullPointerException num JDR CommandLineMain

Nas versões anteriores do JBoss EAP 6, um NullPointerException seria gerado a todo o instante que uma exceção era lançada a partir de um JDR CommandLineMain. Este problema foi corrigido neste lançamento.

JMS

1033495 - O CLI da operação commitPreparedTransaction não está disponível no modo domain

Nas versões anteriores do JBoss EAP 6, as operações de gerenciamento nos recursos hornet-server não estavam disponíveis no modo domain. Este problema foi corrigido neste lançamento.

JPA

1040733 - Esvaziamento de memória no JBoss AS /integração Hibernate JPA

Um vazamento de memória poderia ocorrer no servidor do aplicativo quando usando o CLI de Gerenciamento para obter as estatísticas para as implantações do aplicativo que usavam as solicitações do JPA nomeado. O problema foi resolvido neste lançamento do produto.

JSF

1029387 - O WFLY-2493 EL não pode acessar os métodos/campos públicos de classes não públicas.

Nas versões anteriors do JBoss EAP 6, o BeanELResolver não tentava substituir o controle de acesso Method.invoke para acessar os métodos ou campos públicos de classes não-púbicas.

Isto causou problemas quando tentando acessar o método ou campo público de uma classe não-pública através do Expression Language (EL - Idioma de Expressão). Como resultado, a seguinte mensagem de erro era exibida:
"java.lang.IllegalAccessException: A classe Class javax.el.BeanELResolver can not access a member of class X with modifiers "private"

Este problema foi resolvido pela chamada do setAccessible(true) conforme apropriado na implementação EL. Os métodos ou campos públicos de classes não-públicas são agora acessados através do EL.
1017242 - Os FacesMessages não funcionam corretamente num aplicativo do contexto raiz

Nas versões anteriores do JBoss EAP 6 foi verificado que o escopo JSF Flash não estava restaurando de forma apropriada durante redireções, caso o aplicativo fosse limitado ao contexto raiz. Isto significava que os FacesMessages não funcionavam de forma apropriada nos aplicativos do contexto raiz.

Neste lançamento do produto é possível verificar o componente Mojarra atualizado a mais nova versão upstream, que corrige o problema e os FacesMessages funcionam de forma apropriada nos aplicativos do contexto raiz.
1052265 - JAVASERVERFACES-3080: Problema quando mais de um f:viewParam é incluído no f:metadata.

Devido a uma bug upstream, incluindo mais de um f:viewParam dentro, o f:metadata ão funcionou nas versões anteriores do JBoss EAP 6. Uma atualização ao componente JSF resolveu este problema e agora mais de um f:viewParam pode ser incluído no f:metadata.
1054051 - A configuração do JSF slot não funciona para a configuração default de maneira apropriada

Quando um JSF slot adicional foi instalado na raiz do diretório modules, o JSF slot principal não foi adicionado conforme uma configuração JSF. A implantação de um aplicativo JSF que tentava usado uma implantação principal JSF iria falhar com a seguinte mensagem:
org.jboss.as.server.deployment.DeploymentUnitProcessingException: JBAS012656:  A Default JSF implementation slot 'main' is invalid

A causa deste problema foi resolvida e o slot "principal" é agora considerado como uma das implantações JSF válidas. Como resultado, quando um JSF slot adicional for adicionado na raiz do diretório modules, os aplicativos JSF que fazem uso da implementação JSF principal podem ser agora implantados com êxito.

Logging

1066597 - O atributo formatador é alterado toda vez que ele é processado

Uma bug que levava o método HandlerOperations.equalValue() a sempre retornar falso nas versões antigas do JBoss EAP 6 foi corrigida com a inclusão de um patch upstream. Esta bug era presente uma vez que o método usava o nome de propriedade incorreto quando comparando valores. Ela não é evidente neste lançamento do produto.
1080991 - Falta a ação privilegiada do Messages#getBundle() no jboss-logging

Nas versões anteriores do JBoss EAP 6, a execução de um gerenciador de segurança habilitado sem permissões suficientes resultava em erros tentando recuperar um pacote de mensagem.

Como consequência, uma exceção era apresentada quando tentando obter um pacote de mensagem caso as permissões do carregador de classe não fossem habilitadas.

Neste lançamento, a recuperação dos pacotes de mensagem são agora feitos num bloqueio de privilégio. As exceções mão ocorrem mais quando recuperando o pacote de mensagem quando um gerenciador de segurança é desabilitado.
1088618 - A representação da sequência do cache de informação gerada

A informação de rastreamento de pilha não possuía garantia de ser armazenado corretamente nos lançamentos do JBoss EAP 6. Como resultado, os dados poderiam ser perdidos sob serialização dos eventos de logging Log4J

Para corrigir isto, o Log4J foi adicionado ao cache do rastreamento da pilha (ex.: informação gerada) sob a deserialização. Isto garante que a informação de rastreamento da pilha não será perdida sob serialização.
1017881 - O /subsystem=logging/logger=org.jboss.as.quickstarts.logging:assign-handler não pode ser executado sob o modo em lote

Nas versões anteriores do JBoss EAP 6, o atributo nome em operações de logging foram adicionados e leem a partir do modelo.

Como resultado, o último nome numa operação composta era o único nome do manuseador usado, resultando na mesma nomeação do manuseador sendo adicionada diversas vezes.

Neste lançamento, o atributo do nome não é mais copiado ao modelo e é lido a partir da própria operação. A adição de manuseadores em uma operação composta agora funciona conforme o esperado.
1095516 - Os objetos POJO não são removidos do logging.properties quando os removendo manualmente do JBoss Config XML

Nas versões anteriores do JBoss EAP 6, quando uma definição de um POJO era removida do arquivo de configuração do servidor, as referências ao POJO não eram removidas do arquivo logging.properties.

Caso um POJO de mesmo nome fosse criado novamente, o JBoss EAP declararia que havia uma entrada duplicada no logging.properties.

Este problema foi resolvido e as referências aos objetos POJO que não permanecem mais são removidas do arquivo logging.properties.
1073053 - O log de auditoria EAP 6.2 deveria exibir a versão EAP ao invés da versão AS

Nas versões anteriores do JBoss EAP 6, o log de auditoria exibiria um número de versão incorreto.

Isto foi corrigido neste lançamento e o número de versão é exibido conforme o esperado.
1066606 - O uso de um anexador log4j como um custom-handler deve invocar os activateOptions caso solicitado

Nas versões anteriores do JBoss EAP, a alteração da propriedade custom-handler que era um anexador log4j não invocava o OptionHandler.activateOptions() no anexador caso o anexador implementasse o OptionHandler. Isto requeria o reinício dos recursos de logging para que as alterações tivessem efeito. Neste lançamento, o método de ativação é agora invocado caso as propriedades forem alteradas no anexador e o reinício não é mais solicitado para os anexadores OptionHandler.
1070452 - O System.out.println() no funciona quando usando o logging por implantação

As versões anteriores do JBoss EAP 6 possuíam uma bug que evitava que o método System.out.println() emitisse arquivos de log quando o logging por implantação estava em uso. Esta bug foi resolvida com um upstream patch.

Nomeação

1014414 - A Nomeação Remota gera a mesma exceção para causas diferentes

Nas versões anteriores do JBoss EAP 6 a mesma exceção era lançada em resposta ao um número de erros de conexão que poderiam surgir quando um cliente de Nomeação Remota falhasse a conectar a qualquer host. Este comportamento era sub-ideal uma vez que isto não forneceu indicação aos usuários do erro atual encontrado para qualquer servidor gerado.

A exceção gerada em todos os casos era:
javax.naming.NamingException: Failed to connect to any server. Servers tried: [remote://localhost:4447]

Neste lançamento as exceções geradas alinham mais próximo da causa atual de falha.

Caso o host ou detalhe do portal estiverem incorretos, o CommunicationException seguinte será lançado, indicando o intervalo da conexão:
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]

Caso nenhum dos servidores responder, porém a autenticação subsequente falhar, o AuthenticationException seguinte será lançado:
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]

Uma mensagem apropriada será fornecida para falhas de conexão a cada servidor na lista.
1061609 - O InitialContext absorve a causa de exceção original

Nas versões anteriores do EAP 6, a instanciação de um InitialContext poderia falhar com a seguinte mensagem:
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

No entanto, a partir desta mensagem, a causa subjacente não era visível, impossibilitando o troubleshooting. Para resolver este problema, a causa subjacente foi agora exposta. Caso o problema ocorrer novamente, a mensagem de erro irá revelar o motivo:
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 - A exceção de comunicação de Nomeação Remota deve ser lançada no ConnectException

Nas versões anteriores do JBoss EAP, um javax.naming.NamingException genérico era lançado quando um java.net.ConnectException ocorria, ao invés de um javax.naming.CommunicationException mais específico.

Este lançamento inclui uma alteração que garante que o javax.naming.CommunicationException é lançado quando a exceção da conexão ocorre.

O CommunicationException é uma subclasse do NamingException, de forma que qualquer código que capturou um NamingException anteriormente, funcionará conforme o esperado.

Outro

901210 - Diretórios de implantação de limpeza - AS7-6031

Este lançamento do JBoss EAP 6.3 inclui uma correção que garante que os arquivos e diretórios nas pastas JBOSS_HOME/tmp e JBOSS_HOME/tmp/vfs são removidos antes que eles possam interferir com as novas instâncias EAP reiniciadas.

Nas versões anteriores do JBoss EAP, os artigos antigos poderiam ser deixados para trás após o encerramento inesperado de um servidor (uma vez que o JBoss EAP remove os arquivos no JBOSS_HOME/tmp e JBOSS_HOME/tmp/vfs como parte no processo de encerramento).

Neste lançamento a correção fornece uma segurança de falha para mitigar este cenário. Caso o servidor do JBoss EAP 6.3 não encerre normalmente, o servidor não terá a oportunidade de limpar estes arquivos temporariamente. No entanto, sob o reinício, o servidor questiona sobre as localizações acima e, caso os arquivos de uma instância anterior estiverem presentes, ele inicia o processo de renomeação/remoção que permite a criação de arquivos novos para a nova instância (os diretórios antigos são renomeados para evitar interferência com os novos arquivos criados recentemente). Este processo ocorre paralelamente.

Os arquivos temporários antigos são agora removidos (tanto na iniciação ou reinício) sob o reinício do JBoss EAP (normal ou sob outra forma) para garantir que eles não obtenham espaço de disco desnecessário.

NOTA Os usuários devem evitar o uso do -Xrs JAVA_OPT, uma vez que isto limita os sinais de processamento e podem resultar no contínuo crescimento do tamanho dos diretórios tmp/vfs.

Patching

1110117 - O enfileiramento do patching MBeans durante o encerramento resulta num IllegalStateException

Nestes lançamentos do JBoss EAP 6, o subsistema patching PatchResource, poderia tentar usar a dependência, mesmo que não possuindo-a no InstallationManagerService, quando ela estava encerrada.

Isto poderia levar a um IllegalStateException sendo lançado caso o gancho de encerramento tentasse consultar os subsistema patching MBeans.

Espera-se que este problema seja resolvido num lançamento futuro.
1108952 - O OutOfMemoryError com patches grandes

Nas versões anteriores do JBoss EAP 6, os dados anexados passados do host controllers mestre ao slave eram lidos inteiramente na memória.

Como consequência, quando instalando patches grandes, um OutOfMemoryError pode ocorrer nos host controllers filhos. Isto não poderia ocorrer quando instalando o CP04 através do domain controller com as configurações de memória default.

Neste lançamento do produto, os anexos são salvos a arquivos temporários, de forma que isto não consome memória excessiva e o OutOfMemoryErrors não ocorre nos host controllers filhos.

PicketLink

1084596 - Backport PLINK-396

Nos lançamentos anteriores do JBoss EAP 6, foi verificado que o IDPWebBrowserSSOValve do PicketLink e o IDPFilter estavam codificando o relaystate, que era contrário à especificação SAML. Isto foi endereçado neste lançamento do produto.

RESTEasy

1037753 - A variante selecionada não é sempre a melhor

Nas versões anteriores do JBoss EAP 6, foi verificado que o RESTEasy, enquanto aderindo à especificação RFC 2616, nem sempre retornava o manuseador de mídia apropriado nas instâncias onde os fatores de qualidade eram iguais, porém especificamente diferentes.

Por exemplo, quando fornecido um cabeçalho Aceitar do application/json, */* e os valores variantes do ["application/xml","application/json"], Request.selectVariant() RESTEasy escolhessem o application/xml ao invés do application/json.

Neste lançamento, os valores do cabeçalho Aceitar específicos tem procedência sobre combinações de variantes menos específicas com o mesmo valor de qualidade (caso ambos possuam q=1.0 ou q=0.5, por exemplo).
1014393 - A exceção do stream encerrado no resetStream do IBM jdk 16, 17 no RHEL 5, 6

Nas versões anteriores do JBoss EAP 6, o xercesImpl fornecido pelo IBM JDK 16, 17 entrava em conflito com o jaxb unmarshaller usado pelo resteasy-jaxb-provider.

Este problema ocorreu também quando o usuário usava diretamente o xercesImpl jar fornecido pelo EAP 6.

Esses conflitos resultavam num erro java.io.IOException: Stream closed quando usando o IBM JDK 16, 17 ou o xerces:xercesImpl:2.9.1-redhat-x (provided by EAP 6) como uma dependência no resteasy 2.3.6.Final-redhat-x baseado no projeto.

Este problema foi resolvido.

RPMs

1086157 - O RHEL6|RHEL5 Web Server a partir do iso e o erro httpd-manual na atualização yum

A execução da ação yum update numa nova instância JBoss EAP 6 executando no Red Hat Enterprise Linux baseado em sistemas, antes deste lançamento, produziria um erro. Isto era devido à falta de uma dependência RPM ( httpd-manual) no canal jbappplatform-6-i386-server-6-rpm. O pacote httpd-manual foi adicionado ao canal e a execução da ação yum update não produz mais erros.

Remoto

1052204 - A incompatibilidade do protocolo entre classes serializadas com diferentes superclasses

Nas versões anteriores do JBoss EAP 6 uma exceção poderia ser lançada quando o IBM e o Oracle JVMs comunicavam-se pela serialização de uma classe StringBuilder ou StringBuffer.

Isto ocorria pelo protocolo marshalling serializar erroneamente um descritor de classe para a superclasse não-serializável da classe serializável.

Este problema foi corrigido nesta versão do produto com uma atualização ao componente JBoss Marshalling.
1102271 - O JBoss Marshalling não deveria requerer as classes para os campos nulos

Nas versões anteriores do Red Hat JBoss EAP 6, caso um objeto tivesse um campo cujo valor fosse nulo e o tipo de objeto do campo não existisse ao lado do unmarshalling, tentativas para unmarshall o objeto falhariam com a ClassNotFoundException para o campo.

Este problema foi corrigido neste lançamento do produto.
1069075 - O vazamento do Threade o OutOfMemoryError no Tomcat usando jboss-client.jar, chamando um EJB no EAP

Uma atualização do componente JBoss Remoting no JBoss EAP 6 resolveu um problema OutOfMemoryError encontrado nas versões anteriores do produto. O problema foi rastreado para o esvaziamento do thread ocorrer quando o Tomcat chamar o EJB.
1011831 - JBREM000205: Falha ao aceitar a conexão: java.nio.channels.ClosedChannelException no encerramento do servidor

Uma mensagem DEBUG a partir do subsistema remoto foi conectada incorretamente como uma mensagem WARN durante o encerramento do servidor. A mensagem conectada era similar ao seguinte:
02:46:15,512 WARN [org.jboss.remoting.remote] (Remoting "node1:MANAGEMENT" read-1) JBREM000205: Falha ao aceitar uma conexão: java.nio.channels.ClosedChannelException

Como parte de uma atualização ao subsistema remoto neste lançamento do JBoss EAP 6, esta mensagem foi corretamente reclassificada como uma mensagem de nível DEBUG.
1080429 - Alterar JBREM000200 do ERRO para DEBUG uma vez que não é prejudicial

Os usuários das versões anteriores do JBoss EAP 6 nas plataformas do Windows podem ter encontrado a seguinte exceção IOException quando a conexão JMX fosse encerrada:
JBREM000200: Remote connection failed: java.io.IOException: An existing connection was forcibly closed by the remote host

Este erro era causado pelo Windows encerrar forçadamente as conexões. Uma vez que isto não causou efeitos adversos, o nível de logging para o erro foi alterado para DEBUG, com o objetivo de prevenir isto de aparecer nos logs de níveis baixos.
1052258 - O segfault e outros problemas xnio executando no IBM JDK do IBM-I

O problema com os aplicativos sendo executados nos sistemas do IBM falhando com a falha de segmentação foi corrigido neste lançamento do JBoss EAP 6.

As panes eram causadas pelas implementações NIO no IBM JDKs que são otimizadas para uso nos sistemas operacionais IBM. A camada I/O no JBoss EAP tenta detectar e utilizar essas implementações. No entanto, em alguns sistemas operacionais (como o IBM-I) essas implementações levam a um segfault.

Neste lançamento de produto, esses sistemas operacionais são detectados e conversões seguras são utilizadas. Isto resolve o problema da falta de segmentação e o servidor do aplicativo não tem mais panes inesperadas.

Remoting,Web

1032552 - OOM devido diversos objetos org.apache.tomcat.util.net.JIoEndpoint$Poller

Um esvaziamento de thread que poderia resultar num OutOfMemoryError foi corrigido neste lançamento do JBoss EAP 6. O esvaziamento era rastreado à classe JIoEndpoint. O código relacionado foi patched e o erro OOM não é mais evidente.

Scripts e Comandos

1062595 - O RuntimeException pela utilidade add-user uma vez que o nome do usuário coincide com a senha (modo não interativo)

As versões anteriores do JBoss EAP 6 lançariam um RuntimeException caso uma chamada não interativa à utilidade add-user falhasse (como ocorre com combinações de nome de usuário/senha). Estas exceções poderiam, no entanto, ser confundidas com uma bug uma vez que esses tipos de exceções não deveriam ser propagadas sem serem manuseadas. Uma exceção personalizada foi adicionada a este lançamento do produto para indicar que a exibição desta exceção é intencional e não uma indicação de uma bug na utilidade add-user.
1027165 - O add-user.sh requer um resultado de console

Os lançamentos anteriores do JBoss EAP 6 possuíam um problema conhecido onde o shell script para os usuários adicionados a um servidor EAP (add-user.sh) não poderiam ser executados sem o console (modo não interativo).

Isto ocorria uma vez que o shell script (add-user.sh) baseia-se no console (java.io.Console) para operações.

A execução do shell script (add-user.sh) resultou na seguinte exceção juntamente com a utilidade:
java.lang.IllegalStateException: JBAS015232: No java.io.Console available to interact with user.

Este problema foi resolvido neste lançamento do produto.
1063888 - O add-user script exibe informação de senha incorreta para o argumento de ajuda

Nas versões anteriores do JBoss EAP 6, o resultado de ajuda da utilidade add-user apenas exibia a restrição única pertencente às senhas (elas não seriam as mesmas ao nome do usuário). Isto poderia causar confusão quando adicionando novos usuários, uma vez que há mais de uma restrição para garantir que senhas válidas sejam usadas. Neste lançamento do produto, a restrição única foi removida do texto de ajuda. Ela aparece agora, juntamente com outras restrições aplicáveis, em mensagens exibidas quando usando o modo interativo.
1062611 - O add-user: '@' não está entre caracteres não alfanuméricos durante a validação do nome do usuário

A utilidade add-user das versões anteriores do JBoss EAP 6 apresentariam uma mensagem de erro enganosa quando o nome do usuário inválido era inserido. A mensagem dizia que o nome do usuário deveria ser alfanumérico, quando na realidade a utilidade foi modificada para aceitar o subconjunto de símbolos especiais nos nomes dos usuários. A mensagem de erro foi reconstruída para conter uma lista de símbolos aceitáveis e usuários agora veem uma mensagem de erro mais precisa quando um nome de usuário inválido é inserido.
1020677 - O script do serviço do modo Domain usa uma sequência errada para verificar se o JBoss foi iniciado

Nas versões anteriores do JBoss EAP 6, foi verificado que os scripts de serviço autônomo e domain usavam variáveis incorretas quando determinando se o servidor havia iniciado corretamente.

Isto poderia levar a resultados incorretos quando tentando verificar o estado do servidor.

Este problema foi corrigido neste lançamento.
956281 - A iniciação do EAP 6.1 no windows com o 32bit jvm pode resultar em falha na iniciação do JVM

Quando executando as versões anteriores do JBoss EAP 6 no Windows 8 32-bit JVMs, a configuração do espaço genérico máximo permitido default resultava na não criação do JVM, que então prevenia o servidor de ser iniciado.

Este problema foi resolvido neste lançamento.
1057127 - O jconsole não funciona quando o patch atualiza algumas de suas dependências

As versões anteriores do JBoss EAP 6 continham uma bug que prevenia o jconsole.sh script de executar toda a vez que um CP1 patch era aplicado. O patch atualizou alguns módulos codificados no jconsole.sh, e como resultado violou os arquivos jar do módulo original.

Isto significava que não era possível conectar ao EAP console usando o jconsole.sh.

Estes problemas foram corrigidos pelo uso do jboss-cli-client.jar a partir do bin/client, que contia todas as dependências solicitadas.
1062592 - A mensagem de erro inadequada da utilidade add-user

Uma mensagem de erro gerada pela utilidade CLI add-user foi modificada neste lançamento do JBoss EAP 6 para evitar confusão.

Nas versões anteriores do produto, uma mensagem de erro dizendo que as senhas do usuário precisavam conter pelo menos um caractere alfanumérico eram apresentadas caso a senha inserida tivesse apenas caracteres numéricos. Neste lançamento, a mensagem de erro descrita agora menciona que as senhas apenas numéricas devem conter pelo menos um caractere alfabético.
1057625 - A correção da cygwin sintaxe add-user.sh (para o EAP 6.3.0)

Nas versões anteriores do JBoss EAP 6, foi verificado que o script add-user.sh falharia quando executando nos ambientes Cygwin.

O motivo foi identificado como uma linha má formatada do código no script.

Este problema foi resolvido neste lançamento, no entanto o script ainda possui uma problema não resolvido quando executando nos ambientes Cygwin. Refira-se ao tíquete 1069252 na seção Problemas Conhecidos deste documento para maiores informações.
928486 - As solicitações para a senha devem ser demonstradas pelo menos uma vez

Nas versões anteriores do JBoss EAP 6, um usuário que inseriu uma senha inválida enquanto usando a utilidade add-user apenas recebia um erro na primeira contravenção das regras de senha encontradas.

Caso o usuário houvesse contraventado diversas regras, as tentativas múltiplas de criação de senha poderiam ser solicitadas antes de uma senha inválida ser selecionada.

Neste lançamento, a utilidade da senha exibe antecipadamente uma lista completa das restrições da senha, reduzindo as chances das tentativas de senhas falharem.

Segurança

1023084 - Bug no JBossJSSESecurityDomain.java - tentativa de uso do provedor errado

As versões anteriores do JBoss EAP 6 incluíam uma bug que levava o JBossJSSESecurityDomain.java a tentar usar o provedor keystore/truststore para obter instâncias do gerenciador trust. Este comportamento era incorreto uma vez que a configuração "trust-manager-factory-provider" não pode ser usada na seção JSSE de um security domain. O uso desta configuração (mesmo caso configurada de forma apropriada) resultaria numa exceção durante a iniciação. Esta bug foi resolvida neste lançamento e a configuração "trust-manager-factory-provider" pode ser usada agora para configurar o trustManagerFactoryProvider.
1065476 - O módulo de login AdvancedLdap não manuseia um usuário que possui o caractere barra "/" no uid

Nas versões anteriores do JBoss EAP 6, as solicitações de autenticações falhariam caso solicitando um UID contendo um caractere slash (/). Isto era originado pelo módulo de login AdvancedLdap que não manuseava corretamente as cotas. Nesta versão do produto, o módulo de login foi modificado para remover as cotas no DN do usuário retornado antes de tentar o bind.
1069127 - O RBAC + LDAP precisa estar apto a funcionar juntamente com o <local/>

Nas versões anteriores do JBoss EAP, o carregamento do grupo LDAP poderia falhar caso um usuário autenticado não pudesse ser mapeado a uma conta LDAP. Este problema poderia surgir uma vez que o processo de autenticação usando os security realms primeiro negocia um mecanismo entre o cliente e o servidor, e então carrega a informação do grupo para o usuário. Uma vez que o sistema de autenticação local representa o usuário com um nome do usuário artificial, a segunda parte deste processo poderia falhar caso o servidor LDAP não pudesse mapear o nome do usuário ao usuário.

Neste lançamento do produto, um novo atributo: skip-group-loading foi adicionado ao elemento <local /> que é usado para a autenticação local. Quando este atributo é determinado para true, o carregamento do grupo é ignorado após a autenticação local ter ocorrido, evitando o erro desta forma. Caso um mecanismo diferente for usado, o carregamento do grupo procede normalmente.
1066488 - O security realm: de gerenciamento: as referências LDAP não funcionam

As versões anteriores do JBoss EAP 6 possuíam uma bug que informava que todos os grupos e usuários devem ser definidos e pesquisáveis no mesmo servidor LDAP.

Quaisquer grupos e usuários que resultavam numa referência não será utilizados com o JBoss EAP 6.

Isto ocorria uma vez que a pesquisa LDAP com os security realms não possuíam lógica para manusear as referências caso elas fossem encontradas enquanto autenticando um usuário em referência ao LDAP ou usando o LDAP para carregar seus grupos.

Este problema foi corrigido neste lançamento e as referências funcionam conforme o esperado.
1030053 - O NegotiationAuthenticator perde dados postados

Nas versões anteriores do JBoss EAP 6, foi verificado que o NegotiationAuthenticator perderia qualquer parâmetro SAMLRequest caso fosse usado em conjunto com o PicketLInk e o HTTP_POST binding. Isto resultava em usuários aguardando no IDP pela chegada da página, mesmo após autenticação com êxito. A NegotiationAuthenticator foi patched neste lançamento do produto e este problema não é mais evidente.
1065486 - O módulo do login LdapExtended não manuseia um usuário que possui o caractere barra (/) no uid

Nas versões anteriores do JBoss EAP 6, as autenticações do usuário falhariam caso a ID do usuário (UID) tivesse o caractere barra ( /). Isto ocorria uma vez que o módulo de login LdapExtended não manuseava o caractere corretamente. Neste lançamento do produto, o módulo foi atualizado e agora remove as cotas do DN antes do binding. Isto resolve o problema e os usuários podem autenticar conforme o esperado.
974324 - O EAP 6 Domain Mode Logging para o Gerenciamento é inexistente

Nas versões anteriores do JBoss EAP 6 logging RASTREJAR e DEPURAR não foi adicionado às interações LDAP com os realms de segurança. Isto criou problemas e dificultou o diagnóstico de autenticação onde o LDAP está em uso, uma vez que o logging de depuração não estava disponível. O logging de DEPURAÇÃO foi agora adicionado aos realms de segurança onde o LDAP é usado. Os clientes agora podem usar esses logs para diagnosticar os problemas relativos com os realms de segurança.
1069885 - Os resultados SecureIdentityLoginModule (e ConfiguredIdentityLoginModule) não possuem cache pelo JAAS cache

Nas versões anteriores do JBoss EAP 6, os problemas de desempenho eram encontrados quando usando o SecureIdentityLoginModule sem efetuar o cache nas senhas da fonte de dados criptografada. Isto era causado pelo JAAS cache, o qual não permitia que o cache chave fosse nulo quando o aplicativo usando a fonte de dados não estivesse segurada.

Neste lançamento do produto, o vault é usado para criptografar as senhas da fonte de dados ignorando o módulo JAAS e resolvendo os problemas de desempenho.
1067610 - As tentativas de autentificação irão falhar caso o rolesQuery do DatabaseRolesMappingProvider retornar um conjunto vazio

Nas versões anteriores do JBoss EAP 6 foi verificado que as tentativas de autenticação falhariam caso o DatabaseRolesMappingProvider retornasse um valor nulo. Isto era causado pela autenticação não estando apta a fornecer funções a funcionários autenticados caso o valor fosse nulo. Neste lançamento do produto, o sistema de segurança honra com sucesso as autenticações e não tenta aplicar as funções nas instâncias onde o valor retornado é nulo.
1000185 - A configuração do JASPI auth-module não suporta o atributo "módulo"

Nas versões anteriores do JBoss EAP 6, a configuração do JASPIC auth-module no subsistema de segurança ignorava o atributo "módulo". Este atributo informa ao PicketBox onde carregar as classes do módulo de autorização personalizado.

Como resultado, o JASPIC auth-modules personalizado não poderia ser configurado uma vez que o PicketBox não estava apto a determinar o módulo do jboss que deveria ser usado.

Uma vez que o atributo do módulo já existe no esquema de subsistema de segurança, a correção envolveu a adição do código no subsistema de segurança para manusear este atributo, permitindo que o PicketBox carregue os módulos personalizados corretamente.

Como resultado, os usuários podem agora configurar o JASPIC auth-modules personalizado usando o atributo "module" para indicar que o jboss-module que contém a classe do módulo personalizada.

Servidor

955818 - O Class-Path manifesta entradas para os WARs-in-EAR que não são manuseados de forma apropriada

Nas versões anteriores do JBoss EAP 6, quando as subimplantações múltiplas num EAR eram referidas a um jar sem módulo único através das entradas de manifesto Class-Path, isto era adicionado ao primeiro carregador de classe da subimplantação.

Isto causou problemas ao carregamento de classe uma vez que as classes no jar da utilidade seriam alocadas no classloader incorreto.

Esta versão do produto cria um novo módulo de implantação para o jar de utilidade, e possui todas as implantações dependentes nisto. Como resultado, os problemas de classloading não são mais evidentes.
1060269 - Busca DNS inversa no servidor domain mestre recarregado

Os usuários das versões anteriores do JBoss EAP 6 provavelmente verificaram que os servidores não estavam aptos a reconectar ao Domain Controller após ser recarregado, caso os servidores gerenciados não fossem reiniciados também.

Este problema ocorria caso a busca de IP reversa estivesse incorretamente configurada, significando que os servidores eram apresentados com o hostname do Controlador (e não o seu endereço IP) para reconexão. Nestas situações a conexão falharia.

Este problema foi resolvido neste lançamento do produto pelo reuso de dados armazenados no objeto InetSocket. Isto evita a necessidade de realizar a busca IP reversa e permite que os servidores reconectem-se conforme o esperado.
1036872 - Não foi possível configurar a configuração do arquivo da política de segurança que desabilita os arquivos da política específicos no arquivo java.security do JRE

Um problema foi identificado no uso de um prefixo especial do = para desabilitar os arquivos da política default. A causa subjacente era que quando o Host Controller iniciava um servidor, ele fornecia null como valor da configuração java.security.policy, levando ao uso dos arquivos da política especificados no arquivo java.security e possíveis falhas de permissão evitando que o servidor efetuasse o boot.

Este problema foi resolvido pela modificação da pesquisa das propriedades de sistema de forma que o valor de uma propriedade de sistema, cujo valor inicie com "=", não é mais redefinido para null pelo Host Controller quando iniciando o servidor.
1049999 - Class-Path: . pode levar ao JBAS011046: Um componente nomeado 'TestBean' já está definido neste módulo

Nas versões anteriores do JBoss EAP 6, algumas bibliotecas jar WEB-INF/lib continham um manifesto com o atributo Class-Path que contia "." como uma entrada.

Este problema levava alguns recursos e componentes a serem processados duas vezes, causando avisos no log.

Este lançamento do produto ignora entradas "." nos atributos do manifesto Class-Path, de forma que os recursos não são mais processados duas vezes.
924562 - O reinício da implantação causada pela substituição da dependência não funciona

Um problema que poderia resultar num NullPointerException foi resolvido neste lançamento do JBoss EAP 6. A exceção que poderia estar presente, quando uma implantação parcialmente reiniciava algumas estruturas que eram requeridas, foi excluída para salvar memória (por exemplo, quando uma dependência era substituída). Este problema prevenia a reimplantação de ser concluída. Para corrigir este problema, as reimplantações parciais não são mais permitidas neste lançamento do produto. Caso uma dependência for substituída, a implantação é completamente iniciada e a exceção não está mais presente.

Gerenciador da Transação

1038993 - Não é possível alterar o tipo de store do objeto a partir do hornetq para o jdbc através dos comandos cli

Nas versões anteriores do JBoss EAP 6, as alterações ao tipo do store do objeto (a partir do HornetQ para o JDBC, ou vice-versa), através da interface CLI, não propagavam corretamente.

Como resultado, o store do objeto permaneceria conforme determinado inicialmente (que era uma opção menos desejada).

Neste lançamento os manuseadores de gravação, o use-hornetq-store e use-jdbc-store foram aprimorados para desabilitar a outra opção quando usada e o store do objeto usado é sempre a opção escolhida.
1034650 - Aumento do valor default do com.arjuna.ats.jta.orphanSafetyInterval

Um problema nas versões anteriores do JBoss EAP poderia levar a diversas reversões do XAExceptions a serem conectadas, caso o período do processamento da transação ultrapassasse o período de tempo da atividade de processo de recuperação periódico, foi corrigido neste lançamento do produto. O período do intervalo do orphanSafetyInterval foi elevado para 20 que reduz significadamente as chances de encontrar exceções.
1027126 - O servidor falhou ao inciar o store do objeto standalone-xts.xml e jdbc no mysql 5.5

Nas versões anteriores do JBoss EAP 6, o servidor falhava a iniciar quando: um gerenciador da transação era configurado para executar as transações XTS, ocorresse o uso store do objeto JDBC com host no MySQL 5.5, e quando o driver era colocado no diretório deployments.

Este problema foi resolvido neste lançamento.
1107569 - Otimização de uma fase: XAException pelo XAResource absorvido e a invocação do bean forjou o êxito

Uma bug presente nas versões anteriores do JBoss EAP 6 impedia que os usuários vessem a exceção que significava falha de uma confirmação de fase única.

A bug aparecia uma vez que o gerenciador de recurso pudesse falhar XAR::end, porém sucedia no XAR::rollback, o que significava que nenhuma exceção era relatada ao usuário.

Este lançamento do produto lança a exceção correta ao usuário confirmando o resultado de uma fase única de confirmação.
1092198 - O LogStoreProbeHandler substitui o modelo LogStoreResource root

Nas versões anteriores do JBoss EAP 6 foi averiguado que o LogStoreProbeHandler substituiu o delegado mantido pelo LogStoreResource. Isto removia quaisquer dados do campo do modelo de delegação existente (o atributo "digitar", por exemplo).

Como resultado, a invocação da operação de investigação no subsystem=transactions/log-store=log-store resultaria no valor do atributo tipo sendo alterado para default, mesmo se o gerenciador da transação estiver usando o hornetq. O comportamento runtime atual não seria afetado, mas o valor relatado seria errôneo.

Neste lançamento do produto, os conteúdos do modelo de delegação atual é copiado à nova delegação antes de ser removido e o atributo tipo não será mais o default, após a execução da operação investigação quando o tipo de log store for na realidade algo diferente.

Web

1027272 - O ContextNotActiveException gerado na invalidação da sessão quando usando o SSO com cluster

Nas versões anteriores do JBoss EAP 6, os SSO valves não determinaram o contexto quando sessões expiradas estavam associadas com o SSO.

Como resultado, o ClusteredSingleSignOn chamaria o WeldListener.sessionDestroyed(event) após a sessão ter sido destruída, resultando num ContextNotActiveException sob invalidação da sessão.

Neste lançamento os SSO valves determinam agora o contexto quando expirando as sessões associadas com o SSO e o ContextNotActiveException é evitado sob a invalidação da sessão.
1050204 - O WAIT_FOR_BEFORE_START não funciona para / aplicativos do contexto

Nas versões anteriores do JBoss EAP, a propriedade WAIT_FOR_BEFORE_START não funcionava para os aplicativos do contexto raiz. Caso um usuário determinasse WAIT_FOR_BEFORE_START para / e implantasse um aplicativo root, os conectores não iniciavam como o esperado.

Isto foi corrigido neste lançamento e agora quando determinando WAIT_FOR_BEFORE_START para / e implantando o aplicativo root, os conectores irão iniciar conforme o esperado.
1105160 - CPU alta em acesso simultâneo ao mapa JSSESupport keySizeCache

O keySizeCache no JSSESupport não estava sincronizado de forma apropriada nos lançamentos anteriores do JBoss EAP 6.

Isto significava que o acesso simultâneo ao JSSESupport keySizeCache poderia resultar em loops do mapa hash de CPU alta.

Neste lançamento do produto, o acesso ao keySizeCache no JSSESupport é agora sincronizado e o acesso simultâneo ao keySizeCache não ocorre mais.
1036197 - O conector Native HTTP falha caso o org.apache.tomcat.util.Constants.ENABLE_MODELER for configurado para verdadeiro

Nas versões anteriores do JBoss EAP 6, os métodos start() das classes *Protocol do JBossWeb Coyote construíram um nome do MBean usando o valor getName() que é provável possuir dois pontos, sendo que o nome do objeto não pode possuir dois pontos arbitrários.

O seguinte erro seria relatado quando o JBoss tentasse iniciar caso o -Dorg.apache.tomcat.util.Constants.ENABLE_MODELER=true estivesse configurado:
JBWEB003044: Threadpool JMX registration failed: javax.management.MalformedObjectNameException: Invalid character ':' in value part of property

Este lançamento usa getJmxName() ao invés de getName() para construção correta do MBean.

Como resultado, a exceção não ocorre mais quando o -Dorg.apache.tomcat.util.Constants.ENABLE_MODELER=true é usado e o modelador é habilitado.

Web Console

1079948 - Não é possível ver todos os hosts no console de gerenciamento do JBoss EAP 6.2

Nas versões anteriores do JBoss EAP 6, faltava uma barra de rolagem no seletor do host. Isto dificultava a seleção de hosts que não eram visíveis no seletor.

Uma barra de rolagem foi adicionada ao seletor do host neste lançamento do produto e todos os hosts podem ser facilmente selecionados.
1014219 - RBAC: A visibilidade do elemento de controle para usuários com funções com escopo múltiplas

Usuários determinados a múltiplas funções veriam as operações no console que eles não possuíam acesso à execução. Por exemplo, um usuário com funções host-master-administrator e host-slave-monitor apenas seria apto a ver os elementos de controle (tais como o botão Adicionar na página de configurações do servidor) no contexto do slave do host. Este botão não estaria visível quando a operação em contexto do mestre do host (independente do que fosse).

As operações que eram incorretamente visíveis falhariam caso houvessem suas tentativas, uma vez que o controle de acesso era reforçado na execução da operação. Não havia violação de segurança.

Este problema no console de gerenciamento foi corrigido neste lançamento. Os elementos de controle que não eram relevantes à função do usuário, são acinzentados e não estão ativos.
900849 - o erro EAP6 CLI quando os dados estiverem acima de 64k

Qualquer comando CLI que retornasse uma sequência que fosse acima de 65535 caracteres de comprimento falhariam com o seguinte erro:
Communication error: java.util.concurrent.ExecutionException: Operation failed

Isto era causado pelo uso do método java.io.DataOutput.writeUTF() na biblioteca JBoss DMR. Este método gera um UTFDataFormatException caso a sequência processada possuir acima de 65535 caracteres de comprimento. A biblioteca JBoss DMR foi atualizada para uso de uma técnica alternativa para processar corretamente as sequências acima do comprimento. Qualquer comando CLI que retornar uma sequência acima de 65535 de comprimento agora executa conforme o esperado.
901227 - O node-timeout, worker-timeout, flush-wait e ttl mod_cluster attributes no console da web

Um problema estava presente nas versões anteriores do Console de Gerenciamento baseado na web do JBoss EAP 6 que evitava a visualização ou configuração de um valor -1 para os atributos mod_cluster listados e corrigidos neste lançamento:
  • node-timeout
  • worker-timeout
  • flush-wait
  • ttl
1103747 - Não foi possível listar todas as Filas/Tópicos (a partir da tab "Perfis") no Console de Gerenciamento para o EAP 6.x

Nas versões do JBoss EAP 6, os usuários averiguaram que eles não podiam listar todos os tópicos e/ou filas sob as tabs dos perfis no Console de Gerenciamento. O número máximo de filas visíveis eram apenas oito. Isto foi endereçado neste lançamento e agora todas as filas estão visíveis.
1029687 - A saída da determinação do console admin assegurado (ssl) redireciona ao endereço http

Nas versões anteriores do JBoss EAP 6, a saída dos usuários do console de administração assegurado (sobre o HTTPS) redirecionaria incorretamente aos endereços HTTP e a saída falharia.

Isto ocorria uma vez que as redireções eram codificadas para uso dos endereços HTTP.

Neste lançamento do produto, as redireções foram atualizadas para levar em conta se o usuário está acessando a interface sobre o HTTP ou HTTPS e as redireções ocorrem de forma apropriada.
1048211 - O domain apresenta política de segurança errada no console de gerenciamento

Uma bug nas versões anteriores do JBoss EAP 6 levaram ao security domain a apresentar uma política de segurança incorreta.

A atualização da seleção foi corrigida neste lançamento e agora os detalhes são atualizados de acordo com a política de segurança selecionada
999813 - [Usability] A operação cancelar é ignorada quando as métricas de destinação JMS esvaziarem o console de gerenciamento

No JBoss EAP 6.1.0 e 6.1.1, antes de esvaziar uma destinação através do console de gerenciamento da web, um diálogo de confirmação era apresentado, solicitando a confirmação da ação. Independente da resposta do usuário, a destinação JMS era esvaziada. A causa principal deste problema era que o resultado do aviso de confirmação era ignorado. Este problema foi resolvido e a destinação JMS é apenas esvaziada caso o diálogo de confirmação fosse encerrado com "OK".
1012490 - Lista de todos os nomes JNDI para destinações de mensagens na página de métricas no período de execução

Nas versões anteriores do JBoss EAP 6 foi verificado que a página da métrica do Período de Execução para destinações de mensagem (Runtime > JMS Destinations) listavam apenas o nome JNDI único determinado para a destinação Java Messaging Service (JMS). Os demais nomes JNDI para a destinação Java Messaging Service (JMS) eram listados com reticências ("...").

Isto significava que a destinação Java Messaging Service (JMS) podia ser apenas acessada visitando a lista de destinação completa no(s) Perfil(s) EAP.

Neste lançamento, a lista completa dos nomes JNDI para todas as destinações Java Messaging Service (JMS) são visíveis na página das métricas do Período de Execução para destinações de mensagens (Runtime > JMS Destinations) auxiliadas por uma dica de ferramenta.

Caso uma lista de nome JNDI for muito longa, ela é truncada e a reticências será exibida, porém a dica de ferramente exibe uma lista completa quando o mouse sobrepor a entrada do nome JNDI.
1073537 - Os testes da conexão DS são requeridos para passar a todos os servidores

Nas versões anteriores do JBoss EAP 6, o teste da conexão DS usava todos os servidores no domain. Isto poderia impactar o desempenho negativamente.

Neste lançamento do produto, apenas os servidores dos perfis selecionados no momento são usados para o teste de conexão, resultando em um desempenho melhor e mais confiável.

Serviços da Web

1060001 - A injeção da dependência spring não funciona nas instâncias do ponto de extremidade

Uma bug presente nas versões anteriores do JBoss EAP 6, que prevenia que os beans criados no JBoss WS-CXF fossem injetados nos pontos de extremidade, foi resolvida com uma atualização neste lançamento.
1032593 - Os dados eram mantidos no jboss-eap-6.2/standalone/data/wsdl após a desimplementação do aplicativo

As versões anteriores do JBoss EAP 6 armazenavam dados no diretório Web Services Description Language (WSDL) (EAP_HOME/standalone/data/WSDL) mesmo após um aplicativo ter sido desimplantado do servidor JBoss EAP.

Os dados WSDL eram armazenados como se este fosse o comportamento default assim que um aplicativo fosse implantado no servidor com um mecanismo automático de remoção dos arquivos armazenados.

Este problema foi resolvido pela atualização dos arquivos nos repositórios (jbossws-cxf-4.2.x and trunk) para alteração dos comportamento e edição dos logs WSDL.

Esta correção previne o armazenamento de dados no diretório WSDL após um aplicativo for desimplantado do servidor do JBoss EAP 6.3.
1032439 - Falhas intermitentes do jbossws testcase causadas pelo javax.management.InstanceNotFoundException: jboss.ws:service=ServerConfig

Nas versões anteriores do JBoss EAP 6, a configuração do servidor WS não estava sempre disponível através do JMX.

Isto era causado por uma dependência de serviço OPCIONAL ao servidor MBean no WS ServerConfigService

Neste lançamento, a dependência do servidor MBean é determinada como REQUERIDA ao invés de OPCIONAL todo instante que um subsistema JMX estiver disponível

Como resultado, a configuração do servidor WS sempre está disponível através do JMX quando o subsistema JMX estiver disponível
1069349 - As importações do esquema no CXF podem possuir conflitos de nomeação no URL usando para recuperá-las

Uma bug nos lançamentos anteriores do JBoss EAP 6 criava conflitos de nomeação nos URLs quando importando o esquema no CXF. Este problema foi corrigido neste lançamento do produto.
900634 - O JBossWS-CXF não envia a mensagem de falha ao ponto de extremidade FaultTo quando for uma mensagem de solicitação-resposta.

Caso o elemento FaultTo do WS-Addressing fosse determinado para o cliente WS, o servidor WS não enviava mensagens de falha à destinação FaultTo. No entanto, caso o elemento ReplyTo fosse determinado, o servidor WS não enviava respostas à destinação ResponseTo. Esta bug foi corrigida nesta versão do JBoss EAP 6 com uma atualização do Apache CXF.
1040732 - O JAXBDataBinding não pode manusear a exceção com objetos genéricos como ObjectWithGenerics<Boolean, Integer>

As versões anteriores do JBoss EAP 6 possuíam um problema que era evidente quando uma classe Exception contia alguns membros com os parâmetros do tipo definidos como o seguinte exemplo:

O WSDL gerado a partir da classe de exceção era incorreto e a mensagem de falha SOAP não era esperada.
@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 foi resolvido upstream e a correção faz parte deste lançamento do produto.
1079084 - O Webservices DUPnão está escaneando todas as classes visíveis para a anotação @WebService

Foi confirmado que o Webservices DUP nas versões anteriores do JBoss EAP possuía uma bug que prevenia o escaneamento de todas as classes visíveis com a anotação @WebService. Um erro ocorria quando o arquivo war que contia um web.xml com um <servlet-class> que referia ao ponto de extremidade JAX-WS (de forma que a classe era anotada com o @WebService) era localizado no arquivo ear. O jar contendo a classe era localizado no diretório lib/ do arquivo ear. O código relevante foi corrigido neste lançamento para escanear em maiores detalhes as classes @WebService e o erro não é mais evidente.
1077259 - O HttpServletRequestSnapshot não é criado para solicitações com o WSA ReplyTo prop set

Uma bug nas versões anteriores do JBoss EAP 6 preveniam o HttpServletRequestSnapshot de ser criado com o WS-Addressing habilitado e a propriedade do cabeçalho ReplyTo especificava a um endereço não genérico.

Esta bug resultou numa resposta HTTP 202 imediata e a solicitação do servlet sendo reciclada antecipadamente pelo contêiner.

Este problema problema foi resolvido neste lançamento do produto pela atualização do componente CXF.
1079043 - O MessageContext é perdido quando o cliente JAX-WS é invocado a partir do JAX-WS endpoint impl

Nas versões do JBoss EAP 6, quando um cliente JAX-WS era invocado dentro de um ponto de extremidade, o MessageContext era removido do ThreadLocal e não era substituído no final da chamada do cliente.

Isto levou a indisponibilidade do MessageContext nos pontos de extremidade após eles realizarem qualquer invocação JAX-WS.

Esta bug foi corrigida neste lançamento do produto.
1031642 - O atributo modify-wsdl-address do subsistema WebServices teve o valor falso ignorado

As versões anteriores do JBoss EAP 6 possuíam uma bug que preveniam a pilha WS de processar o @WebService(wsdlLocation=...) quando executando a regravação wsdl soap:address.

O atributo da anotação acima não era processado quando a anotação era colocada à serviço das interfaces do ponto de extremidade apenas.

Este problema foi corrigido neste lançamento.
1060355 - O esquema validation + multiple schema que importa no mesmo namespace + catalog look up não funciona

Um problema levou o algorítimo no org.apache.cxf.wsdl.EndpointReferenceUtils.SchemaLSResourceResolver#resolveResource a não resolver o esquema correto e retornou apenas o primeiro esquema encontrado. Isto foi corrigido pela atualização do componente CXF.

jbossas

1067620 - Não foi possível alterar as permissões do aplicativo no EAP 6 quando o Java Security Manager está habilitado

Um problema com as políticas do aplicativo Java Security Manager (JSM) foi descoberto onde os aplicativos implantados era concedidos a permissão AllPermission, que contradizia o arquivo da política. A causa principal deste problema era que o Virtual File System (VFS) não estava habilitado, portanto o manuseamento das políticas baseadas no URL vfs:/... não eram carregadas e as permissões default eram aplicadas. Este problema foi resolvido pela certificação de que o módulo VFS é carregado e as políticas JSM são corretamente aplicadas.

mod_cluster

1008901 - Algumas mensagens sérias de log não possuem a id para identificá-las

Nas versões anteriores do JBoss EAP 6 foi verificado que as duas mensagens de log não eram localizadas corretamente.

Como resultado, os usuários não viam a mensagem MODCLUSTER{id} nem mesmo a tradução.

Duas mensagens foram adicionadas neste lançamento: MODCLUSTER000044 e MODCLUSTER000045.

As mensagens aparecem agora conforme o esperado.
1030965 - O número de contextos registrados afetam negativamente o desempenho do mod_cluster

O problema de desempenho foi identificado no Servidor Apache HTTP com o mod_cluster configurado como as operações de memória compartilhadas load balancer. httpd na tabela workers->nodes afetando negativamente o desempenho do balanceador de carga. Como resultado, o balanceador de carga httpd diminui uma vez que os contextos registrados aumentam.

Uma alternativa para contornar este problema é reduzir o número de contextos registrados.

O httpd foi modificado para utilizar a memória local ao invés da memória compartilhada, como solução para este problema.
1020142 - Os XSDs do subsistema modcluster não descreve o atributo worker-timeout

Nas versões anteriores do JBoss EAP 6, o mod_cluster XSD usado para validação não especificava o atributo worker-timeout.

Isto significa que o uso do XSD para validar a configuração poderia falhar a validação mesmo quando a configuração estava correta e era corretamente pesquisada pelo servidor.

O esquema XSD foi corrigido e agora o uso do esquema XSD para validação quando usando o atributo worker-timeout irá passar a validação.
1058334 - O ${project.version} não está resolvido para o mod_cluster no log do servidor

Nas versões anteriores do JBoss EAP 6, a lógica da sequência de versão usava um ${project.version} no ModClusterLogger.java

Como resultado, o ${project.version} foi gravado ao log do servidor.

Nesta versão, a lógica foi corrigida adicionando uma sequência de versão no Version.properties e lendo antes do logging da mensagem de início. A versão é agora corretamente exibida no log do servidor.
985101 - O STOP-APP não está incluído na página mod_cluster-manager juntamente com o ENABLE/DISABLE-APP

Nas versões anteriores do JBoss EAP 6, o comando STOP-APP na página do gerenciador mod_cluster-manager não era exibido.

Este problema foi corrigido neste lançamento e o comando STOP-APP é agora disponível através da página mod_cluster-manager conforme o esperado.
980246 - O mod_cluster-manager pode interromper aliases a partir de um único VirtualHost, levando a uma página bagunçada.

Nas versões anteriores do JBoss EAP, foi relatado que quando implantando diversos aplicativos, cada um com um virtual-server único e cada virtual-server com aliases múltiplos, o mod_cluster_manager poderia exibir incorretamente o mesmo Virtual Host diversas vezes (uma vez para cada alias).

Este problema foi resolvido e agora os Virtual Hosts são exibidos uma vez na página do gerenciador juntamente com todos os aliases conforme o esperado.
1098576 - O ModClusterService interrompe os comando que estão sempre esvaziando as sessões.

Nas versões do JBoss EAP 6, o uso da interrupção do ModClusterService ou os comandos stopContext da interface CLI falhavam a mover um contexto no estado STOPPED após falharem ao esvaziar as sessões ativas. Isto significava que esses comandos não eram viáveis para a interrupção rápida do contexto quando desejado (sem o esvaziamento). Este problema foi resolvido com a atualização do componente mod_cluster.
1044594 - As propriedades da métrica do [WFLY-2663] mod_cluster nunca são aplicados

Nas versões anteriores do subsistema mod_cluster configurava métricas de carga e propriedades especificadas a elas eram pesquisadas a partir do XML, porém não aplicadas às classes.

Isto significava que as propriedades de configuração para as métricas não possuíam efeito.

Neste lançamento, as propriedades são aplicadas aos objetos conforme o esperado.
1052185 - O MODCLUSTER-365: Reset MCMPs são enviados a todos os proxies disponíveis

Uma versão anterior do JBoss EAP possuía um problema desconhecido que resultava num mod_cluster enviando os MCMPs (Mod_Cluster Manangement Protocols) redefinidos a todos os servidores httpd em seus proxy-list após um deles ter sido reiniciado. Este comportamento pode ter tido um impacto negativo nos sistemas com o contexto de auto-habilitação determinado para falso.

O comportamento correto é enviado para solicitação de redefinição apenas para reiniciar o servidor. O problema ocorreu uma vez que o DefaultMCMPHander.status chamou o sendRequests que envia todos os proxies por default.

Este problema foi resolvido devido uma atualização ao componente mod_cluster.