Notas de Lançamento 6.2.0

JBoss Enterprise Application Platform 6.2

Novos Recursos, Problemas Conhecidos e Informação de Suporte para o Red Hat JBoss Enterprise Application Plataform 6.2.0

Nidhi Chaudhary

Lucas Costi

Russell Dickenson

Sande Gilda

Vikram Goyal

Eamon Logue

Darrin Mison

Scott Mumford

David Ryan

Misty Stanley-Jones

Keerat Verma

Tom Wells

Resumo

Estas notas de lançamento contém informações importantes relacionadas ao Red Hat JBoss Enterprise Application Plataform 6.2.0. As questões analisadas neste documento são problemas conhecidos, recursos adicionais e problemas atuais.
As alterações documentadas nestas notas de lançamento são relativas aos lançamentos anteriores, 6.1.1.

1. Visão Geral

O Red Hat JBoss Enterprise Application Plataform 6 é a resposta para alterações significantes na maneira em que as organizações desenvolvem e implementam os aplicativos enterprise. As organizações buscam por custos operacionais mais baixos e reduzem o período de mercado para novos aplicativos. O JBoss EAP 6 foi reconstruído para uma visão do futuro, com orgulho da inovação modular, arquitetura nuvem, gerenciamento e automatização potente e produtividade de desenvolvedor de classe mundial.
O JBoss EAP 6 é Java EE 6 certificado e possui recursos potentes e ao mesmo tempo flexíveis, além de muitos outros recursos para melhorar a produtividade do desenvolvedor. Tudo com a reputação líder de mercado para certificação e suporte da Red Hat, garantindo que as necessidades de seu administrador e desenvolvimento continuem indo adiante.

2. Perguntas Frequentes

P: O que alterou nesta liberação?
P: Onde está o resto da documentação?
P: Onde estão as instruções da atualização?
P: Quais sistemas operacionais; Máquinas Virtual Java e servidores da fonte de dados este produto suportado?
P: A fonte de dados H2 incluída está suportada na produção?
P: Quais padrões da indústria que o JBoss EAP 6.2.0 suporta?
P: Quais obstáculos eu poderei encontrar na migração desta liberação?
P: Quais componentes estão incluídos nesta liberação e qual versão elas são?
P: Quais Prévias da Tecnologia estão incluídas nesta liberação?
P: Onde eu posso encontrar mais detalhes sobre o contrato de suporte?
P: Eu encontrei um erro neste documento. Como eu posso relatar isto?
P:
O que alterou nesta liberação?
R:
O JBoss EAP 6.2.0 inclui muitos melhoramentos e correções. Para estes detalhes específicos refira-se à Seção 7, “Alterações deste lançamento”.
P:
Onde está o resto da documentação?
R:
A suite da documentação completa do JBoss EAP 6.2.0 pode ser encontrada no https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
P:
Onde estão as instruções da atualização?
R:
As instruções da atualização podem ser encontradas no Guia de Instalação. Refira-se à suite da documentação no https://access.redhat.com/site/documentation/JBoss_Enterprise_Application_Platform/.
P:
Quais sistemas operacionais; Máquinas Virtual Java e servidores da fonte de dados este produto suportado?
R:
Refira-se ao https://access.redhat.com/site/articles/111663 para uma lista completa do sistema operacional, a Máquina Virtual Java, o servidor da fonte de dados e as combinações do driver JDBC que foram testadas e verificadas com o JBoss EAP 6.2.0
P:
A fonte de dados H2 incluída está suportada na produção?
R:
Não. A fonte de dados H2 está incluída apenas para avaliação, testes e propósitos de demonstração. Isto não é uma configuração suportada para o ambiente de produção. Refira-se ao https://access.redhat.com/site/solutions/148633 para informações adicionais.
P:
Quais padrões da indústria que o JBoss EAP 6.2.0 suporta?
R:
Refira-se ao https://access.redhat.com/site/articles/113373 para uma lista completa de especificações suportadas e padrões.
P:
Quais obstáculos eu poderei encontrar na migração desta liberação?
R:
Refira-se à Seção 7, “Alterações deste lançamento” para aprender mais sobre as diferenças entre esta liberação do JBoss EAP e liberações anteriores que podem causar dificuldades quando migrando seus aplicativos a esta versão.
P:
Quais componentes estão incluídos nesta liberação e qual versão elas são?
R:
Refira-se ao https://access.redhat.com/site/articles/112673 para uma lista completa de componentes incluídos.
P:
Quais Prévias da Tecnologia estão incluídas nesta liberação?
R:
O JBoss EAP 6.2.0 inclui um número de recursos da Prévia de Tecnologia. Os recursos da Prévia da Tecnologia não são suportados, podem não funcionar por completo e não tem como intenção o uso de produção. Eles estão incluídos para fornecer aos clientes um acesso antecedente às inovações do produto futuro, habilitando-os à funcionalidade de teste e fornecer opinião durante ao processo de desenvolvimento.
Refira-se à Seção 4, “Recursos Fornecidos apenas como Prévia da Tecnologia” para uma lista completa dos recursos da Prévia da Tecnologia nesta liberação.
P:
Onde eu posso encontrar mais detalhes sobre o contrato de suporte?
R:
Os detalhes das políticas de suporte estão localizados nos seguintes URLs:
Processos de Suporte
Cobertura do Escopo de Suporte de Produção
Contrato do Nível de Serviço de Suporte de Produção
Cobertura do Escopo de Suporte do Desenvolvedor
Contrato do Nível de Serviço de Suporte do Desenvolvedor
Política de Suporte e Atualização do Serviço pelo Produto
Contrato de Licença do Usuário Final
P:
Eu encontrei um erro neste documento. Como eu posso relatar isto?
R:
Para fornecer sua opinião neste documento, arquive uma bug no https://bugzilla.redhat.com e especifique o produto JBoss Enterprise Application Platform, a versão 6.2.0 e o componente documentation-6.2.0_Release_Notes.

3. Novos recursos

Os novos recursos abaixo foram adicionados no JBoss EAP 6.2.0.
Adaptador de Recurso JMS Genérico
Um adaptador do recurso JMS genérico está disponível com o EAP 6.2. Este adaptador de recurso é fornecido à integração de suporte com sistemas JMS externos que não fornecem seus adaptadores de recurso e suportam ambos os casos de uso XA e não XA. Refira-se ao Configure a Generic JMS Resource Adapter for Use with a Third-party JMS Provider no Administration and Configuration Guide para as etapas de configuração.
RBAC para Operações de Gerenciamento
O Role-based access control (RBAC - controle de acesso baseado na função) foi implementado, aumentando a granularidade do controle de acesso para as operações de gerenciamento através das interfaces de gerenciamento. Os usuários e grupos podem ser associados com uma das diversas funções que determinam o nível de acesso às operações de gerenciamento.
Operações de Gerenciamento para Patching
Operações de gerenciamento para instalar patches, reverter patches e relatar o estado que foi implementado. Essas operações habilitam usuários a instalar o CVE, único e pacthes cumulativos nos lançamentos do JBoss EAP 6.2 e versões futuras. As operações são expostas nas interfaces de gerenciamento HTTP, CLI e Native. As operações serão expostas no console em uma versão futura.
Logging de Auditoria Administrativa
As novas opções de configuração para logging de ações administrativas. O acesso administrativo à configuração log de auditoria pode ser o escopo à função Auditor definida na configuração RBAC.
PicketLink STS Quickstart
O PicketLink Security Token Service (STS - Serviço Token de Segurança) está agora disponível como QuickStart.
Certificação WebSphere MQ
A integração com o WebSphere MQ através do adaptador de recurso WebSphere MQ foi testada e certificada.
JDBC Transaction Store
O JBoss transactions pode ser configurado para store o estado da transação em qualquer um dos sistemas RDBMS testados com o JBoss EAP 6.2. Este aprimoramento elimina a necessidade de uma sistema de arquivo compartilhado numa recuperação da transação.
Configuração do Manuseador Syslog
O JBoss EAP 6 fornece agora um manuseador e uma configuração para o protocolo syslog.
WSI-Basic Profile 1.2
O JBoss Web Services foi testado para garantir conformidade com o WSI-Basic Profile 1.2.
WSI-Basic Profile 2.0
O JBoss Web Services foi testado para garantir conformidade com o WSI-Basic Profile 2.0.
Descoberta HornetQ através do JGroups
O HornetQ oferece agora uma descoberta dinâmica de configurações de conexão do servidor através do UDP e JGroups.
Federação JNDI Externa
A configuração de subsistema de Nomeação foi adicionada à configuração do JBoss EAP 6 que habilita um administrador a conectar a um sistema de nomeação externo ao JBoss EAP 6 JNDI. Esta capacidade substitui o ExternalContextMBean a partir do JBoss EAP 5.
Modo Silencioso do JBoss CLI
Um 'Modo Silencioso' foi adicionado ao CommandContext API para incorporação de processos do CLI.
Suporte de transportes personalizados no subsistema de Correio
O subsistema de correio foi aperfeiçoado para habilitar o administrador a fornecer um protocolo de transporte personalizado.
Novos Algoritmos de Carregamento em Lote Hibernate
O Hibernate adicionou dois lotes de algoritmos de carregamento ao algoritmo de Legacia existente: Dinâmico e Preenchido.
Hibernate - Cache de Segundo Nível Aprimorado das Referências do Objeto para Dados não-Mutáveis.
Oracle 12c
O banco de dados Oracle 12c foi testado e adicionado à lista de configurações suportadas.

4. Recursos Fornecidos apenas como Prévia da Tecnologia

As seguintes configurações e recursos são conhecidas por apresentarem problemas e são apenas fornecidas como prévias de tecnologia. Elas não são suportadas num ambiente de produção.
WS-Trust/STS with JBoss Web Services
O JBoss Web Services expõe agora as capacidades WS-Trust/STS a partir da implementação CXF subjacente.
Adição e Remoção de Módulos com o JBoss CLI
O CLI oferece agora novos comandos para adição e remoção de módulos.
WS-AT/XA Bridge
A funcionalidade WS-AT/XA transaction bridge é fornecida apenas como prévia da tecnologia e não é suportada num ambiente de produção.
Validação RestEasy com o Hibernate Validator
O RestEasy fornece agora um provedor de validação para suportar o Hibernate Validator com o JBoss EAP 6.
Classes auxiliares do ServiceMBean restaurado
O Módulo org.jboss.as.system-jmx foi introduzido para restaurar as classes auxiliares disponíveis em versões anteriores do JBoss EAP que assistem usuários na criação de MBeans.
Multi-JSF
Este recurso habilita o usuário a substituir a implementação JSF fornecida com o JBoss EAP 6 pela implementação JSF fornecida pelo usuário.
Hibernate -Suporte de Aprimoramento Bytecode Expandido e Melhorado

5. Recursos não Suportados

Os seguintes recursos não são suportados no JBoss EAP.
Protocolo STOMP com o HornetQ
O HornetQ possui suporte da comunidade para o protocolo STOMP. Este protocolo não recebeu testes pela Red Hat e não é suportado pelo JBoss EAP.
Protocolo REST com o HornetQ
O HornetQ possui suporte da comunidade para o protocolo REST. Este protocolo não recebeu testes pela Red Hat e não é suportado pelo JBoss EAP.
Infinispan API
O uso direto do Infinispan API não é suportado no JBoss EAP 6. O Infinispan é usado como um detalhe de implementação para várias tecnologias internas do JBoss EAP 6. O module.xml do API indica incorretamente que o uso direto é possível, mesmo que este não seja o caso. Isto será corrigido num recurso futuro. O uso direto do Infinispan API requer uma subscrição do JBoss Data Grid.
Limitações IPv6 do JDK 6
As seguintes limitações IPv6 são causadas pelo JDK 6 e não são defeitos no JBoss EAP 6.
  1. No Microsoft Windows Server, o JDK possui apenas uma implementação IPv6 parcial. Esta implementação não é suficiente para executar o JBoss EAP 6. O suporte completo do IPv6 no Microsoft Windows Server requer JDK 7.
  2. No Red Hat Enterprise Linux, uma bug no Oracle JDK 6 significa que qualquer endereço especificado num cliente (o ponto da rede estabelecendo conexão) que contém um zone-id falhará. Para usar um zone-id, tanto atualize para o JDK 7 ou use o IcedTea/OpenJDK 6, que está disponível para o Red Hat Enterprise Linux e não exponha esta bug. Para maiores informações sobre esta bug, refira-se ao http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6800096 e https://issues.jboss.org/browse/JBPAPP-8833.
Propagação do JPA 2.0 Context fora do JTA Transaction
A propagação dos Extended Persistence Contexts (XPC - Contextos de Persistência Estendida) não leva em conta a existência da transação, sendo o XPC sempre propagado. O comportamento não está de acordo com a especificação JPA 2.0. O manuseio do XPC não foi modificado de forma que quando não existir transação ativa, a propagação XPC será ignorada e o bean sendo invocado possui seu próprio Contexto de Persistência ao invés do XPC.
Caso o seu aplicativo esperar que contextos persistentes estendidos sejam propagados fora das transações JTA, você precisa considerar se o seu aplicativo precisa ser modificado. Refira-se ao Guia de Migração do JBoss EAP 6 para maiores instruções na atualização de seu aplicativo.
O JBoss Enterprise Application Platform 5 fornecia uma propriedade de sistema (JBPAPP-923.alwaysPropagate) para ativar este comportamento. Esta propriedade de sistema não está disponível no JBoss EAP 6.
Refira-se ao https://issues.jboss.org/browse/AS7-1663 para maiores informações sobre esta decisão.
PicketLink IDM
O PicketLink IDM (Gerenciamento de Identidade) não é suportado no JBoss Enterprise 6.
Tanuki Service Wrapper
O Tanuki Service Wrapper não é suportado no EAP 6. Refira-se ao https://issues.jboss.org/browse/JBPAPP-8651 para maiores informações.
Recuperação XA no Microsoft SQL Server 2008
A recuperação XA não funciona com o Microsoft SQL Server 2008 R1. Este recurso não funciona com o Microsoft SQL Server 2008 R2 SP2. Refira-se aos seguintes URLs para maiores informações:
Recuperação XA no MySQL
O MySQL JDBC driver não implementa a recuperação XA de forma apropriada. Refira-se ao https://issues.jboss.org/browse/JBPAPP-2576 para maiores informações.
JBoss OSGi
O JBoss OSGi, uma implementação de especificação OSGi, foi rebaixado da Prévia de Tecnologia para Não Suportado. Refira-se ao https://access.redhat.com/site/solutions/362814 para informações adicionais sobre esse assunto.

6. Componentes

A matriz do componente do JBoss EAP 6 está disponível na seguinte localização: https://access.redhat.com/knowledge/articles/112673.

7. Alterações deste lançamento

7.1. Correções de bugs

Cliente do Aplicativo

999465 - versão de nomeação errada do appclient.xml

O subsistema de nomeação falharia a iniciar devido a um número de versão incorreta no arquivo appclient.xml, causando o problema de dependência. Esta versão foi corrigida e o appclient inicia com sucesso.
1003104 - o appclient fica suspenso quando executando o arquivo .jar fora de um .ear

Existia um problema com o código do appclient que prevenia a execução direta de arquivos .jar. O código adicional foi adicionado ao appclient para corrigir este problema e os arquivos jar podem ser agora executados diretamente.

Carregamento de Classe

959478 - adição de caminhos sun.nio.cs & sun.nio.ext ao módulo sun.jdk

Faltam pacotes no módulo sun.jdk resultando numa exceção ServiceConfigurationError sendo lançada quando tentando carregar os conjuntos de caracteres personalizados quando usando sun.jdk. Este lançamento do JBoss EAP 6 adicionou os pacotes ausentes sun.nio.cs e sun.nio.cs.ext, desta forma, os conjuntos de caracteres personalizados podem ser usados com o módulo sun.jdk.

CLI

977407 - o jboss-cli.sh lança o IllegalArgumentException quando usando a tab completa

Às vezes, a ferramenta jboss-cli finalizava quando o recurso de finalização da tab era triggered pelo usuário. Isto foi corrigido e a finalização da tab funciona conforme o esperado.
990227 - o jboss-cli.sh congela quando executa sozinho - ex.: a partir dos scripts

Nas versões anteriores do Red Hat JBoss Enterprise Application Platform, caso o servidor fosse automatizado por um script encerrado ou configurado para null, STDIN, o servidor encerraria quando alcançando um ponto onde a entrada do usuário foi solicitada. No lançamento mais recente do produto, no entanto, isto não ocorria e o servidor ficava suspenso neste cenário. Este lançamento do produto inclui versões atualizadas do Aesh (Another Extendable Shell) que restabelece o comportamento original. Os servidores iniciam com a saída do script automatizado conforme o esperado e não ficam mais suspensos quando a entrada do usuário é requerida.
977426 - o jboss-cli.sh lança o NullPointerException quando não conectado e quando está no modo em lote

A tentativa de adicionar um comando a um lote com uma ferramenta jboss-cli quando desconectado do servidor causaria o encerramento do jboss-cli. Isto foi corrigido. A tentativa de adicionar comandos a um lote quando desconectado de um servidor resultará na seguinte mensagem de erro exibida ao usuário:
O comando não é suportado ou está indisponível no contexto atual: Falha ao carregar a descrição da operação: não está conectado.

Clustering

974967 - o jvmRoute no standalone.xml pode criar o org.infinispan.marshall.NotSerializableException

Quando usando o mod_jk com o carregador de carga e o aviso da sessão adesiva para criar a arquitetura farming, os aplicativos distribuídos falhariam na implantação uma vez que o clustering não estava habilitado. Isto ocorria uma vez que sem a configuração de clustering, o LOCAL_ADDRESS do RegistryService era inicializado a um valor default que não estava serializado. Este LOCAL_ADDRESS não serializável prevenia a implantação com êxito neste cenário. Agora, o LOCAL_ADDRESS é inicializado a um valor serializado e a implantação dos aplicativos distribuídos funcionam conforme o esperado neste cenário.
918791 - a iniciação do servidor com web apps múltiplos, leva a falhas de implantação

Em alguns casos, os aplicativos da web num servidor com cluster falhariam a implantação, caso os aplicativos múltiplos estivessem sendo implantados. Cada aplicativo nesta situação tentaria bloquear cada gerenciador do cache para criar o próprio cache, e o primeiro aplicativo que obtivesse um bloqueio implantaria com êxito. No entanto, dependendo do período que levasse para a implantação, quaisquer outras implantações poderiam entrar num intervalo enquanto esperando para acessar o gerenciador de cache e falhar a implantar. O JBoss EAP 6 inclui agora um GlobalComponentRegistryService, que manuseia este cenário e os aplicativos são implantados com êxito nesta situação.

Domain Management

983980 - o comando EAP6 CLI não deve permitir o mesmo runtime-name a ser usado em outra implantação

Duas implantações com o mesmo nome do período de execução seriam incorretamente permitidas a serem implantadas na mesma instância do JBoss EAP 6.

Como resultado, a instância pode inserir um estado inconsistente ao usar o nome do período de execução para a implantação incorreta.

Este problema foi corrigido neste lançamento do JBoss EAP 6 e o nome do período de execução é agora apenas permitido a ser usado uma vez pela instância do JBoss EAP 6. Caso alguma tentativa é realizada para implantar um aplicativo com o nome do período de execução já em uso, o seguinte erro será exibido:
Já existe uma implantação chamada ${name} com o mesmo nome do período de execução {runtime-name} no grupo do servidor ${server-group}
1021763 - o Domain controller falha ao reiniciar devido a uma reversão inconsistente de uma reimplantação

O manuseador para o full-replace-deployment inclui a lógica que exclui o conteúdo de implantação que foi adicionado como parte de uma operação que está sendo revertida. Esta lógica não estava checando se o conteúdo adicionado era o mesmo ao conteúdo existente, de forma que se fosse, o conteúdo existente seria incorretamente excluído.

Como resultado desta situação, caso o mesmo conteúdo fosse reimplantado num managed domain usando o comando deploy --force CLI, e caso a reimplantação falhasse por qualquer motivo (por exemplo, por causa de um serviço de dependência tal como faltar a fonte de dados num servidor), a implantação também falharia e o conteúdo seria removido de todos os hosts como parte do processo de reversão. No entanto, o item de configuração existente para a implantação permaneceria e caso o host fosse reiniciado, uma tentativa de implantar o conteúdo não existente seria realizada, resultando numa falha para o boot.

O problema foi corrigido neste lançamento do JBoss EAP 6. A lógica de reversão reconhece agora que se o conteúdo estiver inalterado, ele não removerá o conteúdo como parte do processo de reversão.

Como resultado, a reversão deixará o domain num estado consistente equivalente ao que era antes da tentativa de reimplantação ser realizada e o conteúdo permanecerá disponível em todos os hosts com a configuração referenciando o conteúdo.
960820 - resolução de expressão recursiva

As expressões contidas no resultado de outras expressões não estavam sendo resolvidas. Isto significa que não era possível usar expressões na configuração para referir outras expressões, tal como aquela referida à expressão vault. Isto ocorreu uma vez que o resultado da expressão não era verificado na existência de expressões futuras a serem resolvidas.

A resolução da expressão não é recursiva. Quando uma expressão for resolvida, uma checagem é realizada para quaisquer expressões futuras resolverem no resultado. Isto continua até que nenhuma outra expressão seja encontrada.

As expressões podem ser usadas para referir outras expressões na configuração.

EJB

991444 - acesso errado de cache EJB2 CMP caso optimistic-locking=true

Quando o bloqueamento otimista era configurado para o EJB2 Entity Beans, os beans de entidade com cache nunca eram encontrados no cache. Isto ocorreu uma vez que a pesquisa do cache foi executada usando o identificador errado. A chave primária da entidade foi usada para localizar o cache de transação correta do identificador do cache. Isto foi corrigido e o acesso do cache para o EJB2 Entity Beans funciona agora conforme o esperado quando o bloqueamento otimista estiver habilitado.
1005110 - vazamento da memória ClassLoader com as invocações EJB Asynchronous

Em algumas situações, as chamadas do EJB assíncrono podem resultar no carregador de classe da implantação sendo "esvaziado".

Isto ocorria uma vez que o método executar poderia levar à nova criação de thread. Quando isto ocorre, o novo thread determina a si mesmo o carregador de classe de contexto do thread pai, que seria o carregador de carga da implantação. Para prevenção disto, o Thread Context Classloader (TCCL) é configurado para null antes do método executar ser invocado e é então restaurado.

As chamadas EJB assíncronas não podem mais resultar em vazamentos do carregador de classe da implantação.
1019894 - o EJB não deve mais ser acessível remotamente até que todas as dependências tenham iniciado

Em algumas situações os EJBs poderiam ser remotamente invocados antes deles serem completamente iniciados, resultando num cliente EJB sem resposta. Isto ocorreu uma vez que as interfaces remotas foram associadas antes que quaisquer dependências do EJB fossem completamente resolvidas. Portanto, um bean poderia ser invocado antes que estivesse totalmente apto a responder. Isto foi corrigido e as interfaces remotas do EJB não estão disponíveis até que todas as dependências tenham sido resolvidas.
1005093 - o contexto de segurança associado com as invocações assíncronas EJB podem potencialmente serem corrompidas ao longo do tempo pelo thread chamador

Um EJB chamado assincronamente a partir de um servlet pode perder potencialmente seu contexto de segurança caso a invocação do servlet completar primeiramente. Isto ocorria quando o contexto de segurança do servlet era esvaziado uma vez que ambos servlet e EJB threads compartilham a mesma instância SecurityContext. Agora os atributos SecurityContext são copiados a partir da instância no servlet thread a uma nova instância do objeto SecurityContext no EJB thread. As atualizações às instâncias SecurityContext em um thread não afetam mais as instâncias em outros threads como era esperado.

Hibernate

998841 - correção permanente do HHH-8447 (exclusão do HQL com falhas de subconsultas múltiplas - o alias usado é incorreto -)

Caso uma consulta de exclusão HQL tivesse subconsultas múltiplas, apenas a primeira subconsulta usaria o alias da tabela root correta. O SQL gerado para as demais subconsultas usariam um alias incorreto.

Este problema era ocasionado pelo processamento impróprio de subconsultas múltiplas quando gerando a consulta SQL.

Este problema foi corrigido neste lançamento do JBoss EAP 6 de forma que as consultas de exclusão do HQL com subconsultas múltiplas usarão agora o alias da tabela root correto quando gerando o SQL para todas as subconsultas.
947946 - função "to_char" incorreta ao dialeto HSQL

Uma bug da implantação do dialeto HSQL da função to_char resultou em conversões incorretas dos objetos às sequências, e quando usada em comparação, resultaria numa exceção java.lang.IllegalArgumentException.

Neste lançamento do JBoss EAP 6, a função to_char no dialeto HSQL foi corrigida convertendo de forma correta os objetos à sequência. Como resultado, as comparações realizadas usando o to_char não devem mais lançar as exceções java.lang.IllegalArgumentException.
990587 - [HHH-7959] Hibernate/Infinispan 2nd Level Caches configurados para a função transaction-mode=NONE, parou de funcionar após uma remoção explícita

Um Infinispan second-level cache configurado com transaction-mode=NONE seria inválido quando forçado de forma programática uma remoção. Este estado inválido resulta numa degradação e mensagens de log ao nível RASTREAR do Could not invalidate region: null.

Esse problema foi causado pelos valores nulos não manuseados relacionados à tentativa de uso de um TransactionManager numa configuração não-transacional, resultando num NullPointExceptions.

Este problema foi resolvido nesta liberação do JBoss EAP 6, de forma que as checagens nulas próprias permitem agora a remoção e o estado válido ocorram. Como resultado, forçar de forma programática uma remoção no Infinitspan second-level cache configurado com o transaction-mode=NONE não irá mais trigger um estado inválido e associado da degradação do desempenho associado.
1018146 - o [HHH-8605] ManyToManyTest.testManyToManyWithFormula falha no mssql2008R2, mssql2012, sybase157

No Sybase e Microsoft SQL Server, as consultas HQL que possuíam tuplas nas subconsultas lançariam exceções. Nem o Sybase ou o Microsoft SQL Server suportam tuplas nas subconsultas, tais como a seguinte consulta:

delete from Table1 where (col1, col2) in (select col1, col2 from Table2)

Este problema ocorreu uma vez que os dialetos do Hibernate para o Sybase e Microsoft SQL Server não configuraram a propriedade supportsTuplesInSubqueries para false.

Neste lançamento do JBoss EAP 6, os dialetos do Hibernate para o Sybase e Microsoft SQL Server foram atualizados para refletir de forma precisa a falta de suporte para tuplas nas subconsultas. Como resultado, avisos são produzidos ao invés de exceções sendo lançadas.
1003468 - o HHH-8464 usando o caractere de aspas específico (aspas duplas) JPA2 para o JoinColumn resulta em DuplicateMappingException.

O uso do caractere de aspas específico ( ") JPA2 para um JoinColumn resultaria num DuplicateMappingException. Este problema foi causado pelo caractere aspas não ter sido normalizado internamente.

Este problema foi corrigido neste lançamento, portanto o uso de " para o JoinColumn está normalizado de forma adequada e não resultará mais num DuplicateMappingException.
991578 - a referência de chave estrangeira HHH-8390 gerada antes que uma restrição única existir

A criação de um esquema pelo qual a chave estrangeira foi declarada antes de ser definida como única ou chave primária falharia no Oracle e possivelmente outros dialetos.

Este problema foi corrigido neste lançamento do JBoss EAP 6 forçando a criação de restrições de chaves únicas antes das restrições de chaves estrangeiras como parte do processo de exportação do esquema.

Como resultado, os esquemas exportados não devem mais falhar no Oracle uma vez que a chave estrangeira é declarada antes de uma restrição única existir.
977520 - a "exclusão" HHH-8318 com o "associado de" consulta falha

Uma bug na conversão das consultas HQL delete que possuíam uma cláusula member of, resultariam num SQL incorreto sendo gerado. Como resultado, a consulta de exclusão do SQL incorreto falharia. Este problema era ocasionado pela subconsulta member of usando um alias incorreto.

Este problema foi corrigido neste lançamento do JBoss EAP 6 fazendo com que as subconsultas member of usem o alias correto quando usado como parte da consulta HQL delete. Como resultado, isto agora produzirá o SQL correto.

HornetQ

1019378 - a Mensagem de Redistribuição pode levar à perda de mensagens caso paginando e lendo com as Transações em lote

Em circunstâncias raras, caso as mensagens estivessem sendo reconhecidas muito rápido com grande partes num servidor HornetQ, uma redistribuição de mensagem poderia ler e gravar antes da transação ser iniciada no sistema da página. A situação resultaria em perda da mensagem.

O problema foi corrigido nesta liberação do JBoss EAP 6 pela averiguação de que o sistema de paginação irá corrigir instantaneamente a transação da página e apenas gravar o arquivo após a transação da página ser instanciada.

Como resultado desta correção, sob as mesmas circunstâncias, não haverá nenhuma mensagem perdida.
988321 - AVISO - o Replication Large MessageID 164 não está disponível no servidor de backup. Cancelando a mensagem de replicação

Após uma certa sequência de eventos, uma exclusão de mensagem grande pode ser chamada duas vezes, resultando em mensagem de aviso errôneo num servidor HornetQ de backup, parecido com o abaixo:
11:33:23,825 WARN  [org.hornetq.core.server] (Old I/O client worker ([id: 0x2b37b4ea, /192.168.40.1:60844 => /192.168.40.1:5445])) HQ222090: o Replication Large MessageID 164 não está disponível no servidor de backup. Cancelando a mensagem de replicação

O problema foi resolvido pela interrupção e avisos errôneos nos JBoss EAP 6 logs. Como resultado, não deve mais haver mensagens de aviso errôneo no servidor HornetQ de backup relacionado às mensagens grandes não estarem disponíveis.

Installer

977736 - o appclient iniciando o script e arquivo de configuração não deve ser instalado na opção appclient selecionada

Quando usando o instalador para o JBoss EAP 6, caso a opção AppClient+ na tela Pack Installation não estivesse selecionada, os arquivos AppClient continuariam a ser instalados.

O problema com o instalador foi corrigido nesta liberação do JBoss EAP 6, de forma que os arquivo AppClient serão apenas instalados caso a caixa de checagem AppClient+ for selecionada.
1013973 - Installer:Não foi possível Ctrl+c para sair da instalação (windows)

Um problema na especificação da dependência JLine resultou no comando de tecla Ctrl-C não funcionar no instalador do JBos EAP 6 no Microsoft Windows Server.

Neste lançamento do JBoss EAP 6, o JLine foi atualizado de forma que quando o Ctrl-C é inserido durante uma instalação do Microsoft Windows Server, o instalador não encerra conforme o esperado. Além disso, perceba que a tecla Insert é lida da mesma forma que o caractere Ctrl-C, e também irá encerrar o instalador do console, caso seja pressionada.
1013972 - a Tab Extends para a auto-conclusão do caminho do diretório principal não está funcionando corretamente

No instalador do console para o JBoss EAP 6, o uso da tecla Tab para auto-completar os caminhos do diretório principal não funciona conforme o esperado. Ao invés de auto-concluir os caminhos do diretório principal, nada apareceu no Microsoft Windows Server, e no Linux o /home foi adicionado incorretamente no Linux.

Este problema foi corrigido neste lançamento do JBoss EAP 6, de forma que quando inserindo o ~ e pressionando o Tab, o caminho do diretório principal é auto-concluído conforme o esperado. No Microsoft Windows Server o caminho é C:\Users\USERNAME e no Linux ele é /home/USER.
963304 - a opção dos componentes Native é invisível quando instalando o EAP 6.0.0 através do jar installer

Nos sistemas operacionais derivados do Unix, o instalador não checou de forma apropriada o arquivo system-release, caso houvesse mais de um arquivo *-release presente no diretório /etc/. Isto resultou no instalador não reconhecer o sistema operacional do servidor e consequentemente não apresentar a opção Native Components na tela Pack Installation. Este problema foi corrigido neste lançamento do JBoss EAP 6 e o instalador pode checar agora de forma adequada o arquivo system-release em sistemas operacionais derivados do Unix. Como resultado, a opção Native Components na tela Pack Installation é apresentada conforme o esperado.

JCA

952277 - a desabilitação do xa-data-source leva ao data-source perder seus atributos habilitados configurados para falso e após o recarregamento, ele torna-se habilitado

Quando uma fonte de dados XA foi configurada para disabled e a fonte de dados já estava disabled, a fonte de dados era habilitada na próxima reinicialização. A causa deste problema foi resolvida. Nas mesmas condições, a fonte de dados permanece agora disabled.
1007608 - vazamento de memória caso o hashCode da Transação não é estável

O vazamento de memória ocorria no JCA TransactionSynchronizer caso o Transaction hashCode não fosse estável. Este vazamento de memória levaria a OutOfMemoryErrors após um período de tempo.

Uma atualização no componente JCA corrigiu este potencial de liderança e os OutOfMemoryErrors associados não estão mais presentes.

JSF

991276 - o WAR_BUNDLE_JSF_IMPL não funciona dentro de um EAR

Caso uma implementação JSF fosse empacotada num WAR, o WAR_BUNDLE_JSF_IMPL poderia ser usado para permitir que isto funcionasse ao invés da implementação do contêiner. Esta opção não funcionava caso empacotasse num EAR. A causa deste problema era apenas que a (sub-)implantação era verificada para o marcador JSF, levando isto a não ser encontrado quando houvesse uma implantação de nível superior (EAR) distinta. Para resolver este problema, uma checagem adicional foi implementada para verificar a implantação de nível superior para o marcador JSF.

Repositório Maven

1011918 - não foi possível obter dependências para o jbossws-cxf-client -- falha ao encontrar o org.apache.ws.security:wss4j:jar:1.6.11-redhat-1

O processo de construção foi alterado neste lançamento do JBoss EAP 6 para fornecer mais arquivos maven POM convencionais, dos quais são mais consistentes com a comunidade Maven POMs. Os arquivos POM no repositório EAP Maven possuem agora dependências em algumas versões de artefato da comunidade.

Os usuários devem referir-se ao JBoss Enterprise Application Platform Developer Guide para informações de como configurar o arquivo Maven BOM apropriado. A configuração apropriada do arquivo Maven BOM garantirá que a construção do usuário inclui a versão de dependência transitiva correta (a versão JBoss EAP será usada para suportar os artefatos e a versão da comunidade artefatos suportados).

Outro

985204 - o socket não encerrado quando o executor da web deixa a tarefa

Este lançamento do JBoss EAP corrige uma bug que levava os sockets do conector da web a não serem encerrados corretamente quando as tarefas eram deixadas pelo executor. A causa foi rastreada à classe QueueExecutor sem lançar um RejectedExecutionException quando não houvesse configuração handoffExecutor (como o QueuelessExecutor realiza). Neste caso, a tarefa seria abandonada, o que não é um comportamento esperado. A classe QueueExecutor foi atualizada para lançar a exceção solicitada quando uma tarefa não pode ser adicionada à fila e, como resultado, os sockets são encerrados corretamente.
901210 - limpeza dos diretórios de implantação - AS7-6031

Este lançamento do JBoss EAP 6.2 inclui lançamentos que garantem que os arquivos e diretórios criados nas pastas JBOSS_HOME/tmp e JBOSS_HOME/tmp/vfs sejam removidos antes que eles possam intervir com as novas instâncias EAP (re)iniciadas.

Nas versões do JBoss EAP, arquivos antigos podem ser deixados para trás após o servidor ser encerrado inesperadamente (uma vez que o JBoss EAP remove o arquivo no JBOSS_HOME/tmp e JBOSS_HOME/tmp/vfs como parte do processo de encerramento).

A correção neste lançamento fornece um failsafe para mitigar aquele cenário. Caso o servidor do JBoss EAP 6.2 não encerrar adequadamente, o servidor não terá a oportunidade de limpar estes arquivos temporários. No entanto, no caso de reinício, o servidor agora consulta as localizações acima e, caso os arquivos de uma instância prévia 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 impedir a intervenção com arquivos recém criados). Esses processos acontecem em paralelo.

Sob o reinício do JBoss EAP (tanto normal ou de outra forma), os arquivos antigos temporários são removidos (tanto no encerramento ou reinício) para garantir que eles não obtenham espaço inecessário do disco.

NOTE Os usuários devem evitar usar o -Xrs JAVA_OPT uma vez que isto limita sinais sendo processados e podem resultar no contínuo crescimento do tamanho dos diretórios tmp/vfs.

PicketLink

977761 - o parâmetro PLINK2-25 characterEncoding não pode ser usado nas Solicitações Posteriores no ServiceProviderAuthenticator

Um problema de tempo foi encontrado no Picketlink que resultou em parâmetros sendo lidos a partir de solicitações posteriores no SertvicerProviderAuthenticator usando a codificação ao invés da codificação desejada. O problema era causado quando o PicketLink lia seus parâmetros antes da válvula Tomcat ter determinado codificação. Para resolver este problema, a codificação foi removida de forma que este é o primeiro passo no método authenticate.

Remoting

1025319 - problema com a invocação EJB a partir do servidor com/sem SSL

Quando criando uma conexão remota de saída, o servidor que cria a conexão aplicaria as configurações default após aplicar as determinações de configuração do usuário definido. Isto resultou nas configurações default substituírem incorretamente quaisquer determinações definidas pelo usuário que possuísse a mesma tecla.

Como resultado desta situação, o SSL não pôde desabilitar as conexões EJB remotas que originaram no servidor.

Este problema foi corrigido neste lançamento do JBoss EAP 6. As configurações definidas pelo usuário são agora aplicadas após as configurações default, que garante que as configurações definidas pelo usuário tenham precedência.

Como resultado, o SSL pode ser desabilitado nas conexões remotas de saída.
1025185 - subsistema remoto: a exceção da modificação simultânea durante o encerramento do serviço

O serviço no subsistema remoto que interagiria sobre uma coleção numa maneira non-thread-safe.

Como resultado deste problema, uma exceção ConcurrentModificationException seria ocasionalmente lançada durante o encerramento do servidor. Além desta exceção, o encerramento completaria normalmente.
WARN  [org.jboss.msc.service.fail] (MSC service thread 1-55) MSC000004: Failure during stop of service jboss.remoting.endpoint.management.channel.management: java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(HashMap.java:793) [rt.jar:1.6.0_45]
	at java.util.HashMap$KeyIterator.next(HashMap.java:828) [rt.jar:1.6.0_45]
	at java.util.AbstractCollection.addAll(AbstractCollection.java:305) [rt.jar:1.6.0_45]
	at java.util.HashSet.<init>(HashSet.java:100) [rt.jar:1.6.0_45]
	at org.jboss.as.remoting.AbstractChannelOpenListenerService.stop(AbstractChannelOpenListenerService.java:123)
...

Este problema foi resolvido neste lançamento do JBoss EAP 6. A inteiração sobre a coleção é realizada agora numa maneira thread-safe, com o monitor do objeto da coleção mantido pelo thread de inteiração.

Como resultado, as exceções ConcurrentModificationException não são mais lançadas.

RPMs

998319 - os RPMs adicionam dados importantes ao /var/tmp

Os RPMs adicionam importante dados ao /var/tmp, incluindo /domain/data. O /var/tmp deveria conter dados temporários que podem ser removidos a qualquer momento. O /domain/data não deve ser redirecionado ao /var/tmp/, uma vez que ele contém dados importantes que não devem ser perdidos, incluindo o diário de recuperação da transação e o store de mensagem grande HornetQ e diário.

Este erro foi corrigido para este lançamento do JBoss EAP 6. Para novas instalações, o /usr/share/jbossas/domain/data será um diretório ao invés de um link.

No entanto, para instalações existentes, um dos seguintes procedimentos deve ser executado:
  • Reinstalação e migração dos arquivos de configuração e dados (incluindo os diretórios temp) aos novos diretórios de instalação, ou
  • Desinstalação tmpwatch para desabilitar a limpeza do /var/tmp/jbossas, ou
  • Configuração do tmpwatch para não remover os arquivos que o jbossas adiciona ao /var/tmp/jbossas.

Scripts e Comandos

998913 - o standalone.bat continua a determinar a opção -XX:+TieredCompilation JVM

Um problema foi resolvido no arquivo em lote standalone.bat, usado no Microsoft Windows Server. O arquivo em lote contia anteriormente uma opção JVM que determina compilação em camada: -XX:+TieredCompilation. Esta configuração foi removida uma vez que é conhecida em causar problemas de desempenho em certas circunstâncias.
916960 - o Standalone.bat não funciona caso haja parentêses no caminho ao EAP.

Nos lançamentos anteriores do JBoss EAP, os arquivos em lote fornecidos - e.x.: standalone.bat e add-user.bat falharam a funcionar como se esperava no Microsoft Windows Server, caso o caminho em que eles estavam stored tivesse parenteses ou espaços. Os arquivos em lote foram aprimorados pelo uso de caracteres de cotação para garantir que o caminho completo é avaliado. Como resultado, os arquivos em lote funcionam agora conforme o esperado com caminhos incluindo parenteses e espaços.

Segurança

920160 - acesso não autorizado a um aplicativo da web protegido por um módulo de autorização personalizado no HTTP 200 (OK), ao invés do HTTP 403 (Proibido)

No JBoss EAP 6.1.0, o acesso não autorizado ao aplicativo da web protegido por um módulo de autorização personalizado resultou numa resposta HTTP de 200 (OK), ao invés de HTTP 403 (Proibido). Este problema foi solucionado e a resposta correta foi fornecida.

Servidor

1022223 - as sobreposições do descritor de implantação não substitui os JSPs

As sobreposições do descritor de implantação deve permitir que um administrador substitua um JSP numa implantação. No entanto, a funcionalidade de sobreposição não funciona uma vez que o JBoss Web não usa VFS para servir o conteúdo e, portanto, os arquivos JSP não eram visíveis. Um teste adicional do método de implantação foi adicionado e a substituição dos descritores de implantação funcionam agora conforme o esperado.

Gerenciador de Transação

1016120 - o store do objeto do Transaction JDBC não inicia no PostgreSQL Plus 9.2

O JBoss Transaction Manager não possuía uma classe de driver configurada de forma apropriada para o PostgreSQL Plus 9.2. Isto resultou numa exceção ClassNotFoundException quando tentando usar um store de objeto da transação JDBC no PostgreSQL Plus 9.2.

Nesta liberação do JBoss EAP 6, o JBoss Transation Manager foi atualizado com uma classe de driver PostgreSQL Plus 9.2 (jdbc.drivers.postgres_driver) e os stores do objeto JDBC podem ser agora usados com os servidores PostgreSQL Plus 9.2.

Web

997009 - o atributo requiredSecret no conector AJP

Quando usando um servidor Apache de balanceamento de carga na frente do JBoss EAP 5.x, você pode configurar o atributo "requiredSecret" do conector AJP. Isto é usado apenas para permitir solicitações dos trabalhadores do balanceador de carga com a mesma senha secreta a ser aceita.

No JBoss EAP 6.0.x e 6.1.x não era possível configurar este valor. Este problema foi agora resolvido e você pode agora configurar uma propriedade de sistema ao seu valor requerido para o atributo "requiredSecret":
org.apache.coyote.ajp.DEFAULT_REQUIRED_SECRET=yoursecretvalue
996558 - a conexão Https fica suspensa após a adição do conector https

Quando adicionando o conector HTTPS através do CLI de gerenciamento, qualquer tentativa de conexão pararia, independente de cada comando completar com êxito. A causa deste problema é que o conector foi iniciado assim que foi criado, mesmo que sua conexão estivesse incompleta, impendido o conector de funcionar conforme o esperado. A solução encontrada para esta instância é de empacotar os comandos de configuração numa sequência batch, end-batch, de forma que todas as declarações da configuração são concluídas juntas. A causa principal deste problema foi resolvido e o acesso ao conector HTTP é com êxito, independente ou não das declarações da configuração serem concluídas na sequência ou como lote do CLI de gerenciamento.

Web Console

947913 - Admin Console: os Resource Adapter Properties tornam-se editáveis quando clicando nos Resource Adapters configurados.

Quando visualizando as propriedades de um resource adapter (RA - adaptador de recurso) no console de gerenciamento, era possível que as propriedades do adaptador se tornassem campos editáveis, permitindo que campos existentes fossem alterados ou excluídos e novos campos adicionados. Esses campos deve ser apresentado com campos de leitura apenas, uma vez que não há funcionalidade para editá-los no console de gerenciamento da web. Caso quaisquer desses campos fossem editados, os valores editados permaneceriam em sua forma editada, ainda que não stored no arquivo de configuração do adaptador. Esse problema foi agora resolvido e as propriedades de todos os adaptadores continuam sendo apresentadas como campos de leitura apenas.
900063 - falta mensagem de erro quando a criação do Custom Handler falha

Nas versões anteriores do JBoss EAP 6, quando a criação de um manuseador de logging personalizado no console de gerenciamento falhava, nenhum retorno era dado ao usuário. Como resultado, o usuário pode assumir que o manuseador de logging personalizado foi criado. Para resolver este problema, uma mensagem de erro aparece agora nessas situações, deixando claro ao usuário que a criação falhou.
1012539 - campo "Started?" incorreto na configuração bridge de mensagem

A informação do período de execução do campo Started? foi removido da tela de Perfil → Mensagem → Conexões → Bridges neste lançamento do JBoss EAP 6.

Isto ocorria devido ao campo exibir às vezes informações incorretas e, uma vez que isto não era editável, não fornecia funcionalidade aos usuários.
996889 - não foi possível alterar deslocamento da porta para servidores no domain

Quando alterando o deslocamento da porta para servidores num domain, a ação falhou com a mensagem resultante: "Erro do servidor interno". A causa subjacente foi que o valor do socket-binding-group no recurso server-config estava indefinido, portanto na tentativa de alterar a configuração do servidor, nenhum valor era pré-selecionado na caixa de seleção Socket binding. Consequentemente, a primeira parte da operação composta falhava. O motivo disto foi resolvido e o deslocamento de porta para servidores num domain pode ser configurado no console de gerenciamento da web.

Web Services

1026992 - o Picketlink STS não funciona com a atualização CXF

A correção aplicada ao JBoss EAP para endereçar o CVE-2013-2133 implica nas checagens de autorização pelo contêiner antes de executar os manuseadores JAXWS anexados ao EJB3 baseados nos pontos de extremidade WS. Como consequência, alguns cenários de uso PicketLink podem ser afetados, assim como o PicketLink SAML2Handler é destinado a estabelecer a segurança principal que será usada mais tarde.

Os clientes podem desabilitar as checagens de autorização adicional e continuar usando as implantações PicketLink pela configuração da propriedade de sistema org.jboss.ws.cxf.disableHandlerAuthChecks para true ou pela especificação da propriedade org.jboss.ws.cxf.disableHandlerAuthChecks num descritor jboss-webservices.xml, conforme o seguinte:
<?xml version="1.1" encoding="UTF-8"?>
<webservices xmlns="http://www.jboss.com/xml/ns/javaee"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  version="1.2" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee">

  <property>
    <name>org.jboss.ws.cxf.disableHandlerAuthChecks</name>
    <value>true</value>
  </property>
</webservices>

O descritor deve ser posicionado no META-INF com a implantação do cliente pelo qual as checagens de autorização do manuseador estão prestes a serem desabilitadas.

Do contrário, a configuração da propriedade do sistema afetará qualquer implantação no servidor.

Perceba que a habilitação da propriedade org.jboss.ws.cxf.disableHandlerAuthChecks processa um sistema vunerável para o CVE-2013-2133. Caso um aplicativo esperar por restrições de segurança declaradas nos métodos EJB a serem aplicados e não aplicá-las independentemente ao manuseador JAX-WS, a propriedade não pode ser habilitada. A propriedade deve ser apenas ser usada para propósitos de compatibilidade inversa, quando necessária, para evitar pausas do aplicativo.
988318 - CLI - após indefinir a operação no atributo wsdl-host do subsistema webservices e recarregamento war com o webservice, não pode ser implantado

Uma bug, que levou implantações do aplicativo a falhar quando o atributo wsdl-host estava indefinido, foi resolvida neste lançamento do JBoss EAP 6.
999223 - o wsconsume.sh falha com a versão de destino default - 2.2

Nos lançamentos anteriores do JBoss EAP, foi constatado que o WSConsume falhou a compilar as fontes de nível JAXWS 2.2 quando a versão OpenJDK 1.6 era usada.

Isto foi resolvido neste lançamento.

Weld

956631 - CLONE - a chamada avançar/incluir entre o contexto de outra web app pausa a limpeza HttpRequestContext

Para solicitações encaminhadas, o WeldListener limparia uma solicitação de contexto limitado quando o servlet estivesse processando o encerramento, mesmo que sendo enviado a outro servlet.

Como resultado, quando outro servlet tentasse acessar o contexto, ele produziria um NullPointerException.

Este problema foi resolvido neste lançamento do JBoss EAP 6 apenas não efetuando a limpeza do contexto de limite caso o servlet esteja sendo redirecionado.

Como resultado, o uso do getRequestDispatcher().include() para encaminhar solicitações entre os servlets não deve possuir mais exceções relacionadas às limpezas WeldListener incorretas.
910185 - o cache TypeSafeObserverResolver do Weld não é limitado

O TypeSafeObserverResolver da classe Weld usado pelo TransactionalObserverNotifier não possui quaisquer opções de configuração para limite ou expiração das entradas. Normalmente, o número de qualificadores CDI é pequeno, mas isto não ocorre se uma aplicativo usa as classes derivadas do AnnotationLiteral com os dados arbitrários na anotação.

Como resultado, o cache TypeSafeObserverResolver pode crescer bastante e causar um OutOfMemoryError, caso um número grande de qualificadores distintos forem usados.

Este problema foi solucionado neste lançamento do JBoss EAP 6 pela implementação de de um limite superior configurável para o cache resolvido num TypeSafeObserverResolver.

Os usuários podem configurar a propriedade org.jboss.weld.resolution.cacheSize para limitar o número máximo de entrada de caches resolvidos. O valor default de limite máximo é de 1048576 entradas de cache.

Web Services

969924 - o Picketlink STS não funciona com a atualização CXF

A correção aplicada ao JBoss EAP para endereçar o CVE-2013-2133 implica nas checagens de autorização pelo contêiner antes de executar os manuseadores JAXWS anexados ao EJB3 baseados nos pontos de extremidade WS. Como consequência, alguns cenários de uso PicketLink podem ser afetados, assim como o PicketLink SAML2Handler é destinado a estabelecer a segurança principal que será usada mais tarde.

Os clientes podem desabilitar as checagens de autorização adicional e continuar usando as implantações PicketLink pela configuração da propriedade de sistema org.jboss.ws.cxf.disableHandlerAuthChecks para true ou pela especificação da propriedade org.jboss.ws.cxf.disableHandlerAuthChecks num descritor jboss-webservices.xml, conforme o seguinte:
  <?xml version="1.1" encoding="UTF-8"?>
  <webservices xmlns="http://www.jboss.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    version="1.2" xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee">

    <property>
      <name>org.jboss.ws.cxf.disableHandlerAuthChecks</name>
      <value>true</value>
    </property>

  </webservices>

O descritor deve ser posicionado no `META-INF` com a implantação do cliente pelo qual as checagens de autorização do manuseador devem ser desabilitadas. Ao invés disso, a configuração da propriedade do sistema afetará qualquer implantação no servidor. Perceba que a habilitação da propriedade `org.jboss.ws.cxf.disableHandlerAuthChecks` processa um sistema vulnerável ao CVE-2013-2133. Caso o aplicativo esperar por restrições de segurança declaradas nos métodos EJB a serem aplicadas e não aplicá-las de forma independente ao manuseador JAX-WS, a propriedade não deve ser habilitada. A propriedade deve ser apenas usada para propósitos de compatibilidade inversa quando necessário para evitar pausas no aplicativo.

mod_cluster

958991 - mod_cluster core no uso do ProxyPass / balancer://bal e CreateBalancers 1

Uma regressão encontrada nas versões 6.1.0 e 6.1.1 do JBoss EAP levou à determinação CreateBalancers 1 no /conf.d/mod_cluster.conf sem a determinação da configuração stickysession=JSESSIONID|jsessionid resultando numa falha de segmentação. Este problema foi resolvido no JBoss EAP 6.2. O elemento stickysession foi adicionado à configuração CreateBalancers.
960243 - regressão na integração ProxyPass

A regressão numa versão anterior do mod_proxy_cluster.so (bug 960246) retornou erros HTTP 503 quando acessando diretórios (por exemplo <filename class="directory">/app/clusterbench/requestinfo/</filename>. Este problema foi corrigido neste lançamento do JBoss EAP e o mod_proxy_cluster.so agora funciona conforme esperado quando acessando diretórios.
963720 - mod_cluster: falha na pesquisa do proxy DNS com o IPv6 no Solaris

Nas versões anteriores do EAP 6 foi constatado que a tentativa de uso dos endereços IPv6 com o sistema Solaris resultaria numa falha da pesquisa DNS.

A fonte deste problema foi rastreado à sequência IPv6 zone-id dos endereços IPv6.

Uma vez que esta informação não é válida para o HTTPD, a sequência não é mais usada e o mod_cluster opera agora conforme o esperado nos sistemas Solaris.

7.2. Aprimoramentos

Domain Management

978984 - atualização da utilidade add-user para permitir substituições do nome do arquivo.

O add user script ( adduser.sh e adduser.bat) foi aprimorado para permitir que arquivos de propriedades diferentes sejam especificados para ambos usuários e grupos.

O arquivo user pode ser especificado com os parâmetros -up ou --user-properties.

O arquivo do grupo pode ser especificado com os parâmetros -gp ou --group-properties.

Amostra de Uso:
[admin@server bin]$ ./add-user.sh -up audit-users.properties -gp audit-groups.properties

Nota

O comando add-user é destinado a operar nos arquivos de propriedades existentes. Quaisquer arquivos de propriedades especificadas nos argumentos da linha de comando devem existir ou ocorrerá o seguinte erro: "JBAS015234: Nenhum dos arquivos audit-users.properties encontrados"

EJB

981341 - adicione as operações CLI para iniciar/interromper a entrega MDB

Este lançamento do JBoss EAP 6 inclui uma nova propriedade da configuração de ativação DeliveryActive que é usada apenas para o componente Message Driven Beans (MDB) para ativação ou desativação da entrega da mensagem.

As operações de gerenciamento :start-delivery e :stop-delivery (e atributo do período de execução delivery-active apenas de leitura) podem agora serem usados para iniciar e interromper a entrega no recurso MDB (sob /deployment=deployment_name/subsystem=ejb3/message-driven-bean=mdb_name).

Por default, a nova propriedade é ativada e a entrega de mensagens ocorre assim que o MDB é implantado.

Hibernate

952284 - o Hibernate SchemaValidation em sinônimos

O JBoss EAP 6 foi aprimorado pelo fornecimento da habilidade das entidades Hibernate a serem validadas em relação dos sinônimos da tabela. Anteriormente, a validação do esquema validaria apenas as tabelas e visualizações.

Para habilitar esta nova funcionalidade, a propriedade hibernate.synonyms=true deve ser configurada.

Por exemplo, a informação abaixo passará agora a validação do esquema Hibernate.
"CREATE SYNONYM foo_synonym FOR foo_table"

@Table(name = "foo_synonym")

Installer

1013954 - Installer: Adiciona a habilidade de alterar as portas de gerenciamento para o domain

O JBoss EAP 6 installer foi atualizado para permitir a configuração das portas de gerenciamento para os servidores do modo domain. Anteriormente, o installer poderia configurar as portas de gerenciamento para o servidor autônomo, no entanto as portas de gerenciamento para o domain server tiveram que ser configuradas manualmente após a instalação através dos arquivos de configuração.

Este aprimoramento do installer permite que as portas de gerenciamento para os domain servers sejam configurados na instalação, sem a necessidade de configurá-los manualmente mais tarde.
900724 - o installer aceita os arquivos de configuração automaticamente a partir de recursos diferentes

O JBoss EAP 6 installer aceita agora um arquivo de configuração automático a partir da localização da rede.

Anteriormente, um arquivo de configuração automático precisava estar na mesma máquina pela qual o instalador estava executando.

O arquivo de configuração automático pode ser especificado a uma localização da rede usando http ou ftp com a seguinte sintaxe:

java -jar installer.jar http://network-host/automation.xml ou java -jar installer.jar ftp://network-host/automation.xml
1006548 - Installer: cria o infinispan cache

O JBoss EAP 6 installer foi atualizado para fornecer a habilidade para configurar um Infinispan cache.

Anteriormente, a configuração Infinispan cache precisava ser realizada manualmente após o JBoss EAP 6 ter sido instalado.

Como resultado deste aprimoramento, a configuração do Infinispan cache pode ser realizada na instalação, sem a necessidade de configurar manualmente isto mais tarde.
1006532 - Installer: recurso do JDBC driver installer

O JBoss EAP 6 foi aprimorado para fornecer a habilidade de instalar os JDBC drivers. Os JDBC drivers podem ser instalados usando este recurso, incluindo:
  • IBM DB2
  • Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Sybase

Anteriormente, os JDBC drivers precisavam ser instalados manualmente após o JBoss EAP 6 ter sido instalado.

Como resultado deste aprimoramento, os JDBC drivers podem ser instalados durante a instalação do JBoss EAP 6, eliminando a necessidade de instalá-los manualmente mais tarde.
1006533 - Installer: adiciona a configuração security-domain

O JBoss EAP 6 installer foi aprimorado para fornecer a habilidade de configurar um security domain.

Anteriormente, os security domains precisavam ser configurados manualmente após o JBoss Installer ter sido instalado manualmente.

Como resultado deste aprimoramento, o security domain pode ser configurado agora na instalação, sem a necessidade de manusear isto manualmente mais tarde.
1006535 - Installer: adição da configuração vault

O JBoss EAP 6 installer foi aprimorado para fornecer a habilidade de configurar a senha vault.

Anteriormente, a senha vault precisava ser configurada manualmente após o JBoss Installer ter sido instalado manualmente.

Como resultado deste aprimoramento, a senha vault pode ser configurada agora na instalação, sem a necessidade de manusear isto manualmente mais tarde.
1006540 - Installer: habilitação da autenticação LDAP

O JBoss EAP 6 installer foi aprimorado para fornecer a habilidade de configurar a autenticação LDAP nas interfaces de gerenciamento.

Anteriormente, a autenticação LDAP precisava ser configurada manualmente após o JBoss Installer ter sido instalado manualmente.

Como resultado deste aprimoramento, a autenticação LDAP pode ser configurada agora na instalação, sem a necessidade de manusear isto manualmente mais tarde.
901180 - Installer: adição do SSL keystore para gerenciamento da interface

O installer para o JBoss EAP 6 installer foi aprimorado para fornecer a habilidade de configurar o SSL keystore para segurança nas interfaces de gerenciamento.

Anteriormente, a configuração SSL para o gerenciamento de interfaces precisava ser realizada manualmente após a instalação.

Como resultado deste aprimoramento, a configuração do SSL keystore para interfaces de gerenciamento podem ser agora configuradas na instalação, sem a necessidade de manualmente configurá-la mais tarde.

Scripts e Comandos

732889 - as instruções para instalação do JBoss como serviço Windows não funcionam

O arquivo em lote service.bat para o gerenciamento do JBoss EAP instalado como serviço no Microsoft Windows Server foi atualizado, com a checagem de erro melhorada. As checagens adicionadas possuem como intenção testar as condições que previnem o serviço sendo executado conforme o esperado.

Web Console

990879 - o Administration Console possui marca da comunidade

No JBoss EAP 6.1.1 o console de gerenciamento da web exibia um favicon de AS7, e não a logo da Red Hat. Isto foi resolvido agora e o favicon correto aparece no console de gerenciamento da web.

Web Services

999570 - o CXF bus ao lado do cliente aplica o cache de forma incorreta à informação do ponto de extremidade do serviço

Esta versão do JBoss EAP 6 inclui uma nova funcionalidade que permite usuários a criarem um cliente JAXWS com um novo Bus, cujo cache de definição WSDL pode estar vazio.

Uma vez que o chache é aplicado às definições WSDL com o Apache CXF Bus que é usado para servir o cliente JAXWS sendo criado, a definição obsoleta WSDL pode ser usada se um URL diferente é servido no URL especificado e o mesmo Bus estiver em uso. Este aprimoramento significa evitar este cenário.

A nova funcionalidade é usada conforme o seguinte através de um novo org.jboss.wsf.stack.cxf.client.UseNewBusFeature JBossWS JAXWS Feature: Service service = Service.create(new URL(wsdlLocation), novo QName(…), novo org.jboss.wsf.stack.cxf.client.UseNewBusFeature());

JMS

1011074 - alteração do valor para a address-full-policy a partir do BLOCO à PÁGINA nas configurações distribuídas

Nas versões anteriores do JBoss EAP, o address-full-policy da propriedade de configuração era configurado para BLOQUEAR na configuração do produto, significando que assim que o limite máximo de capacidade para mensagens num determinado endereço era atingido, os produtores seriam prevenidos de enviar quaisquer mensagens futuras aquele endereço.

Este comportamento foi modificado para chegar mais perto das expectativas dos clientes. A nova configuração default é PÁGINA, que pagina as mensagens recebidas enquanto aquele cliente estiver acima da capacidade máxima do disco. Essas mensagens ocuparão o espaço do disco caso elas não forem consumidas.

Este comportamento pode ser modificado pela determinação da configuração address-policy-full de volta para BLOQUEAR (ou, adicionalmente SAIR ou FALHAR) caso requerido.

Logging

999665 - [ERD] EAP62_1120 [RFE] novo arquivo de log na iniciação

O SizeRotationFileHandler possui um novo atributo RotateOnBoot que levará o manuseador do arquivo a criar um novo arquivo na iniciação do servidor.

7.3. Problemas Conhecidos

CLI

1031173 - o jboss-cli.bat não funciona quando o EAP é instalado no diretório com espaços

A ferramenta jboss-cli não lançará no sistema operacional do Microsoft Windows Server operating system caso o JBoss EAP for instalado num diretório que possui espaços e outros caracteres especiais tais como parenteses em seu caminho. A seguinte mensagem de erro é o resultado caso o JBoss EAP for instalado no diretório C:\JBoss EAP\jboss-eap-6.2:
Error: Não foi possível encontrar ou carregar o EAP\jboss-eap-6.2\bin\jboss-cli-logging.properties da classe principal

Isto pode ser evitado pela edição do arquivo jboss-cli.bat e edição da linha 62 do jboss-cli.bat para mover o primeiro " caractere do início do JAVA_OPTS para depois da declaração, de forma que isto se pareça com o seguinte:
set JAVA_OPTS="%JAVA_OPTS% -Djboss.modules.system.pkgs=com.sun.java.swing -Dlogging.configuration=file:%JBOSS_HOME%\bin\jboss-cli-logging.properties"

Esse erro pode ser evitado apenas não instalando o JBoss EAP num diretório com espaços ou parenteses em seus nomes.

Isto será corrigido num lançamento futuro.
1019232 - o jboss-cli.sh lança o NullPointerException quando usando a tab completar no nó data-source

A ferramenta jboss-cli lançará uma exceção e sairá quando o usuário tentar usar o recurso de conclusão em algumas circunstâncias. Um caso percebido é quando usando a operação data-source interna conforme o seguinte: data-source --name=ExampleDS a e então pressionando a tecla TAB. Isto é devido o manuseamento de exceção inadequado no pesquisador do comando para essas situações e será corrigido no próximo lançamento.
988283 - CLI GUI - a gravação do diálogo do atributo para o valor da sequência deve embutir o valor no comando gerado para aspas duplas

A tentativa de determinar o valor usando a ferramenta jboss-cli que contém a propriedade salvará apenas o caractere $ no valor ao invés da propriedade, a não ser que o valor completo esteja em aspas duplas. Isto é devido ao pesquisador da linha de comando CLI pesquisar incorretamente qualquer expressão ${X} com apenas $, a não ser que isto possua aspas duplas.

Como solução, certifique-se que os valores que contém expressões são embutidos com aspas duplas, ex.:
[standalone@localhost:9999 subsystem=webservices] :write-attribute(name=wsdl-host, value="${jboss.bind.address:127.0.0.1}")

Lembre-se que os comandos são gerados por jboss-cli no modo GUI não incluem automaticamente as aspas.

Clustering

900378 - os CDI beans com o trigger da replicação SET não estão replicando

Devido a uma bug no componente Weld, o método setAttribute não é chamado corretamente. Isto leva os CDI beans com o trigger da replicação SET à falha a serem replicados. A solução para isto, é o uso do trigger SET_AND_NON_PRIMITIVE_GET para esses beans. Isto será corrigido num lançamento futuro.
900483 - dados da sessão obsoletos recebidos quando usando o DIST SYNC no encerramento do nó

Durante o teste, alguns casos apresentaram que os dados da sessão obsoletos eram recebidos quando o nó encerrava e o modo do cache DIST SYNC ou DIST ASYNC eram usados. Este problema continua sobre investigação.

Documentação

1026813 - descreve os detalhes de implementação do comportamento do método init de iniciação do servlet com exceção

O comportamento do servidor quando as exceções são lançadas por servlets em seu método init() ou pelo ServletContextListener.contextInitialized não é definido pela especificação Servlet e o JBoss EAP Developer Guide não fornece uma explicação de como o JBoss EAP 6 se comporta nesta situação.

O comportamento do JBoss EAP 6 nessas situações pode ser resumido no seguinte:
  • Caso uma exceção seja lançada pelo método init() servlet, o aplicativo continuará sendo implantado, mas o servlet não estará disponível.
  • Caso uma exceção seja lançada pelo ServletContextListener.contextInitialized, a implantação irá falhar.

Uma versão futura do JBoss EAP Developer Guide fornecerá mais detalhes.
1021607 - RBAC: explicação dos dois tipos de não endereçamento que possuímos

Alguns recursos não são endereçados às funções com escopo do host e server-group com o objetivo de fornecer uma visão simplificada do modelo de gerenciamento para melhorar a usabilidade. Isto é distinto entre os recursos que não são endereçáveis aos dados confidenciais de proteção.

Para as funções com escopo do server-group isto significa que os recursos no `perfil`, `grupo socket binding`, `implantação`, `substituição da implantação`, `grupo do servidor`, `configuração do servidor` e porções do `servidor` do modelo de gerenciamento não serão visíveis caso não sejam relacionados aos server-groups especificados para a função.

Para as funções host-scoped isto significa que os recursos na porção `/host=*` do modelo do gerenciamento não serão visíveis, caso eles não sejam relacionados aos grupos de servidor especificados para a função.

No entanto, em alguns casos esta visão simplificada pode ocultar informação, que embora esteja fora do escopo do que o usuário está gerenciando, pode fornecer orientação ao usuário como um curso de ação. Uma amostra disto é o http://bugzilla.redhat.com/show_bug.cgi?id=1015524.

Num lançamento futuro, alguns desses recursos não endereçáveis podem ser alterados para endereçáveis, porém não de leitura. Isto não irá afetar a segurança do servidor uma vez que eles não são endereçáveis por razões de segurança. A Red Hat recomenda que você não baseie-se no não- endereçamento de recursos para ocultar informação a não ser que o não endereçamento é definido numa restrição de confidencialidade.

Domain Management

1015524 - RBAC: não foi possível implantar a mesma implantação que já foi realizada pelo usuário a partir de um escopo server-group diferente

Quando os controles ao acesso baseado em função são habilitados, os usuários do gerenciamento com as funções com escopo server-grupo podem possuir novas implantações com a seguinte mensagem:
"JBAS014807: Management resource '[(\"deployment\" => \"example.war\")]' not found"

Isto acontece uma vez que a implantação com o mesmo nome já existe no domain. Este é o procedimento correto. No entanto, uma vez que o usuário de gerenciamento sofre o escopo a um grupo de servidor, eles não estarão aptos a verificar se tal implantação já existe em outro grupo de servidor. Isto torna difícil de evitar este erro de confusão.

Para solucionar esta limitação, a Red Hat recomenda que ambas funções sem escopo sejam determinadas à responsabilidade dos usuários para adição de implantações ao domain ou que a lista de nomes de implantação seja mantida de forma que os usuários de gerenciamento tenham noção deles.
1034700 - a operação whoami não funciona com o gerenciador de segurança habilitado

A operação :whoami não é executada corretamente quando o JBoss EAP 6 estiver sendo executado com o Java Security Manager habilitado. A tentativa de executar esta operação nesta situação resulta numa exceção sendo lançada do tipo IllegalArgumentException.
1035231 - RBAC: o controle de acesso não funciona com o gerenciador de segurança

Quando o JBoss EAP 6 estiver sendo executado com o Java Security Manager habilitado, o sistema Role-Based Access-Control é desabilitado efetivamente uma vez que nesta situação todos os usuários autenticados são tratados como SuperUsers. A única maneira de usar o Role-Based Access-Control no momento é sem o Java Security Manager habilitado.
1035232 - o modo EAP Domain não está funcionando de forma apropriada com o gerenciador de Segurança

Os Servidores num managed domain não lançarão com êxito se eles estiverem configurados a usar um Java Security Manager sem a especificação de um classname do Security Manager. Isto é comumente realizado quando usando o default Security Manager pela especificação -Djava.security.manager em ambos domain.conf ou como um parâmetro da linha de comando.

Nesta situação os servidores falharão a lançar com a seguinte mensagem:
                    Ocorreu um erro durante a inicialização do VM java.lang.InternalError: Não foi possível criar o SecurityManager: true

Isto acontece uma vez que a propriedade de sistema sem o valor é passada pelos Host Controllers ao seus servidores gerenciados com o valor de true. Isto significa que os servidores tentarão usar um Java Security Manager com o classname do true. Para evitar isto, explicitamente defina o classname do default Security Manager na configuração conforme abaixo:
                    -Djava.security.manager=java.lang.SecurityManager
1021607 - RBAC: explicação dos dois tipos de não endereçamento que possuímos

Alguns recursos não são endereçados às funções com escopo do host e server-group com o objetivo de fornecer uma visão simplificada do modelo de gerenciamento para melhorar a usabilidade. Isto é distinto entre os recursos que não são endereçáveis aos dados confidenciais de proteção.

Para as funções com escopo server-group isto significa que os recursos nas porções perfil, grupo socket binding, implantação, substituição da implantação, grupo do servidor, configuração do servidor e servidor do modelo do gerenciamento não serão visíveis caso eles não estejam relacionados aos server-groups especificados para a função.

Para as funções host-scoped isto significa que os recursos na porção /host=* do modelo de gerenciamento não serão visíveis caso eles não estejam relacionados aos grupos de servidor especificados para a função.

No entanto, em alguns casos esta visão simplificada pode ocultar a informação que embora fora do escopo do que o usuário está gerenciando, pode fornecer orientação ao usuário como um curso de ação. Uma amostra disto é o 1015524.

Num lançamento futuro, alguns desses recursos não endereçáveis podem ser alterados para endereçáveis, porém não de leitura. Isto não irá afetar a segurança do servidor uma vez que eles não são endereçáveis por razões de segurança. A Red Hat recomenda que você não baseie-se no não- endereçamento de recursos para ocultar informação a não ser que o não endereçamento é definido numa restrição de confidencialidade.
1024109 - NPE no DelegatingServerInventory

As solicitações de gerenciamento, enviadas a um Host Controller imediatamente após o Host Controller lançar, podem falhar com uma exceção do tipo NullPointerException. Isto é devido a um período de tempo entre o Host Controller torna-se apto a receber solicitações e quando o sistema de gerenciamento do servidor é iniciado por completo. Este período de tempo é normalmente inferior que um segundo, mas quaisquer solicitações recebidas naquele período falharão.

Isto deve apenas ocorrer em ambientes automatizados, tais como um script que incia o Host Controller e então tenta invocar uma operação de gerenciamento em um de seus servidores.

A Red Hat recomenda, no momento, o seguinte atalho para scripts ou qualquer outra automatização que tentar executar as operações de gerenciamento imediatamente após o lançamento de um Host Controller:
  1. Incluir uma pequena demora (um ou dois segundos) para permitir tempo suficiente para todos os sistemas do Host Controller iniciarem.
  2. Incluir erro de manuseio da lógica.
  3. Usar a lógica de sondagem para contar com a alteração dos resultados de solicitação assim que o servidor for lançado.

Isto será corrigido num lançamento futuro.

EJB

1019372 - o processo de seleção do nó de Cluster não respeita se é que os nós estão aptos a manusear a solicitação EJB

Quando um cluster não possuía os mesmos EJBs implantados em cada nó, as invocações ELB do cliente eram às vezes roteadas aos nós do cluster que não possuíam os EJBs implantados. Isto ocorreu devido ao ejb-client não ter confirmado que o nó de destinação estava apto a manusear a invocação antes de enviar a solicitação. O ejb-client agora executa essa confirmação e invocações são roteadas aos nós corretos conforme esperado.
1017673 - ConcurrentModificationException no TimerService.getTimers()

Caso um bean tentar criar um novo timer ao mesmo tempo que outro thread estiver chamando o método getTimers(), uma exceção ConcurrentModificationException é lançada. Isto ocorre uma vez que o método getTimers() não chama synchronized() nos timers. Isto será corrigido no próximo lançamento.

Hibernate

900321 - problema HHH-7287 na realização do cache de natural-id-values apropriados quando obtendo resultado pelo naturalIdQuery usando NaturalIdLoadAccess

A interface Hibernate NaturalIdLoadAccess comporta-se de forma inconsistente quando tentando carregar as entidades do Level 2 (L2) Cache seguindo uma atualização dos valores natural-id a partir de um cenário não transacional.

No momento, o Hibernate não suporta de forma apropriada o cache L2 de entidades com identificadores naturais em cenários onde existe uma mistura de acesso transacional e não-transacional à fonte de dados.

Installer

1032892 - não foi possível usar a tab completar para o caminho iniciando com uma carta drive no windows.

No console installer do JBoss EAP 6 no Microsoft Windows Server, a tab completar para os caminhos do diretório que iniciam com a carta drive não estão funcionando.

Quando inserindo um caminho que inicia com a carta drive, por exemplo: C:\, e pressionando a tecla Tab, nada é apresentado. Nesta situação, espera-se que isto apresentará os conteúdos do diretório.

Este problema será solucionado num lançamento futuro.
977805 - o início do JBoss Administration Console, a partir do menu de início, não está funcionando no Solaris

Os atalhos do menu iniciar para o Administration Console no Solaris não funcionam para a instância do JBoss EAP 6 que foi instalada usando o installer.

Ao invés de abrir o Administration Console num navegador da web, a seguinte mensagem de erro é exibida:
Erro apresentando url: HTTP Error: método não permitido

Este problema é causado pelo comando xdg-open que não opera conforme o esperado no Solaris.

O Administration Console pode ser acessado diretamente no navegador da web como solução para uso dos atalhos do menu iniciar. Caso configurado com as portas default, seguem abaixo os URLs para o Administration Console: para o modo autônomo: http://localhost:8080/console para o modo domain: http://localhost:9990/console

JCA

1033008 - o JMS RA genérico não é consistente com o EE spec - ele *não* ignora os parâmetros quando a sessão é criada no contexto da transação

Quando a sessão é criada num contexto de transação e parâmetros são passados ao adaptador de recurso JMS genérico, um Null Pointer Exception (NPE) ocorre. Este problema ocorre uma vez que ocorre uma tentativa no processamento de parâmetros, quando a especificação Java EE declara que eles não estão prestes a serem processados. O motivo deste problema está sob investigação, e um atalho é determinado para que a sessão ocorra, conforme amostra abaixo. Com este atalho, o NPE não ocorrerá.
connection.createSession(true, Session.SESSION_TRANSACTED);
1023193 - JMS genérico RA apresenta o aviso 'boqueio durante a limpeza' sob recuperação de pausa periódica

Um problema menor com a recuperação periódica foi identificado, onde as mensagens de aviso iniciando com o seguinte texto são registradas.
AVISO  [org.jboss.resource.adapter.jms.JmsManagedConnection] (Recuperação Periódica) Bloqueio durante a limpeza: java.lang.Throwable: Bloqueio durante a limpeza

A causa subjacente deste problema é que o adaptador JMS genérico não manuseia corretamente a segunda chamada de recuperação periódica. De acordo com a especificação Object Transaction Service, o gerenciador da transação é configurado para ser executado no Java Transaction Service (JTS), as chamadas de recuperação periódica revertem ao mesmo XID duas vezes. O problema é que o adaptor JMS genérico manuseia incorretamente a segunda chamada da reversão para o mesmo XID e avisos acima são registrados. Note que independente de mensagens de aviso, a recuperação ocorre corretamente.
991389 - a criação da conexão não é ativada no adaptador de recurso generic-jms-ra.rar após o servidor ser recarregado com a configuração do modo das transações jts.

Quando o servidor do JBoss EAP é configurado com um adaptador de recurso implantado usando generic-jms-ra.rar, a criação da conexão tem seu registro cancelado quando o servidor é recarregado. A causa deste problema é que o adaptador de recurso genérico não manuseia corretamente a recarga caso o subsistema de transação for configurado para executar no JBoss Transactions System (JTS). A causa principal deste problema está sendo investigada.

Um atalho sugerido é adicionar o arquivo do descritor JCA para o arquivo RAR com as propriedades de conexão especificadas.

JSF

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

Quando tentando acessar o método público de uma classe não pública através do EL, ocorre seguinte erro de mensagem:
"java.lang.IllegalAccessException: O javax.el.BeanELResolver da classe não pode acessar um membro da classe X com modificadores "privados"

Configure o SetAccessible(true) antes de invocá-lo, com o objetivo de suprimir a checagem de acesso Java, para solução deste problema.
1017242 - o FacesMessages não funciona de forma adequada no aplicativo de contexto raiz

Existe um problema conhecido com o componente JSF lançado no JBoss EAP 6.2. Foi relatado que os FacesMessages não estão redirecionando corretamente quando executando um aplicativo no contexto root. Este problema será endereçado num lançamento futuro deste produto.

Outro

901231 - o uso do finalize() precisa de guardas extras no IBM JDK

O JBoss Enterprise Application Plataform 6 pode experienciar falhas quando executando no IBM JDK 6 e 7. Isto é devido ao colector de lixo IBM ser muito mais agressivo do que outros JVMs. Isto pode resultar algumas vezes na memória sendo recuperada em situações que não eram antecipadas e não se manifestaram quando testando em outros JVMs.

A Red Hat não recomenda o uso do IBM JDK 6 e 7 para executar o JBoss Enterprise Application Plataform até que este problema seja resolvido no Red Hat Enterprise Linux.

Scripts e Comandos

956281 - iniciar o EAP 6.1 no windows com 32bit jvm pode resultar em falha ao iniciar o JVM

No Windows 8 32-bit JVMs, a configuração default max perm gen space leva ao JVM a não ser criado, o que evita a iniciação do servidor. Para contornar este problema, remova o parâmetro -XX:MaxPermSize=256m dos parâmetros de iniciação JVM. Isto permitirá o JVM a ser criado e o servidor a ser iniciado.

Segurança

979369 - comportamentos diferentes da criação HttpSession com o login() programático

Foi descoberto que o comportamento da criação HttpSession difere-se quando usado junto com um login programático:
  • sem o SSO: A sessão não é criada enquanto chamando o método login() - ex.: solicitações subsequentes não são autenticadas;
  • com o não-clustered SSO: A sessão É criada enquanto chamando o método login(), mas a primeira chamada não determina o status da autenticação - ex.: as solicitações subsequentes não são autenticadas, o usuário é autenticado após a segunda chamada do método login(), uma vez que a sessão já está presente;
  • com o SSO com cluster: A sessão é criada enquanto o método login() e solicitações subsequentes são autenticadas.

A causa deste comportamento diferente está sendo investigada. Nenhuma alternativa está disponível no momento.

Servidor

1036872 - não foi possível configurar o arquivo da política de segurança que desabilita os arquivos de política no arquivo java.security do JRE

Um erro foi identificado quando usando um prefixo especial do = para desabilitar os arquivos da política default. A causa subjacente é que quando o Host Controller iniciou um servidor, ele forneceu o null como valor da configuração java.security.policy, levando ao uso dos arquivos da política especificados no arquivo java.security e possivelmente falhas de permissão evitando o booting do servidor.

Diversas alternativas estão disponíveis:

1) Edite o arquivo JVM’s java.security (tipicamente no $JAVA_HOME/lib/security/java.security) e comente quaisquer configurações "policy.url". Por exemplo:

#policy.url.1=file:${java.home}/lib/security/java.policy #policy.url.2=file:${user.home}/.java.policy

Perceba que isto irá desativar o uso desses arquivos de política por quaisquer usuários da instalação JVM. Caso isto seja uma preocupação, é melhor montar uma instalação JVM separada para uso do EAP e alterar sua configuração.

2) Remova o "=" do valor java.security.policy; ex.:

-Djava.security.policy=$PWD/server.policy

Realizando essas etapas, apenas as configurações no arquivo de política especificado serão usadas.

Gerenciador de Transação

1027126 - o servidor falhou a iniciação com o standalone-xts.xml e o store do objeto jdbc executando no mysql 5.5

Quando o gerenciador da transação for configurado para executar as transações XTS, usando um store objeto com host no MySQL 5.5 e o driver colocado no diretório deployments, o servidor falha para iniciar. O erro resultante inclui o texto New missing/unsatisfied dependencies. Este erro não ocorre quando outras plataformas do banco de dados são usadas. Este problema está sob investigação e espera-se ser resolvido numa liberação futura.
1017816 - não foi possível alterar a geração UID a partir do uuid para o socket na configuração EAP

Quando o método da geração ID de processo é alterado para o process-id-socket-binding ao invés do process-id-uuid, uma mensagem de erro iniciando com o seguintes texto:
                        ERRO [org.jboss.as.controller.management-operation] (ServerService Thread Pool -- 44) JBAS014613: A operação falhou ("add") - endereço: ([("subsystem" => "transactions")]) - falha na descrição: "JBAS014746: process-id-uuid may not be null"

A causa deste problema é que o manuseio do parâmetro de configuração está incorreto. Isto será resolvido num lançamento futuro. Nenhuma alternativa é possível no momento, portanto o método default da geração de ID do processo deve ser usado.
1009981 - a recuperação periódica nas transações confirmadas

Quando o servidor está sob uma carga excessiva, o log do servidor pode conter mensagens parecidas com as mensagens abaixo, indicando que a reversão da transação ocorreu.
WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_NOTA: javax.transaction.xa.XAException
at org.hornetq.core.client.impl.ClientSessionImpl.rollback(ClientSessionImpl.java:1699) [hornetq-core-client-2.3.12.Final-redhat-1.jar:2.3.12.Final-redhat-1]   
at org.hornetq.core.client.impl.DelegatingSession.rollback(DelegatingSession.java:494) [hornetq-core-client-2.3.12.Final-redhat-1.jar:2.3.12.Final-redhat-1]
at org.hornetq.jms.server.recovery.HornetQXAResourceWrapper.rollback(HornetQXAResourceWrapper.java:126) [hornetq-jms-server-2.3.12.Final-redhat-1.jar:2.3.12.Final-redhat-1]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.handleOrphan(XARecoveryModule.java:755) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecoverySecondPass(XARecoveryModule.java:661) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:431) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:212) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371) [jbossjts-jacorb-4.17.15.Final-redhat-4.jar:4.17.15.Final-redhat-4]

Sob carga pesada, o período de processamento levado por uma transação pode sobrepor com o período da atividade do processo de recuperação periódica. O processo de recuperação periódica detecta se a transação continua em progresso e tenta iniciar uma reversão, mas na realidade a transação continua a ser concluída. No momento que a recuperação periódica tenta a reversão, porém falha, ela grava a falha de reversão no log do servidor. A causa subjacente deste problema será endereçado num lançamento futuro, e uma alternativa está disponível.

Aumente o intervalo entre as duas fases do processo de recuperação pela configuração do com.arjuna.ats.jta.orphanSafetyInterval da propriedade para mais alto do que o default de 10000 mile-segundos. Recomenda-se um valor de 40000 mile-segundos. Note que isto não resolve o problema, do contrário isto reduz a probabilidade disto ocorrer e aquela mensagem de aviso será apresentada no log.

Web

918130 - os conectores do JBossWeb iniciam antes das implantações do aplicativo serem concluídas no EAP 6

Um problema de tempo com os conectores JBossWeb na iniciação foi descoberto, pelo qual os conectores iniciam e aceitam as solicitações antes dos aplicativos estarem inteiramente implantados. Nesta situação, as conexões do cliente através do balanceador de carga ou diretas ao JBoss EAP são retornadas à mensagem 404. Este problema afeta as versões do JBoss EAP 6.0.1 e mais recentes. Nenhuma alternativa está disponível, mas o problema está sob investigação.

Web Console

995439 - as transações do JTS não estão corretamente habilitadas

Quando o JTS é habilitado na seção Transactions do console de gerenciamento da web ("Perfil → Contêiner → Transações"), é necessário também determinar o atributo transactions ao valor on no subsistema JacORB. O comportamento intencionado é que as transações JTS sejam habilitadas. A causa deste problema está sob investigação. Até que isto seja resolvido, a alternativa é garantir que o atributo transactions também seja determinado para on. Perceba que o subsistema das transações está disponível apenas nos perfis full e full-ha.
1014048 - RBAC: efetuar o login logo após sair não limpará de forma apropriada o UI no modo domain

Em alguns casos, quando saindo do Web Console, o console é parcialmente processado antes de efetuar o login como outro usuário. Isto leva a conteúdos "mistos" onde as partes da tela são processadas como se o usuário antigo fosse conectado e como se o novo usuário estivesse conectado. A alternativa para isto é encerrar a janela do navegador (não apensas a tab em uso) e efetuar o login como um novo usuário.
1014219 - RBAC: controla a visibilidade do elemento para usuários com funções múltiplas com escopo

Foi relatado que neste lançamento do JBoss EAP 6 alguns usuários determinados para as funções múltiplas irão ver operações no console que eles não possuem acesso para execução. Por exemplo: um usuário com funções host-master-administrator e host-slave-monitor deve estar apto apenas a ser elementos de controle (tais como o botão Add na página de configurações do servidor) no contexto do host slave. Este botão não deve ser visível quando operando em contexto do host mestre (seja qual for).

As operações que são incorretamente visíveis falharão caso haja a tentativa de usá-las uma vez que o controle de acesso correto é forçado na execução da operação. Não existe violação de segurança.

Não há nenhuma alternativa disponível para este problema no momento, no entanto isto será resolvido num lançamento futuro do produto.
1026823 - fornece uma maneira confiável de esvaziar os cabeçalhos "FUNÇÃO" determinados pelo diálogo "Executar como"

Neste lançamento do JBoss EAP 6, foi relatado que quando um SuperUser age representando outro usuário (com o link Run As…), suas funções não são redefinidas após a ação ser tomada.

A alternativa para este problema é encerrar a janela do navegador (não apenas a tab ativar) e acessar novamente o Web Console. Este problema será endereçado num lançamento deste produto.
1017655 - erros de validação da configuração dos serviços Web

Neste lançamento do JBoss EAP 6, os valores inválidos para o WSDL Host, WSDL Port e WSDL Secure Port sob os Perfis > Web > Web Services não são rejeitados pelo console da Web.

Alguns valores inválidos levam ao erro de mensagem, enquanto outros são ignorados sem a apresentação da mensagem de erro. Nenhum dos valores inválidos são stored na configuração.

Este problema será resolvido num lançamento futuro do produto.
1016546 - RBAC: [Usabilidade] a mensagem de erro não é clara quando tentando configurar a função Auditor como Administrador

Quando o usuário não possui permissão para executar uma operação, o propósito geral da mensagem de erro é apresentada: "". Esta mensagem de erro é confusa, pois o usuário tenta executar uma operação ao invés de acessar um recurso.

Neste lançamento do JBoss EAP 6, caso um usuário tentar executar uma operação pela qual ele não possuem permissão para execução, ele receberá a seguinte mensagem de erro:
Você não possui permissões para acessar este recurso!

Isto pode ser confuso aos usuários uma vez que eles estão tentando executar uma operação, e não tentando acessar um recurso. Este texto de erro será esclarecido num lançamento futuro deste produto.
1029851 - console de gerenciamento - mesmo após cancelar o processo de carregamento de um arquivo de implantação, o conteúdo é adicionado ao diretório de dados

Existe um problema conhecido neste lançamento do JBoss EAP 6 que leva o carregamento de arquivos através da tela Manage Deployments a ser completado, mesmo se o carregamento for cancelado pelo usuário.

O cancelamento da operação resulta no arquivo carregado sendo adicionado ao diretório de dados, mas previne isto de ser adicionado como uma implantação ao arquivo domain.xml. Isto significa que o arquivo não pode ser removido através de ambas interfaces de gerenciamento CLI ou Web.

Este problema será endereçado num lançamento futuro deste produto.
1027586 - RBAC: o console da Web é muito granulado com os recursos do aplicativo

Neste lançamento do JBoss EAP 6, quando o recurso é definido como um recurso do aplicativo, o console pode não refletir aquela definição. Isto é devido ao console agrupar frequentemente diversos recursos sob uma visualização. Os controles nas visualizações estão disponíveis caso todos os recursos relativos forem graváveis. Caso quaisquer um desses recursos forem configurados como um recurso do aplicativo, no entanto, os controles relacionados continuarão desabilitados.

A solução atual para isto, caso possível, é configurar os tipos de recursos associados com um subsistema como os recursos do aplicativo.

Web Services

900032 - problemas com o JBossWS IPv6

mod_cluster

980246 - o mod_cluster-manager pode interromper aliases a partir de um VirtualHost único, levando a uma página bagunçada

Neste lançamento do JBoss EAP, foi relatado que a implantação dos aplicativos múltiplos, cada um com um virtual-server e cada virtual-server com aliases múltiplos, o mod_cluster pode exibir incorretamente o mesmo período de múltiplo Virtual Host (uma vez para cada alias).

Este não é o comportamento esperado, que deveria ter todos os Virtual Hosts exibidos apenas uma vez na página do gerenciador junto com todos os aliases. Este problema está sob investigação e será resolvido numa versão do JBoss EAP.
901227 - atributos node-timeout, worker-timeout, flush-wait e ttl mod_cluster attributes no web console

Existe um problema conhecido no EAP 6 web baseado no Management Console que evita que usuários visualizem ou configurem o valor -1 para os seguintes atributos mod_cluster:
  • node-timeout
  • worker-timeout
  • flush-wait
  • ttl

Caso um valor -1 já tenha sido configurado, o Management Console exibirá incorretamente o valor do atributo como 0. Na tentativa de uso do Management Console para determinar o valor do atributo para -1, o Management Console avisa o Invalid numeric value.

A alternativa para isto é permitir que os usuários estejam aptos a determinar os atributos afetados para o valor -1 pelo uso do Management CLI.

A causa deste problema está sob investigação no momento.
1030965 - o número de contextos registrados negativamente afeta o desempenho do mod_cluster

Um problema de desempenho foi identificado no Apache HTTP Server com o mod_cluster configurado como um balanceador de carga. As operações de memória compartilhada httpd na tabela workers->nodes afetam negativamente o desempenho do balanceador de carga. Como resultado, o desempenho do balanceador de carga httpd reduz uma vez que o número de contextos registrados aumenta.

A alternativa para este problema é tentar reduzir o número de contextos registrados.

A solução sendo engenhada modifica o httpd para utilizar uma memória local ao invés de uma memória compartilhada. Espera-se uma correção no lançamento futuro.
900047 - o SystemMemoryUsageLoadMetric não está correto no Linux/Unix

O SystemMemoryUsageLoadMetric não apresenta a informação útil nos sistemas operacionais do Linux ou UNIX. Para esses sistemas, o HeapMemoryUsageLoadMetric fornece informações mais úteis. A solução para este problema será a alteração do algoritmo do SystemMemoryUsageLoadMetric para substrair o valor buffers/cache do número used. O melhor método para realizar isto está sob investigação.

Apache Server (httpd) e Conectores

900620 - os APR natives não estão sendo carregados caso o UAC estiver operando (Windows Server 2008 R2)

Nos servidores do Microsoft Windows, as bibliotecas do Apache portable runtime (APR) falharão ao carregar com o User Account Control (UAC) habilitado. Após a instalação das bibliotecas, um usuário administrativo precisará clicar no lado direito do diretório JBoss e determinar "Controle Total" para "Permitir" o usuário desejado na tab Propriedades → Segurança. Isto irá corrigir os direitos de acesso para o UAC.

Domain Management, Web Services

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

Cinco atributos de pontos de extremidade SOAP Web Services implantados (nome, contexto, classe, tipo, e wsdl-url) não são acessíveis nas ferramentas de gerenciamento. Isto é devido a eles não estarem expostos ao modelo de gerenciamento pelo subsistema Web Services. Isto será corrigido num lançamento futuro.

EJB, Nomeação

923836 - remote:// o protocolo não funciona sobre o SSL com o IBM JDK

Existe um Problema Conhecido neste lançamento do JBoss Enterprise Application Platform 6 onde a pesquisa de nomeação remota falha intermitentemente num IBM JDK com a seguinte exceção:
org.jboss.remoting3.NotOpenException: O ponto de extremidade não está aberto.

Este problema aparece quando o cliente usa o IBM JDK. Em situações onde o servidor está no IBM JDK e o cliente usa outra JDK, o problema não está presente.

O problema está sendo investigado para uma solução.

Suporte IPv6

900609 - os sockets IPv4 abertos no Windows quando o servidor é limitado ao IPv6

Caso o JBoss EAP 6 for iniciado no Microsoft Windows Server com a pilha IPv4 desabilitada e a pilha IPv6 habilitada, os sockets IPv4 continuam abertos. Este problema continua sob investigação.
900564 - formato errado dos endereços IPv6 nas entradas de log

Os endereços IPv6 devem ser formatados entre colchetes ([ e ]), tal como no http://[2620:52:0:105f::ffff:2]:9990. Faltam colchetes no JBoss EAP 6. Espera-se que este problema seja corrigido num lançamento futuro.

JDR

917683 - a utilidade JDR gera o nome de entrada do arquivo errado executando no Windows

Uma bug foi encontrada na utilidade JDR quando usada nos ambientes do Microsoft Windows Server. Foi relatado que a utilidade será anexada ao último caractere do diretório $JBOSS_HOME para o diretório JBOSS_HOME criado dentro do arquivo.

Por exemplo, para um diretório JBOSS_HOME nomeado jboss-eap-6.2 sendo originado, a utilidade JDR produziria o diretório do arquivo chamado JBOSS_HOME2.

A causa desta bug continua sendo investigada e não existe alternativa para evitar isto no momento.

RESTEasy

958896 - RESTEasy: Tipo de Conteúdo Inválido em resposta - Comportamento ruim quando o cabeçalho aceitar é especificado no cabeçalho da solicitação

Um problema foi descoberto no subsistema RESTEasy onde uma resposta HTTP 200 incorreta é enviada quando existir um cabeçalho aceitar inválido na solicitação HTTP recebida.

Quando um cabeçalho aceitar é fornecido, a resposta correta deve ser HTTP 500. Este problema está sob investigação.

A. Histórico de Revisões

Histórico de Revisões
Revisão 2.0-18.3Tue Jun 24 2014Leticia deLima
Tradução de arquivos sincronizados com a versão 2.0-18 de fontes do XML
Revisão 2.0-18Wed Dec 4 2013Russell Dickenson
Corrigindo o uso do idioma para esclarecer os problemas do IBM JDK com o Red Hat Enterprise Linux.
Revisão 2.0-17Wed Dec 4 2013Russell Dickenson
Lançamento GA do Red Hat JBoss Enterprise Application Plataform 6.2.0

Nota Legal

Copyright © 2013 Red Hat, Inc..
This document is licensed by Red Hat under the Creative Commons Attribution-ShareAlike 3.0 Unported License. If you distribute this document, or a modified version of it, you must provide attribution to Red Hat, Inc. and provide a link to the original. If the document is modified, all Red Hat trademarks must be removed.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.