Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

Notas de Lançamento 6.4.0

JBoss Enterprise Application Platform 6.4

Para uso com o JBoss Enterprise Application Platform 6

Red Hat Customer Content Services

Resumo

Esses lançamentos contém informação Red Hat JBoss Enterprise Application Platform 6.4. Recomendamos a leitura dessas Notas de Lançamento por completo antes da instalação do produto.

1. Visão Geral

O Red Hat JBoss Enterprise Application Platform 6 (JBoss EAP 6) é a resposta da Red Hat às alterações significativas da maneira que as organizações desenvolvem e implantam os aplicativos empresariais. As organizações buscam por custos baixos de operações e redução de tempo para comercializar novos aplicativos. O JBoss EAP 6 foi reconstruído visando o futuro, ostentando uma inovação modular, arquitetura nuvem pronta, automatização e gerenciamento potente e uma produtividade do desenvolvedor de classe mundial.
O JBoss EAP 6 é Java EE 6 certificado e possui recursos potentes e gerenciamento flexível, desempenho aprimorado e escalabilidade, além de muitos outros novos recursos para melhorar a produtividade do desenvolvedor. Tudo isto com a reputação da Red Hat de líder no mercado para certificação e suporte, garantindo que suas necessidades de administração e desenvolvimento continuem em direção ao futuro e adiante.

2. Novos Recursos, Prévias da Tecnologia e Aperfeiçoamentos

2.1. Novos Recursos

Os seguintes novos recursos e aprimoramentos estão disponíveis no JBoss EAP 6.4.
Servidor Apache e Conectores
O mod_snmp e mod_rt estão agora disponíveis no ppc64

A partir do JBoss EAP 6.4, o mod_snmp e mod_rt estão disponíveis nos sistemas ppc64 Red Hat Enterprise Linux.

API
Habilite a configuração do intervalo da sessão global a partir do contêiner da web através dos APIs de gerenciamento

O intervalo da sessão HTTP global pode agora ser configurado usando os APIs de gerenciamento.

Exposição do API público para os casos de uso dos WebSockets.

Todas as classes nos pacotes javax.websocket e javax.websocket.server do Websockets API estão agora expostas publicamente.

Gerenciador de Autenticação
Um método de logout() foi adicionado à interface org.jboss.security.AuthenticationManager

Um método de saída foi adicionado à interface org.jboss.security.AuthenticationManager. Lembre-se disto, caso tenha implementado um org.jboss.security.ServerAuthenticationManager personalizado, conforme a seguinte amostra.

<valve>
 <class-name>org.jboss.as.web.security.jaspi.WebJASPIAuthenticator</class-name>
 <param>
  <param-name>serverAuthenticationManagerClass</param-name>
  <param-value>com.acme.ServerAuthenticationManager</param-value>
 </param>
</valve>
Clustering
Suporte fail_on_status para o mod_cluster

O suporte para o fail_on_status foi adicionado ao mod_cluster. O fail_on_status pode ser usado para um ou mais códigos de status do HTTP, de forma que um nó do trabalhador num cluster retorna um dos códigos de status especificados, levando o trabalhador à falha. O balanceador de carga irá então enviar solicitações futuras a outro nó trabalhador no cluster.

Gerenciamento do Domain
Expressões aninhadas de suporte

As expressões podem ser aninhadas, o que permite um uso mais avançado de expressões disponíveis de valores fixados. As expressões aninhadas são permitidas em qualquer lugar onde as expressões são permitidas, com a exceção dos comandos do Management CLI. A partir de expressões normais, as fontes suportadas para as expressões aninhadas são: propriedades de sistema, variáveis de ambiente e o Vault.

Habilidade de ler erros do boot através dos APIs de admin

Um novo comando do Management CLI foi criado, pelo qual resulta detalhes de quaisquer erros ocorridos no bootup. O comando é read-boot-errors e não possui parâmetros.

Autorização do Kerberos para o gerenciamento sobre o HTTP/HTTPS

Agora é possível configurar a autenticação das operações de gerenciamento através do HTTP/HTTPS usando o Kerberos. Isto significa que agora é possível autenticar o Management Console usando o Kerberos.

EE
Habilidade de especificar a referência do adaptador de recurso no jboss-ejb3.xml sem o nome ear

No descritor de desenvolvimento jboss-ejb3.xml é possível especificar o adaptador de recurso para o driven bean (MDB) a ser usado, sem especificar o nome do EAR, em casos onde o descritor de desenvolvimento estiver no mesmo EAR como um adaptador de recurso.

EJB
A nova implementação do StrictMaxPool

O conteúdo com o EJB StrictMaxPool foi eliminado pela alteração da estrutura de dados subjacentes.

A habilidade de uso de stores persistentes alternativos para os EJB timers sem cluster

Os dados dos EJB timers talvez não sejam stored num banco de dados entre as instâncias do servidor com cluster. As vantagens deste método inclui adaptabilidade para uma alta disponibilidade.

Habilitação do curinga <ejb-name> no jboss-ejb3.xml

O suporte para uso dos curingas (*) foi habilitado para <ejb-name> no jboss-ejb3.xml.

Hibernate
Entrega de um novo Dialeto de Hibernate para o MySQL 5.7

Um novo dialeto foi adicionado ao Hibernate para suportar o MySQL 5.7. Para prevenir problemas como resultado de dígitos fracionais de arredondamento, o dialeto possui no momento as seguintes limitações: o Hibernate irá assumir datetime(6) às colunas "timestamp" e o Hibernate irá assumir time(0) para as colunas "time".

HornetQ
A habilidade de encerrar todos os consumidores numa destinação e as conexões para esses consumidores

A habilidade de encerrar todos os consumidores numa destinação e as conexões para estes consumidores serem adicionadas. Este comando está disponível através do Management CLI, management API e JMX.

Cancelamento dos consumidores HornetQ lentos

A razão de consumo para os consumidores de mensagem pode agora ser monitorada automaticamente e uma ação é decorrida caso a razão não atinja o critério especifico. Uma razão de consumo mínimo é especificada por segundos em mensagens e caso não seja atingida, a conexão do consumidor é tanto encerrada ou uma notificação de gerenciamento é levantada, da qual pode ser manuseada por um aplicativo. Este recurso é desabilitado por default.

Habilidade de encerrar uma conexão pelo Usuário JMS

O HornetQ suporta agora o encerramento das conexões com o usuário JMS como critério. Anteriormente, era apenas possível encerrar as conexões de acordo com a ID do cliente ou o endereço IP.

Busca Hibernate
Entrega da Busca Hibernate como o módulo default

A Busca Hibernate é agora um componente padrão do JBoss EAP.

Installer
A fonte de dados de teste e as conexões LDAP no installer

Quando instalando o JBoss EAP tanto no GUI ou no modo de console, o installer fornece agora a opção de verificar o LDAP e a conectividade da fonte de dados durante o processo de instalação. Isto garante que os parâmetros fornecidos durante a instalação sejam válidos.

JBoss Web
Carregamento de taglibs a partir de jars num Módulo do JBoss

Os Tag Library Descriptors (TLDs - Descritores de Biblioteca de Tag) podem ser separados de seus respectivos aplicativos, permitindo facilidade de adições e atualizações. Para uso deste recurso, crie um módulo do JBoss EAP 6 personalizado que contém os TLD JARs e declare uma dependência naquele módulo nos aplicativos.

Habilidade de configurar HttpOnly SSO cookies

Um novo atributo foi adicionado à configuração SSO de um servidor virtual: http-only. Quando determinado para true, este atributo adiciona HttpOnly ao cabeçalho Cookie, indicando que um navegador deve restringir acesso de não-HTTP APIs.

Os usuários devem estar cientes que a opção para suporte desta restrição é do cliente (no navegador da web).
Esta ação pode reduzir o risco de vulnerabilidades de segurança pela restrição de acesso de não-HTTP APIs (tais como JavaScript).
JCA
O suporte habilitado à propriedade de sistema "datasource_class"

Por default, quando o driver JAR conter um arquivo services/javax.sql.Driver, o atributo datasource_class na definição da fonte de dados é ignorado e a classe de Driver no JAR é usada. Para substituição deste comportamento default e uso do atributo datasource_class, determine a propriedade -Dironjacamar.jdbc.prefer_datasource_class=true.

Detecta e lança a exceção de implantação para os adaptadores de recurso JCA 1.7

Uma exceção é lançada caso as implantações do JCA 1.7 forem detectadas uma vez que elas pertencem à plataforma baseada no EE 7.

Adiciona o pool detector de vazamento

O IronJacamar agora possui como recurso uma implementação de pool de conexão que monitora conexões e fornece informação caso eles nunca lançaram pelo aplicativo. Quando o pool é tanto encerrado ou esvaziado, um rastreamento de pilha é resultado aos logs de sistema. Para habilitar o pool de conexão, determine o ironjacamar.mcp do valor de sistema para org.jboss.jca.core.connectionmanager.pool.mcp.LeakDumperManagedConnectionPool. Para obter o resultado do rastreamento de pilha a um arquivo separado, determine o ironjacamar.leaklog do valor de sistema ao nome e caminho do arquivo desejado.

-Dironjacamar.mcp=org.jboss.jca.core.connectionmanager.pool.mcp.LeakDumperManagedConnectionPool
-Dironjacamar.leaklog=leaks.txt
Operações JMS
Adiciona a operação remove-jndi para os recursos JMS

A operação remove-jndi está agora habilitada aos recursos JMS.

JMX
Habilita as notificações de Registro e Cancelamento de Registro do JMX MBean para os MBeans de fachada do JBoss no EAP 6

Os MBeans nos domains jboss.as e jboss.as.expr não são inteiramente MBeans, porém fachadas. Como resultado, os eventos de registro e cancelamento de registro do MBean não estavam disponíveis. Os eventos de registro e cancelamento de registro estão agora habilitados, permitindo que estes eventos sejam monitorados.

Logging
A solicitação de suporte de sufixo para a rotação do arquivo de log baseado no tamanho

A rotação do arquivo de log baseado no tamanho foi aprimorada com o suporte para um sufixo de timestamp que é anexado a cada arquivo de log quando isto é roteado. O formato do timestamp é configurável de acordo com os seus requerimentos. Anteriormente, era apenas possível possuir um sufixo numérico adicionado para os arquivos de log roteados, o que dificultava a busca do arquivo de log relevante em algumas circunstâncias.

Implementa o java.util.logging.LogManager.getLoggerNames() no JBoss Logging

O método getLoggerNames() foi adicionado ao java.util.logging.LogManager que retorna os nomes de todos os agentes de logs.

O manuseador do syslog de auditoria deve estar apto a reconexão automática

O manuseador do syslog foi aprimorado com um novo atributo - reconnect-timeout - que especifica o período de tempo entre as tentativas de reconexão do servidor do syslog.

Faz com que o PeriodicSizeRotatingFileHandler torne-se configurável diretamente através do console CLI/web

O PeriodicSizeRotatingFileHandler está apto a ser configurável através do Management Console ou Management CLI. Anteriormente, tal manuseador era apenas configurável usando um manuseador personalizado. Os novos métodos de configuração são mais fáceis e com menor chance de erro.

Mascara as Propriedades de Sistema de "senha"

Qualquer propriedade de sistema que contém o password do texto (independente do caso) é substituída pelo redacted do texto quando resultando através do log. Isto aumenta a segurança evitando o resultado de senha em texto plano nos arquivos de log.

Management CLI
O CLI deve ser suportado pela substituição da propriedade por nomes de elementos e não apenas por parâmetros

A substituição de propriedade por nomes de elementos foi adicionada. Anteriormente, o Management CLI suportava apenas a substituição de propriedade para parâmetros.

Adiciona o comando echo para uso no script CLI

Um novo comando do management CLI - echo - foi adicionado. Isto resulta na textualização de qualquer texto que segue o comando.

Management Console
Exibe os logs do servidor num console gráfico

É possível visualizar agora os logs do aplicativo e do servidor no JBoss EAP Management Console para auxílio no diagnóstico de erros, problemas de desempenho e outros problemas. Com o objetivo de que um log seja visível no Management Console Log Viewer, ele deve ser localizado no diretório jboss.server.log.dir do servidor. O Log Viewer respeita também as tarefas de função do RBAC do usuário, de forma que um usuário conectado ao Management Console pode apenas visualizar logs que ele está autorizado a acessar.

Acesso ao plugin da Red Hat

O acesso aos recursos usados comumente do Portal do Cliente Red Hat estão disponíveis a partir do Management Console. A barra de navegação superior Management Console contém um menu suspenso: Acesso à Red Hat. Quando clicando neste menu, três links de tarefas específicas ao Portal do Cliente estarão disponíveis: Buscar no Portal do Cliente, Abrir Caso e Modificar Caso.

Expõe o intervalo da sessão global do contêiner da web no Console

O intervalo da sessão HTTP global pode agora ser configurado usando o Management Console.

Nomeação
Uso do contexto externo para a pesquisa ems TIBCO remota

Quando usando o adaptador do recurso JMS genérico para conectar a um servidor de mensagem externo, o contexto externo pode ser usado ao invés da gravação de um ObjectFactory personalizado. Segue abaixo o extrato de uso de uma amostra do <external-context>. Substitua as propriedades de amostra pelas apropriadas ao seu provedor JMS.

<external-context name="java:global/tibco" module="com.tibco.tibjms" class="javax.naming.InitialContext">
 <environment>
  <property name="java.naming.factory.initial" value="com.tibco.tibjms.naming.TibjmsInitialContextFactory"/>
  <property name="java.naming.provider.url" value="TIBCO_EMS_SERVER_HOST_NAME:PORT"/>
  <property name="java.naming.factory.url.pkgs" value="com.tibco.tibjms.naming"/>
  <property name="org.jboss.as.naming.lookup.by.string" value="true"/>
 </environment>
</external-context>
Patching
Acesso aos detalhes dos patches que foram aprimorados

O patch do comando do Management CLI possui dois argumentos adicionais: inspect e info. O argumento info adicona informação aos instalados. O argumento inspect adiciona informação sobre o patch baixado.

O painel Patch Management do Management Console foi aprimorado para incluir uma descrição breve de cada patch e um link a um artigo mais detalhado.
Desempenho
A eliminação da sincronização do Backport AbstractPool initLock() a partir da versão 1.2

Um bloqueio foi criado quando chamando um registro à transação após a obtenção de uma conexão do pool. Uma vez que o registro de transação já manuseou o bloqueamento, sendo que isto já usou uma coleção atual, o manuseamento de bloqueio adicional era desnecessário e por isso foi removido.

Novo pool de conexão gerenciado

Um novo pool de conexão gerenciado no subsistema JCA foi criado, o que melhora o desempenho e elimina a contenção de thread com o servidor.

PicketLink
O plugin do console para integração dos subsistemas PicketLink ao console EAP

Os subsistemas do PickeLink são agora configuráveis através do JBoss EAP Management Console, resultando numa configuração mais fácil.

Modificação do PicketLink IDP para suporte das respostas não solicitadas do SAML 2.0

O PicketLink Identity Provider (IDP) foi aprimorado de forma que ele pode agora enviar respostas não solicitadas do SAML 2.0 ao Provedor do Serviço.

O PicketLink deve ser configurável para ignorar as chamadas ajax

Caso o usuário não seja autenticado e enviar uma solicitação a ambos IdP e SP usando o AJAX, o PicketLink irá responder com o código de status 403 HTTP ao invés da página de login. As solicitações AJAX são identificadas pela checagem da presença do cabeçalho X-Requested-With com o valor XMLHttpRequest.

RESTEasy
O log do RESTEasy através do JBossLogging

A funcionalidade de log do RESTEasy é agora manuseada pelo JBossLogging. Os benefícios desta alteração incluem o suporte da internacionalização de mensagens de log.

Novos parâmetros de segurança

O RESTEasy possui dois novos parâmetros intencionados a melhorar a segurança no processamento dos documentos org.w3c.dom.Document. Ambos parâmetros são context-param e podem ser determinados no web.xml do aplicativo.

O parâmetro resteasy.document.secure.processing.feature impõe restrição de segurança no processamento dos documentos org.w3c.dom.Document e representações do objeto JAXB.
O resteasy.document.secure.disableDTDs do parâmetro proíbe os DTDs nos documentos org.w3c.dom.Document e representações do objeto JAXB.
O valor default para resteasy.document.secure.processing.feature e resteasy.document.secure.disableDTDs é true. Com o objetivo de desabilitar um ou ambos os dois, adicione o seguinte ao arquivo web.xml do aplicativo.
<context-param>
 <param-name>resteasy.document.secure.processing.feature</param-name>
 <param-value>false</param-value>
</context-param>
<context-param>
 <param-name>resteasy.document.secure.disableDTDs</param-name>
 <param-value>false</param-value>
</context-param>
Instalação RPM e Atualizações
Existe uma nova escolha de canais ou repositórios RPM para subscrição de instalação e atualizações do JBoss EAP 6, enquanto um canal menor fornece um lançamento menor específico e todos os patches aplicáveis. Isto permite manter a mesma versão inferior do JBoss EAP 6, enquanto continuando com patches de alta severidade e segurança. Consulte https://access.redhat.com/solutions/1346093 para maiores detalhes sobre os canais disponíveis.
Segurança
O SSLValve permite os nomes do cabeçalho configurável do usuário

Os nomes dos cabeçalhos HTTP que o SSLValve usa para passar informação SSL/TLS a partir do originador eram pré-definidos, por exemplo: ssl_client_cert, ssl_cipher, ssl_session_id e ssl_cipher_usekeysize. Com esta alteração, os nomes dos cabeçalhos são agora personalizados de forma que o originador pode usar um nome arbitrário do cabeçalho HTTP com o nome especificado na configuração SSLValve.

Kerberos baseado na autenticação para o Remoting

O suporte para a autenticação Kerberos para os clientes EJBs e EJB está agora habilitado.

Os realms de segurança de gerenciamento devem realizar o cache aos dados LDAP

O realm de segurança de gerenciamento agora pode realizar o cache aos dados LDAP, que auxilia a reduzir o número de solicitações LDAP.

A autorização com as credenciais do Kerberos estática para o Oracle DB no Oracle JVM

A autorização usando os credenciais kerberos estáticos numa fonte de dados do Oracle DB no Oracle JVM foi adicionada. Perceba que a versão 11.2.0.3 ou mais nova do Oracle DB driver é requerida, além da habilitação do cache do security domain.

A autorização com os credenciais do Kerberos estático ao SQLServer no Oracle JVM

A autorização usando os credenciais Kerberos estáticos numa fonte de dados do Microsoft SQL Server foi adicionada. Perceba que este recurso é apenas suportado para conexões sem XA.

Adição de suporte na senha externa do keystore para implementação do PicketBoxVault

O recurso Vault suporta agora a opção de possuir uma senha keystore fornecida através de um comando externo ou uma classe personalizada.

Adição da opção "remover entrada vault" à ferramenta vault

A ferramenta Vault CLI foi aperfeiçoada com a adição da habilidade de remover um valor com store no vault.

Uso do aviso -secmgr para a configuração do Java Security Manager

A execução do JBoss EAP com o Java Security Manager está agora habilitada tanto pela adição do parâmetro -secmgr no início do script ou pela habilitação da opção SECMGR="true" no arquivo de configuração. A habilitação do Java Security Manager com a propriedade de sistema do Java -Djava.security.manager não é mais viável. Como resultado desta alteração, os gerenciadores de segurança personalizados não podem ser usados. A iniciação do JBoss EAP com um gerenciador de segurança personalizado irá resultar na saída do JBoss EAP com um código de saída sem zero no início. Consulte o Guia de Segurança para maiores informações sobre as alterações requeridas para habilitação do Java Security Manager.

Configurações suportadas
Oracle JDK 8

O Oracle Java Platform, Standard Edition 1.8 (JDK 8) foi adicionado à lista de configurações suportadas.

IBM JDK 8

O IBM JDK 8 foi adicionado à lista de configurações suportadas.

DBMS

O seguinte DBMS foi certificado e agora é inteiramente suportado:

  • Enterprise DB Postgres Plus Advanced Server 9.3
  • MySQL 5.7
  • IBM DB2 10.5
  • Microsoft SQL Server 2014
  • PostgreSql 9.3

Entrega mod_snmp para versões RHEL testadas no PPC

O módulo Simple Network Management Protocol (SNMP) mod_snmp é agora suportado no PowerPC64 Architecture executando o Red Hat Enterprise Linux 6 e Red Hat Enterprise Linux 7.

WebSockets 1.0
O protocolo WebSocket 1.0 fornece duas formas de comunicação entre os clientes e servidores da web. As comunicações entre os clientes e servidor são baseadas no evento, permitindo um processamento rápido e largura de banda menor quando comparada com os métodos baseados no polling.
A implementação do JBoss EAP 6.4 WebSocket fornece suporte de injeção com total dependência para os pontos de extremidade do servidor, no entanto, isto não fornece os serviços para pontos de extremidade do cliente. O suporte CDI é limitado ao que é requerido pela plataforma EE6, e como resultado, os recursos do EE7, tais como interceptores nos pontos de extremidade, não são suportados.

2.2. Aprimoramentos

Installer

BZ#1169462 - Installer should look automatically look for variables file during automated installs
No JBoss EAP 6.4, o installer agora automaticamente busca por aquivo de variáveis durante a instalação.
O isntaller busca pelo arquivo .variables apenas se uma instalação automatizada está sendo executada e nenhuma variável é passada através das tags -variables ou -variablefile.
O installer irá buscar na localização do arquivo auto.xml primeiramente. Caso nada seja encontrado, isto irá buscar no diretório de trabalho atual pelo usuário.
Caso o usuário especificar um arquivo auto.xml remoto, o installer irá apenas buscar pelo arquivo .variables no diretório de trabalho atual do usuário.
O arquivo .variables será também apenas detectado caso ele siga esta convenção de nomeação; <NAME_OF_AUTO.xml>.variable.

Gerenciador de Segurança

BZ#1168973 - JTS participants are not showing up in the tooling

Este lançamento do JBoss EAP 6 contém um aprimoramento ao componente do Gerenciador de Segurança. Anteriormente, nem todos os participantes apareciam no visualizador de log.

Agora, os seguintes tipos de participantes serão apresentados:
  • AssumedCompleteHeuristicTransaction
  • AssumedCompleteHeuristicServerTransaction
  • AssumedCompleteTransaction
  • AssumedCompleteServerTransaction

2.3. Recursos fornecidos apenas na Prévia de Tecnologia

Foram averiguados erros nas seguintes configurações e recursos e eles são fornecidos como prévia da tecnologia apenas. Eles não são suportados num ambiente de produção.
WS-Trust/STS com JBoss Web Services
Os Serviços do JBoss Web são expostos com as capacidade do WS-Trust/STS a partir da implementação CXF.
Apache CXF 2.7.13 changes SAML/WS-Trust
O Security Token Service (STS - Serviço de Token de Segurança) valida agora os tokens ActAs também, sendo que isto validava OnBehalfOf tokens apenas. Consequentemente, o nome do usuário/senha precisam ser especificados no UsernameToken que é fornecido como token ActAs.
Os SAML Bearer tokens precisam agora possuir uma assinatura interna. Além disso, o org.apache.ws.security.validate.SamlAssertionValidator possui um método setRequireBearerSignature para habilitar/desabilitar esta verificação da assinatura.
Adição e Remoção de Módulos com o JBoss CLI
O CLI oferece novos comandos para adicionar e remover módulos.
A Validação RestEasy com o Validador Hibernate
O RestEasy inclui agora um provedor de validação para suportar o Validador Hibernate gerado com o JBoss EAP 6.
Multi-JSF
Este recurso habilita o usuário a substituir a implementação JSF fornecida com o JBoss EAP 6 com a implementação JSF suprida pelo usuário.
mod_jk e IPv6
A versão mod_jk foi atualizada. Esta nova versão contém suporte para o IPv6, porém este recurso não foi inteiramente testado.

3. Problemas Conhecidos e Solucionados

3.1. Problemas Solucionados

Patching

BZ#1110117 - Querying patching MBeans during shutdown results in IllegalStateException

Uma tentativa de enfileirar o status do patch de uma instância do JBoss EAP poderia resultar num erro IllegalStateException sendo lançado. A causa principal deste erro era que o InstallationManagerService não estava disponível uma vez que isto já havia sendo encerrado. Este problema foi agora resolvido pela checagem inicial se o InstallationManagerService está disponível, e neste caso, a consulta procede.

EJB

BZ#1172856 - Server side EJB Handler not compression response
Quando usando a compactação nas versões anteriores do JBoss EAP 6, o cliente enviava uma solicitação compactada, porém o servidor enviava uma resposta não compactada, mesmo se isto estivesse configurado à retornar uma resposta compactada.
Neste lançamento, o servidor irá responder com uma resposta compactada, conforme deveria inicialmente.
BZ#1118432 - java.util.concurrent.RejectedExecutionException if a remote-naming InitialContext should be closed
Caso a nomeação remota for usada para busca de um EJB, isto cria um contexto ejb-client. Caso o objetivo do contexto de nomeação remoto estivesse encerrado quando concluído, o cliente registrava o erro apresentado abaixo, uma vez que o contexto ejb-client já estava encerrado e ocorria uma nova tentativa. A causa deste problema foi resolvida pela checagem do contexto ejb-client antes de ser encerrado.
ERROR [org.jboss.remoting.handler-errors] Close handler threw an exception: java.util.concurrent.RejectedExecutionException (O manuseador encerrado lançou uma exeção: java.util.concurrent.RejectedExecutionException)
BZ#1156620 - Memory leak on undeploy & too many channels caused by ejb client not disassociating
Este lançamento do JBoss EAP 6 corrige o vazamento de memória causado por um aplicativo implantado que usa o jboss-ejb-client.xml para configurar conexões dos clientes EJB.
Esta correção resolve outro problema onde o contexto com escopo era usado e diversos canais aconteciam (como resultado, os canais não eram encerrados até que todos os canais de um host gerado fossem encerrados). O canal é agora encerrado quando o Context.close() é chamado, mesmo se outros canais forem abertos no mesmo host.
BZ#1088463 - If large parameters are given to an EJB method invocation the client show a EJBCLIENT000032 Exception - the OutOfMemoryError is swallowed

Nas versões anteriores do JBoss EAP 6, quando um valor grande passava num parâmetro para uma invocação EJB, o canal travava e um erro de falta de memória não era exibido no servidor. No ejb-cliente, uma exceção é exibida indicando que o erro ocorria durante o unmarshalling de alguns parâmetros com uma possível causa OOM. Este problema está corrigido na versão atual do JBoss EAP 6. Quando um valor grande é passado a um parâmetro para a invocação EJB, uma exceção de falta de memória é exibida no servidor e uma dica é exibida no lado do cliente.

CDI/Weld

BZ#1159570 - CDI injected topic does not work
Nas versões anteriores do JBoss EAP 6, a injeção de um JMS Topic num CDI bean falhava com o seguinte erro:
javax.jms.InvalidDestinationException: Not a HornetQ Destination:HornetQTopic[EventTopic]

   @javax.inject.Inject 
   private javax.jms.Topic topic
Neste lançamento, a injeção sucede sem qualquer erro.
BZ#1166133 - Bean proxy class has non-varargs method for original varargs method

Nas versões anteriores do EAP, os métodos varargs eram incorretamente representados no bean proxies como métodos sem varargs com um argumento array. Isto levou a problemas nos frameworks que dependiam na reflexão.

O problema foi resolvido pela adição de um aviso vararg ausente no bytecode do método com proxy. Como resultado, os métodos vararg são representados corretamente no bean proxies.
BZ#1146853 - Proxy naming conflict when using static nested classes with the same name and package

Nas versões anteriores do EAP, caso duas classes aninhadas com nomes iguais embutidas por classes diferentes fossem usadas como beans, o Weld gerava proxies com nomes de classes iguais para ambos os beans e o ClassCastException era lançado quando tais beans fossem usados.

Isto foi resolvido pela correção do procedimento de geração do nome de classe para incluir o nome da classe embutida. Agora duas classes aninhadas estáticas podem possuir o nome de classe simples, mesmo que embutidas por duas classes diferentes no mesmo pacote.
BZ#1054876 - Proxy creation fails when a superclass does not have a no-arg constructor

As versões anteriores do JBoss EAP incluídas numa implementação do Weld que desempenhava uma checagem restrita desnecessária nos construtores de todas as superclasses que possuem construtores sem argumento público.

Este problema foi resolvido neste lançamento. Agora, apenas o proxy do próprio bean é checado e não todos os super tipos.
BZ#1149644 - CDI Interceptor cannot inject EJB session context.

Nas versões anteriores do JBoss EAP havia uma omissão no código de integração Weld como um resultado que não era possível injetar um contexto de sessão EJB no interceptor CDI.

Isto foi corrigido no código de integração pelo fornecimento de localização própria do EJBContext JNDI para pontos de injeção a todos os contextos EJB.
BZ#1138192 - Package-private members not working on CDI beans in static modules

Nas versões anteriores do JBoss EAP havia uma otimização no código de integração do Weld que levava a um IllegalAccessException a ser lançado quando qualquer bean com escopo normal de um módulo estático, que declarava um construtor sem argumento de pacote privado, era injetado num bean a partir de uma implantação.

Isto foi corrigido pela limitação da otimização e uso de um ClassLoader do módulo estático para proxies de classes originando a partir de um módulo estático gerado.

O IllegalAccessException não é mais lançado para beans com os construtores de pacote privado nos módulos estáticos.
BZ#1086555 - Weld - Specialization of generic beans throws inappropriate exception

Num lançamento anterior do JBoss EAP 6, a determinação da especialização de um bean genérico resultava num DefinitionException sendo lançado.

Este comportamento não era intencionado e foi então endereçado neste lançamento. A determinação de um bean genérico opera agora conforme o esperado.

Gerenciamento do Domain

BZ#1111575 - subnet-match is does not respect 'value' attribute

As versões anteriores do JBoss EAP 6 possuíam uma bug que prevenia o subnet-match respeitar o atributo value.

Neste lançamento do produto, o problema foi resolvido e o atributo value funciona conforme o esperado.
BZ#1159709 - IO error during deployment scanning triggers undeployment

Nas versões do JBoss EAP 6, o método FileSystemDeploymentService.scanDirectory() tratava o valor de retorno nulo do File.listFiles() como uma lista vazia ao invés de um erro.

Como resultado, os erros IO ocorrendo durante o escaneamento da implantação poderiam levar ao trigger da desimplantação dos aplicativos.

Este problema foi endereçado, sendo que neste lançamento do produto os aplicativos implantados não são mais desimplantados se o limite do arquivo for alcançado.
BZ#1133328 - Runtime updates to outbound LDAP connections not performed on host controller.

Os manuseadores da operação do gerenciamento do domain do JBoss EAP 6 podem especificar se uma atualização do período de execução deve ser executada como resultado ao modelo. Nas versões anteriores, o manuseador da operação apenas solicitava atualizações do período de execução para as definições da conexão LDAP de saída, caso estivesse executando num processo do servidor.

Como resultado, as alterações realizadas às conexões LDAP de saída com um processo do host controller não levavam às atualizações do período de execução imediato para aquele processo.

Neste lançamento do produto, a operação afetada solicita que as atualizações do período de execução sejam aplicadas em todos os tipos de processos e as alterações realizadas às conexões são refletidas imediatamente para ambos processos do servidor do aplicativo e processes sem o servidor do aplicativo.
BZ#1148565 - Management HTTP server closing idle connections prematurely.

O servidor HTTP do gerenciamento do JBoss EAP contém um manuseador de intervalo que é intencionado a encerrar as conexões ociosas após 5 minutos.

Nas versões anteriores do produto, o intervalo encerrava as conexões após 30 segundos. Quaisquer sessões SSL ativas eram encerradas também como efeito da conexão sendo encerrada. Quando o navegador da web do cliente reconectava a uma invocação subsequente, uma sessão SSL nova precisava ser criada.

Neste lançamento do produto, o intervalo da conexão ociosa é determinado corretamente para 5 minutos.

A iniciação de encerramento de conexões live pelo navegador da web pode agora ocorrer como intencionado, deixando quaisquer sessões SSL subjacentes intactas e permitindo que o navegador da web encerre sua sessão anterior a próxima vez que ocorrer uma conexão.
BZ#1106393 - Managed server shutdown unexpectedly when timeout during connection request to HC

Nas versões anteriores do JBoss EAP 6, a conexão do servidor gerenciado ao próprio Host Controller falhava e fazia apenas uma única nova tentativa de reconexão.

Isto poderia levar o produto a encerrar inesperadamente caso a reconexão tenha falhado.

Neste lançamento, as conexões ao Host Controller são tentadas novamente indefinitivamente. As instâncias do servidor não encerram mais devido à perda de conexão ao Host Controller.
BZ#1105677 - Nonexistent ldap group causes authentication to fail in security-realm

Nas versões anteriores do JBoss EAP 6, um usuário contendo uma referência a um grupo não existente retornava uma falha na autenticação enquanto desempenhando as buscas principal-to-group do LDAP para carregar a informação de associado do grupo do usuário. A autenticação do usuário era anulada.

No JBoss EAP 6.4, este problema foi corrigido pela definição de um atributo skip-missing-groups como "verdadeiro" na configuração principal-to-group, que permite grupos ausentes a serem ignorados.
BZ#1073866 - Adding server-identity=ssl to SecurityRealm throws NPE in 6.3.0.DR2

Nas versões anteriores do JBoss EAP 6, as atualizações do período de execução retornavam um NullPointerException à lista de serviços sendo adicionadas, portanto dificultando bastante a inversão de serviços, quando necessária.

No JBoss EAP 6.4, este erro está corrigido e as referências da lista de serviços é fornecida às atualizações do período de execução.
BZ#1151434 - The outbound-connections element doesn't validate against XSD after removing connection

Com o modo de gerenciamento, quando a nova conexão LDAP de saída é definida, um recurso é instanciado para manter as conexões ldap filhos.

Nas versões anteriores do JBoss EAP 6, este recurso não era removido após a última conexão filho ter sido removida.

Este comportamento era encontrado uma vez que o XML marshalling via as conexões ldap de saída no modelo como sendo definidas e portanto gravava o elemento <outbound-connections> para contê-las. Uma vez que não há conexões no modelo, este elemento continua vazio, sendo que isto é válido de acordo com o esquema.

Nota: O pesquisador é tolerante a isto e não previne uma iniciação do servidor subsequente.

Neste lançamento do produto, o recurso é removido uma vez que o último filho tenha sido removido e o pesquisador agora pode observar que não existem conexões de saída definidas, de forma que um elemento <outbound-connections> vazio não é mais gravado.
BZ#908236 - Defining a secure socket for http management without a security realm results in a NullPointerException

Nas versões anteriores do JBoss EAP 6, a validação do modelo não era executada para garantir que a interface de gerenciamento HTTP configurada à habilitar o SSl, também referenciasse um realm de segurança para obter o próprio SSLContext.

O SecurityRealm era nulo sem a validação, o que levava a um NullPointerException.

Neste lançamento, as atualizações do período são aplicadas ao modelo de gerenciamento e as checagens adicionais são executadas para garantir que um realm de segurança é associado com a interface de gerenciamento HTTP.

Caso um usuário tentar definir uma interface de gerenciamento HTTP com o SSL, porém sem um SecurityRealm, uma mensagem de erro é relatada ao invés de NullPointerException.
BZ#1129400 - Unable to create resource-adapter using HTTP management interface

Nas versões anteriores do JBoss EAP 6, a lógica na operação para adição do recurso resource-adapter solicitava que o endereço de destino fosse representado com uma lista de elementos do DMR ModelType.PROPERTY.

Isto significava que os clientes baseados no HTTP usando o JSON não poderiam criar operações confiáveis usando o formato esperado (a representação do elemento $PROPERT na sintaxe JSON pode ser problemática).

Neste lançamento do JBoss EAP 6, o manuseador da operação add resource-adapter foi atualizado para uso do código de pesquisa do endereço padrão, que é mais flexível às diferenças de formatação. Como resultado, as operações que adicionam o resource-adapter usando a interface HTTP e JSON, similares à amostra acima, são agora concluídas com êxito conforme o esperado.
BZ#1133961 - XML parsing mandating the 'force' attribute on username-to-dn even though it has a default value.

No JBoss EAP 6, onde o elemento username-to-dn é definido para a autorização LDAP baseada na autorização com realms de segurança, o esquema descreve um atributo opcional: force.

Nas versões anteriores do produto, era obrigatório um pesquisador implementado para assumir este atributo.

Isto levava à rejeição das configurações que eram validadas de acordo com o esquema pelo pesquisador, caso um atributo fosse omitido.

Neste lançamento, o pesquisador foi atualizado para refletir o fato de que o atributo é opcional e as configurações que omitiam o atributo force serão agora corretamente pesquisadas pelo pesquisador.
BZ#1052821 - Unnecessary DNS lookup when accessing web console with https

Caso um cliente conecte-se ao servidor e a sessão SSL for iniciada, haverá uma tentativa de resolver o nome do host do cliente. Caso o nome do cliente for um endereço, isto envolve uma tentativa da pesquisa DNS para descoberta do nome. Isto levava a um impacto de desempenho em toda a conexão de um cliente remoto enquanto a pesquisa DNS é executada. Além disso, caso o servidor DNS estiver indisponível, isto pode introduzir uma longa espera.

Este problema foi corrigido no JBoss EAP 6.4. A pesquisa DN foi agora eliminada do servidor quando um cliente tenta conectar e estabelecer uma sessão SSL.

Gerenciador de Segurança

BZ#1162882 - JBTM-2188 - Some code that writes to the file store is missing PrivilidgedAction blocks
Nas versões anteriores do JBoss EAP 6, caso um Security Manager fosse habilitado, o Narayana Gerenciador de Segurança não poderia ter permissão de leitura ou gravação a partir dos arquivos do store do objeto gerenciados pela classe FileSystemStore.
Isto ocorria uma vez que o security manager era usado, sendo que o código possui permissões de acesso ao sistema do arquivo. Este processo verifica a corrente de chamada do método inteiro, significando que existe uma chance de que algumas classes não possuem permissão de acesso ao filesystem.
A correção implementada neste lançamento é o acesso ao sistema de arquivo como uma entidade priveligiada (AccessController.doPrivileged()). Isto reduz a pilha às classes que o security manager reconhece como privilegiada para possuir acesso ao sistema de arquivo.
BZ#1133346 - XA Recovery scans can stall JBoss startup

No JBoss EAP 6, a recuperação da transação opera apenas solicitando aos recursos por suas opiniões sobre as ramificações da transação incertas usando o "RecoveryHelpers" fornecido por outros subsistemas. Quando a implantação registra um desses auxiliares, um bloqueio é gerado. O mesmo bloqueio é adquirido quando recuperando um recurso.

Caso o recurso estiver lento para iniciar uma solicitação de recuperação, a implantação do subsistema (que está a espera de um bloqueio) é igualmente lenta.

Neste lançamento, a contenção no bloqueio está desfeita e os subsistemas implantam conforme o esperado.
BZ#1113225 - CMR: TX log does not show participants after crash.

Nas versões anteriores do JBoss EAP 6, as ferramentas para leitura dos logs da transação não expuseram gravações do CMR.

Este problema foi endereçado neste lançamento.
BZ#1077156 - Not possible to start XTS transaction on IPv6 with server bound to ::1

Nas versões anteriores do JBoss EAP 6, não era possível iniciar uma transação XST no IPv6 com o limite do servidor para o endereço ::1. Isto era devido a esta parte do endereço estar entre colchetes: [::1].

Este problema foi resolvido pela divisão do URL em seções discretas e inserção de colchetes, sendo que isto é passado ao XTS core, conforme solicitado antes.

Perceba que se você estiver usando a opção -b num comentário CLI, recomendamos que a porção do endereço do URL não esteja entre colchetes, uma vez que isto é contrário à especificação e irá prevenir a iniciação dos Webservices.
BZ#1032641 - IllegalStateException from periodic recovery when server is reloaded with XA datasource being defined

As versões anteriores do JBoss EAP 6 poderiam encontrar um IllegalStateException durante algumas operações de recuperação da transação.

O sistema de recuperação da transação opera pelo enfileiramento de recursos para a própria visualização das ramificações da transação 'incerta'. Isto usa um "RecoveryHelper" que o JCA registra para atingir este objetivo.

Quando um recurso é removido do sistema, o RecoveryHelper é excluído. Nas versões anteriores do produto, havia uma condição de disputa no código, sendo que se uma remoção ocorresse durante um "recovery scan", o auxiliar não era removido.

Isto resultava na possibilidade de que a recuperação da transação continuasse usando os recursos, mesmo que eles fossem removidos do servidor (que poderia produzir o IllegalStateExceptions).

Neste lançamento, caso o scan da recuperação atual estiver usando o recurso, isto espera pela finalização e então remove o auxiliar.
BZ#1124861 - Issue with issue recovering AA with CMR, recovers OK but via orphan detection

Nas versões anteriores do JBoss EAP 6, caso um servidor falhasse durante uma transação XA, o recurso XA nem sempre revertia imediatamente.

Este problema foi corrigido por uma atualização do org.jboss.jbossts. As transações são agora revertidas e os logs são excluídos conforme o esperado.
BZ#900289 - Domain management API does not expose JTS orphans from the transaction object store

O subsistema da transação contida no JBoss EAP 6 mantém um log das transações pendentes. Este log é exposto ao usuário do console.

Em alguns casos, um recurso possui um log de ramificações de transações incertas das quais não há log de transação de nível superior correspondente (porém no disco existe um log de participante). Tais logs são chamados "órfãos" e por default eles não foram expostos nas versões anteriores.

Como resultado, caso o subsistema da transação fosse configurado para uso do JTS, essas gravações órfãs não eram automaticamente removidas resultando num vazamento de espaço de storage disponível.

Neste lançamento, o usuário do console pode substituir o default pela configuração do expose-all-logs da propriedade do subsistema da transação para true. Então, o usuário do console tem a opção de excluir manualmente esses logs, prevenindo o esvaziamento.

JMX

BZ#1113242 - RemotingConnector & VersionedConectionFactory need configurable connection, channel & versioned connection timeouts

As versões anteriores do JBoss EAP 6 continham diversos intervalos JMX codificados. Neste lançamento do produto, esses intervalos podem agora ser configurados através de uma propriedade de sistemas ou propriedades passadas quando criando o JMXConnectorFactory: JMXConnectorFactory.connect(serviceURL, environment);

A ordem de prioridade dessas configurações é a seguinte:
  1. O default é 30 segundos.
  2. A propriedade Env map substitui o default.
  3. A propriedade de sistema substitui os valores passados ao env map.

Ordem de especificação:

Propriedades de intervalo específicas:
  1. Intervalo do canal: org.jboss.remoting-jmx.timeout.channel
  2. Intervalo da conexão: org.jboss.remoting-jmx.timeout.connection
  3. Intervalo da versão versionada: org.jboss.remoting-jmx.timeout.versioned.connection

Caso a propriedade org.jboss.remoting-jmx.timeout for determinada e a propriedade específica não for determinada, o valor genérico será usado ao invés do default.
BZ#1185118 - random NPE in RootResourceIterator
Nas versões anteriores do JBoss EAP 6, a lógica na faxada que expõe os recursos de gerenciamento como JMX MBeans fez uma leitura de duplicata desnecessária dos recursos filhos. Era possível para a segunda leitura retornar um filho nulo caso o recurso fosse dinâmico e pudesse ser removido devido à ação sem gerenciamento (por exemplo: um recurso para uma fila JMS temporária adicionada ou removida pelo aplicativo).
Como resultado, a chamada dos métodos do servidor JMX remoto tais como getMBeanCount() por clientes remotos poderia intermitente levar a NullPointerExceptions aleatórios com uma mensagem de log parecida à seguinte:
[0m[33m18:38:11,612 WARN [org.jboss.remotingjmx.protocol.v2.ServerCommon] (pool-2-thread-12) Unexpected internal error: java.lang.NullPointerException
				  at org.jboss.as.jmx.model.RootResourceIterator.doIterate(RootResourceIterator.java:49)
Neste lançamento do produto, a leitura duplicada de recursos filhos foi removida, com o valor da leitura inicial usada (que nunca será 'null'). Isto garante que o NullPointerExceptions não ocorra mais.

Remoto

BZ#1126489 - Marshalling fails on objects that require permissions in their readObject

Com o gerenciador do Java Security habilitado, o java.security.AccessControlException foi lançado quando um objeto java.util.Calendar era passado como um argumento ou resposta de um método EJB, mesmo quando a política de segurança do java que fornece as permissões necessárias. Este problema foi corrigido neste lançamento. A exceção não é mais lançada e a chamada do marshalling e EJB ocorrem com êxito.
BZ#1161430 - JBoss Marshalling NullPointerException occurs when object being cloned has writeObject

O JBoss Marshalling NullPointerException usado para ocorrer quando um objeto está sendo clonado possui writeObject. Este problema foi corrigido neste lançamento.
BZ#1153281 - Excessive logging when a JMS message is received

O evento de log INFO era visto toda vez que uma mensagem era enviada ao servidor. Este problema foi corrigido neste lançamento.

Web Console

BZ#1107869 - Web Console errors out and ends the jbossas process completely
Quando o JTS é habilitado na seção `Transactions` do console de gerenciamento da web, é necessário determinar também `transactions` ao valor `on` no subsistema do JacORB.
Nas versões anteriores do JBoss EAP 6, o usuário não era notificado sobre esta dependência pelo console de gerenciamento.
O comportamento foi corrigido neste lançado pela adição de uma checagem de validação para o console.
BZ#1026823 - Provide a reliable way to clear "ROLE" headers set by "Run as" dialog

Nas versões anteriores do JBoss EAP 6, foi encontrado que quando um SuperUsuário agia em nome de outro usuário (com o link Executar como…​), sua própria função não era novamente determinada após a ação ser realizada.

Este problema foi endereçado e os usuários não precisam mais encerrar a janela do navegador e acessar novamente o Web Console para que as funções sejam novamente determinadas.
BZ#1017655 - Web services configuration validation errors

Nas versões anteriores do JBoss EAP 6, os valores inválidos WSDL Host, WSDL Port e WSDL Secure Port sob Profiles > Web > Web Services não eram rejeitados pelo console da web.

Este problema foi resolvido neste lançamento que honra as regras de validação a partir do modelo de gerenciamento. Os valores incorretos não são mais salvos.
BZ#1029851 - management console - even after cancel the process to upload a deployment file, the content is added to data directory

Um problema presente nos lançamentos anteriores do JBoss EAP 6 que levava o carregamento dos arquivos da tela do Management Deployments a completar, mesmo quando o carregamento era cancelado pelo usuário, foi corrigido neste lançamento.

Este problema estava presente uma vez que as versões anteriores do produto permitiam que usuários cancelassem a operação de carregamento do arquivo após uma cópia do arquivo ter ocorrido, porém antes da entrada da implantação ter sido adicionada ao domain.xml.

Neste lançamento do produto, o fluxo de trabalho do console foi novamente modelado para remover a opção de cancelamento durante a operação, prevenindo que operações incompletas e estados inconsistentes entre os arquivos salvos e entradas <deployment> no domain.xml.

HornetQ

BZ#1165456 - HornetQ: Disallow SSLv3 [defense-in-depth]

Neste lançamento do JBoss EAP 6, o SSLv3 foi desabilitado devido à vulnerabilidade POODLE descoberta recentemente. Maiores informações sobre o POODLE podem ser encontradas nos tópicos de segurança do Oracle: http://www.oracle.com/technetwork/topics/security/poodlecve-2014-3566-2339408.html

Servidor

BZ#1110635 - Deployment overlay feature does not work if a leading / is present on the overlay path

Nas versões anteriores do JBoss EAP 6, a adição de uma sobreposição de implantação préfixada com um '/' não funcionava.

No JBoss EAP 6.4, isto foi corrigido. O deployment-overlay funciona com ou sem o entrelinhamento '/'
deployment-overlay add --name=example-overlay --content=/lib/example.jar=eap6-overlay-example.jar --deployments=example.ear

Serviços da Web

BZ#1157482 - EJB3 Web Service returns Invalid User on parallel invocations

O EJB3 Web Service usando o token do nome do usuário para autenticação falharia caso fosse carregado com invocações paralelas. Caso o EJB3 Web Service estivesse usando o token do nome do usuário para autenticação, isto falharia em invocações paralelas. Este problema foi corrigido neste lançamento.
BZ#1115214 - CXF-5679, CXF-5724 - WS-S after upgrade fails with org.apache.ws.security.WSSecurityException: The signature or decryption was invalid

As versões anteriores do JBoss EAP 6 possuíam uma regressão que foi introduzida no Apache CXF 2.7.10, a qual falhava com o erro:
org.apache.ws.security.WSSecurityException: A assinatura ou descrição estava inválida

Este problema foi resolvido e a verificação da assinatura das mensagens do WS-Security SOAP são executadas corretamente.
BZ#1121223 - Ensure EncryptedKey references BinarySecurityToken before it

Nos lançamentos anteriores do JBoss EAP 6, o CXF posicionava o BinarySecurityToken referenciado pelo elemento EncryptedKey após o elemento EncryptedKey, quando o WSS timestamp não estava incluso na mensagem SOAP.

Isto poderia levar aos recipientes, que esperavam o BinarySecurityToken referenciados pelo EncryptedKey a estarem acima do elemento EncryptedKey, à falha. Isto é devido a eles não processarem o BinarySecurityToken em sua tentativa de busca enquanto processando o elemento EncryptedKey.

Este problema foi resolvido apenas movendo o BinarySecurityToken acima da mensagem SOAP. Agora, os elementos EncryptedKey sempre referenciam BinarySecurityTokens que já foram encontrados enquanto pesquisando a mensagem SOAP.
BZ#1155490 - Memory leak in JBoss WS CXF Client's HandlerChainSortInterceptor

Caso o cliente JAX-WS fosse implementado com um manuseador JAX-WS, na invocação do método da porta do serviço indefinitivamente, isto resultaria num vazamento de memória. Este problema foi resolvido neste lançamento.

EE

BZ#1029260 - Cannot use a ear-subdeployments-isolated attribute setting with a jboss-deployment-structure.xml

Caso você configure o atributo ear-subdeployments-isolated com o jboss-deployment-structure.xml e o posicione sob o diretório <EAR>/META-INF, o aviso de isolamento era substituído pela configuração do subsistema.

No JBoss EAP 6.4, este problema foi corrigido. A ordem do processamento foi atualizada.

JPA

BZ#1131711 - HttpManagementService-threads consumes high cpu on org.jboss.as.jpa.hibernate4.management.QueryName.displayable()

Nas versões anteriores do JBoss EAP 6, o HttpManagementService-threads no org.jboss.as.jpa.hibernate4.management.QueryName.displayable() deixava a memória lenta devido ao alto uso da CPU. Isto ocorria devido a múltiplas chamada ao String.replace(). Este problema foi corrigido na versão atual do JBoss EAP 6.
BZ#1114726 - JPA entity class enhancement may not work for sub-deployments when other sub-deployments reference the entity classes

Nas versões anteriores o JBoss EAP 6, as classes de entidade nos aplicativos do usuário, que espera-se serem regravadas pelo provedor persistente durante a implantação do aplicativo, podem não ser regravadas. Devido a isto, quando as sub-implantações forem implantadas em paralelo e houver referências às classes de entidade em outras sub-implantações acima da implantação, que contém a unidade de persistência, a definição da classe de entidade é carregada antes de ser regravada pelo provedor persistente. Portanto, isto afeta o desempenho. Este problema foi corrigido na versão atual do JBoss EAP 6.

JMS

BZ#1070106 - Generic JMS adapter does not deploy correctly in domain mode.

Nas versões anteriores do JBoss EAP 6, a informação contextual não foi corretamente verificada durante a operação adicionar. Como resultado, o adaptador JMS genérico foi implantado corretamente no modo domain. Este problema foi corrigido na versão atual do JBoss EAP 6. O adaptador JMS genérico pode agora ser implantado no modo domain.

JCA,JMX

BZ#1150821 - JMX Datasource pool & jdbc statistics disappear if you enable validation

Nas versões anteriores do JBoss EAP 6, o pool do JMX Datasource e as estatísticas do jdbc podem desaparecer caso a validação fosse habilitada. Isto era devido a uma referência à parte do modelo de recurso ter sido mantida, que torna-se inválida caso o modelo seja modificado. Este problema foi corrigido na versão atual do JBoss EAP 6. A referência à parte do modelo do recurso não é mais mantida nas operações.

Resultado: As estatísticas do DataSource não desaparecem mais.

Logging

BZ#1096053 - SyslogHandler doesn't handle multi-byte characters correctly

Nas versões anteriores do JBoss EAP 6, o uso do org.jboss.logmanager.handlers.SyslogHandler para caracteres de bites múltiplos poderia resultar num resultado gravado no log. Por exemplo:
Mar 8 17:29:09 UNKNOWN_HOSTNAME java[9896]: SyslogHandler: ????????????

Este problema foi resolvido neste lançamento e agora os caracteres são resultados ao log, conforme o esperado.
BZ#1031448 - logging-profile works for a servlet, but doesn't for a JSP

Nas versões anteriores do JBoss EAP 6, os perfis de log funcionavam conforme o esperado para um servlet, mas isto não funcionava para um JSP. Todas as mensagens de um JSP foram ao contexto de log do sistema.

Este problema ocorria uma vez que o carregador de classe verificado era o org.apache.jasper.servlet.JasperLoader com um carregador de classe pais que era registrado a um contexto de log.

Este problema foi resolvido pela adição de uma opção ao gerenciador de log a uma verificação recursiva dos pais do carregador de classe para um LogContext.
BZ#1071695 - Infinite recursion when exception stack frame class lookup fails

O JBoss LogManager quando configurado com o formatador %E, emite onde as classes jar originam. Caso haja um problema no carregamento de classe, o JBoss Modules emite um aviso. Em alguns casos, o formatador de exceção irá ativar o trigger da recursão infinita entre o gerenciador de log carregando uma classe e os módulos emitindo um aviso.

Este problema foi corrigido no JBoss EAP 6.4. A situação não ativa mais o trigger de recursão infinita e o log.

Carregamento de Classe

BZ#1155823 - Package certificate SecurityErrors triggered by MODULES-192

Nas versões anteriores do JBoss EAP 6, o JarFileResourceLoader tentava recuperar os certificados antes de supostamente realizar isto após a leitura do fluxo da classe, que resulta nos certificados não sendo carregados.

Isto levaria um SecurityError a ocorrer quando as classes assinadas fossem carregadas simultaneamente por threads múltiplos.

Neste lançamento, o JarFileResourceLoader recupera os certificados após leitura do fluxo da classe e o SecurityError não ocorre mais.
BZ#1172577 - Include additional sun.jdk dependencies
Nas versões anteriores do JBoss EAP 6, algumas classes no JDK não eram expostas ao aplicativo através do sun.jdk, o que deveria ocorrer quando usando o JDK javax.sql.rowset.RowSetProvider e java.lang.invoke.MethodHandleProxies, além de depender do módulo sun.jdk.
Neste lançamento, os aplicativos encontrarão as classes nestes pacotes visíveis quando dependendo no módulo sun.jdk:
  • com.sun.rowset
  • com.sun.rowset.providers
  • sun.invoke

Domain Management,Security

BZ#1150024 - HeaderParser fails to handle delimiters in DigestAuthenticator

As versões anteriores do JBoss EAP 6 possuíam uma bug no autenticador Digest que levava ao manuseamento incorreto dos delimitadores escape com valores contidos no cabeçalho de autenticação.

Adicionalmente, a utilidade add-user não aplicava corretamente o escape aos nomes do usuários que continham o caractere 'barra' (\).

Como resultado, as solicitações da autenticação válida eram incorretamente rejeitadas.

Neste lançamento, a pesquisa dos cabeçalhos foi retrabalhada com o mecanismo de autenticação Digest e a utilidade add-user aplica o escape adequadamente do caractere 'barra' em nomes de usuários, permitindo que a autenticação ocorra conforme o esperado.
BZ#1153854 - Management Interface: SSL configuration does not allow disabling protocols

Nas versões anteriores do JBoss EAP 6, foi detectado que enquanto era possível especificar o protocolo para solicitação quando criando o SSLContext na configuração dos realms de segurança para fornecerem um SSLContext, não era possível especificar os protocolos ou suítes com criptografia a serem suportadas no SSLEngine subjacente.

Isto significava que não era possível selecionar um conjunto potetente de protocolos e suítes com criptografia usadas para as conexões SSL.

Neste lançamento, os usuários estão aptos a especificar um conjunto de protocolos habilitados e suítes com criptografia com a definição de realm de segurança. Eles serão combinados em relação aos protocolos suportados e as suítes com criptografia para configuração do SSLEngine subjacente.

Além disso, os protocolos habilitados serão TLSv1, TLSv1.1 e TLSv1.2 por default, caso nenhuma configuração for especificada. O SSLv3 e versões anteriores não são mais habilitados por default, sendo que agora é possível que os protocolos e suítes com criptografia serem configurados.

Clustering

BZ#993041 - RuntimeException in org.jboss.as.web.session.ClusteredSession.access

Nas versões anteriores do JBoss EAP 6, quando uma sessão da web distribuída era acessada enquanto outro nó saía do cluster abruptamente, uma aquisição de bloqueio poderia falhar em algumas circunstâncias. Quando isto ocorria, resultava na seguinte exceção:
RuntimeException: JBAS018060: Exception acquiring ownership of <session-id>

A causa deste problema era que a aquisição de bloqueio não levava em conta que o nó do cluster deixasse sair do cluster exatamente no mesmo período, resultando na falha da aquisição do bloqueio.

O problema foi endereçado e a exceção não está mais presente.

Segurança

BZ#1150020 - add-user utility doesn't escape names correctly

A utilidade adicionar do usuário JBoss interage o valor sendo usado como uma chave no arquivo das propriedades e aplica o escape em todas as ocorrências de caracteres especiais.

Nas versões anteriores do produto, um erro de como os caracteres eram checados levava apenas à primeira instância do caractere 'igual' (=) a passar pelo escape. Caso um nome do usuário tivesse o caractere 'igual' subsequente, isto não aplicava o escape de forma apropriada, levando ao arquivo das propriedades geradas a ser inutilizável.

Neste lançamento, o manuseamento de caractere especial é agora corrigido para manusear todas as ocorrências do caractere e nomes do usuário do caractere 'igual' contendo mais de um caractere, são corretamente gravados ao arquivo da propriedade.
BZ#979369 - Different behaviors of HttpSession creation with programmatic login()

Nas versões anteriores do JBoss EAP 6, o comportamento da criação HttpSession difere de quando usado junto com o seguinte login programático:
  • Sem o SSO: a sessão não é criada enquanto chamando o método login(). Portanto, as solicitações subsequentes não são autenticadas.
  • Com o SSO sem cluster: a sessão é criada enquanto chamando o método login(), porém a primeira chamada não determina o status de autenticação. As solicitações subsequentes não são autenticadas e 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 com o método login() e as solicitações subsequente são autenticadas.
Este problema foi corrigido na versão atual do JBoss EAP 6. A classe org.apache.catalina.authenticator.AuthenticatorBase.ALWAYS_USE_SESSION não possui agora uma nova opção para sempre criar uma sessão.
BZ#949737 - Session replication broken by NegotiationAuthenticator valve

As versões anteriores do JBoss EAP 6 não incluíam uma opção para definir os mecanismos de autenticação global, como ocorria no JBoss EAP 5. Para superar esta limitação, era recomendado a adição da Válvula manualmente ao jboss-web.xml da implementação afetada, para habilitação da autenticação SPNEGO.

A consequência disto era devido à válvula ter sido invocada muito antes da chamada e precedia a responsabilidade de válvula ao clustering. Isto significava que a válvula do JBoss Negotition criava uma nova sessão HTTP e a válvula clustering não recebia quaisquer notificações referentes às sessões do ciclo de vida. Uma vez que a válvula de clustering não recebia a notificação, era necessário que a sessão não tivesse cluster e a replicação era afetada.

Este lançamento do JBoss EAP 6 suporta agora a definição dos mecanismos de autenticação globalmente. Esta abordagem substitui a adição manual da válvula ao jboss-web.xml do aplicativo da web.

A válvula de autenticação SPNEGO será agora chamada após a válvula com cluster, de forma que a válvula com cluster irá receber notificações solicitadas relacionadas ao ciclo de vida da sessão e irá replicar a sessão corretamente.

Domain Management,IPv6 support

BZ#1149612 - User is able to use any-ipv6-address interface on IPv4 environment

Na versão anterior do JBoss EAP 6, a lógica de checagem, e rejeição, para a combinação da configuração any-ipv6-address à interface e propriedade do sistema java.net.preferIPv4Stack=true era realizada quando instalando o serviço de interface da rede, ao invés de esperar até que o serviço fosse iniciado.

Como resultado, a checagem poderia executar nos processos do host controller que não precisavam do serviço da interface. Isto resultava em falhas falsas caso o processo do servidor, que na realidade usaria a configuração da interface, não tivesse o java.net.preferIPv4Stack=true configurado.

Neste lançamento, a checagem de consistência foi deferida até que o serviço da interface seja iniciado, garantindo que isto apenas ocorra se o serviço estiver em uso naquele processo.

No momento, o servidor, que não possui o java.net.preferIPv4Stack=true determinado, pode usar o any-ipv6-address na configuração de uma das interfaces, mesmo que o domain controller ou seu próprio host controller não possuir o java.net.preferIPv4Stack=true determinado.

mod_cluster

BZ#1083563 - Mod_cluster draining pending requests coud fail since deployments are missing dependency on mod_cluster service (seen on JDK8)

O subsistema mod_cluster esvaziava e isto poderia falhar as solicitações pendentes. Este problema foi corrigido neste lançamento.
BZ#1044879 - If "Balancer name includes" uppercase letter in name then mod_cluster will not maintain sticky sessions

Nas versões anteriores do JBoss EAP 6, o módulo modcluster não mantia as sessões sticky caso o nome do balanceador de carga incluísse letras maiúsculas.

Este problema foi corrigido neste lançamento pela realização da validação dos nomes confidenciais do balanceador de carga.

RESTEasy

BZ#1090487 - Resteasy secure processing to be turn on by default to apply entity expansion limit

Dois novos parâmetros RESTEasy foram criados para melhorar a segurança do processamento dos documentos org.w3c.dom.Document. Ambos são parâmetros context-param e configurados no arquivo de configuração web.xml do aplicativo.

Nome: resteasy.document.secure.processing.feature Default value: true Descrição: Impõe restrições de segurança no processamento dos documentos org.w3c.dom.Document e representações do objeto JAXB.

Nome: resteasy.document.secure.disableDTDs Default value: true Descrição: Proibe os DTDs nos documentos org.w3c.dom.Document e as representações do objeto JAXB.

Perceba que o Xerces 2.9.1.redhat-6 incluído no EAP 6.4.0 não suporta o limite dos atributos Max.
BZ#1088956 - MalformedByteSequenceException in Namespace test on Windows

Nas versões do lançamento do JBoss EAP 6, quando a codificação não era especificada no corpo de uma solicitação do cliente, o RESTeasy retornava uma resposta na codificação do servidor e não na codificação da solicitação original.

Este problema foi resolvido neste lançamento pela determinação do UTF-8 como codificação default, caso nenhuma codificação for solicitada pelo cliente.
BZ#899666 - RESTEasy: Empty cfg. param javax.ws.rs.Application produces exception

O componente RESTEasy de versões anteriores do JBoss EAP 6 editou um erro java.lang.StringIndexOutOfBoundsException: String index out of range: 0 quando a opção de configuração javax.ws.rs.Application no arquivo WEB-INF/web.xml ficava vazia.

O problema foi corrigido neste lançamento com a atualização do componente RESTeasy.

Installer

BZ#977805 - Starting JBoss Administration Console from start menu is not working on Solaris

Devido ao problema gvfs-open no Solaris, os atalhos do menu iniciar para o Administration Console no Solaris não funcionam numa instância do JBoss EAP 6 que foi instalada usando o installer.

A partir do JBoss EAP 6.4 e versões mais avançadas, os atalhos do menu de iniciação para o Administration Console não poderão ser criados para as instâncias do JBoss EAP 6 instaladas usando o installer no Solaris.

O Administration Console pode ser acessado diretamente no navegador da web. Caso configurado com as portas default, os URLs para o Administration Console podem ser: Para o modo autônomo: http://localhost:8080/console Para o modo domain: http://localhost:9990/console
BZ#1032892 - Unable to use tab filling for path starting with a drive letter on windows.
Nas versões anteriores do JBoss EAP 6, o preenchimento da tab para os caminhos do diretório que iniciavam com a letra drive não funcionava no installer do console do JBoss EAP 6 no Microsoft Windows Server.
Quando inserindo um caminho que inicia com a letra drive, por exemplo: `C:\` e pressionando a tecla +Tab+, nada era apresentado. Nesta situação, espera-se que isto apresente os conteúdos daquele diretório.
Este problema foi corrigido neste lançamento e o preenchimento da tab funciona conforme o esperado.

CDI/Weld,Transaction Manager

BZ#1098127 - "Failure while notifying an observer of event" in CDI transactional observer methods with remote EJB call using JTS

Nas versões anteriores do JBoss EAP 6, a iniciação de um evento CDI a partir do cliente EJB usando as transações JTS resultava numa falha de invocação dos observadores transacionais no servidor.

Isto foi corrigido com a seleção do espaço de nome do JNDI para as chamadas de sincronização da transação no código de integração do Weld.

Os observadores transacionais são agora invocados de forma apropriada nos cenários da transação distribuída.

Nomeação

BZ#1131626 - ERROR: remote lookup Channel end notification received, closing channel Channel ID is seen when looking up a remote queue

Nas versões anteriores do JBoss EAP 6, um erro poderia ser encontrado quando executando uma busca numa fila remota a partir de um EJB, mesmo que a operação executasse com êxito.

Uma atualização ao jboss-remote-naming resolveu este problema.

Domain Management,Testsuite

BZ#1078062 - ManagementClientContentTestCase is sometimes fails (different JDK dor master and slave)

Nos lançamentos anteriores do JBoss EAP 6, o mapa usado no mecanismo de storage para o management-client-content retornava valores diferentes do atributo 'hash' para o recurso management-client-content=rollout-plans em diferentes processos num domain.

No JBoss EAP 6.4, este erro foi corrigido pela atualização do mapa com a ordenação consistente usada para realizar o store no management-client-content. O atributo 'has' para o recurso management-client-content=rollout-plans retorna o mesmo valor em todos os processos num domain.

JCA

BZ#1107120 - Failures when deploying MySQL JDBC driver to EAP 6.x

Um lançamento anterior do JBoss EAP 6 possuía uma bug que prevenia o MySQL JDBC drive de ser implantado sob certas circunstâncias.

A implantação falharia, informando o usuário que a implantação já existia. Qualquer tentativa de remover uma implantação existente também falhava.

Este problema foi resolvido e o driver implanta conforme o esperado.

Web Console - UX

BZ#1016546 - RBAC: Unclear error message when trying to configure Auditor role as Administrator

Nas versões anteriores do JBoss EAP 6, caso um usuário tentasse executar uma operação pela qual não tivesse permissão de execução, ele receberia a seguinte mensagem de erro:

Você não possui permissão para acessar este recurso!

Esta mensagem poderia ser confusa aos usuários, sendo que eles tentavam executar uma operação sem a tentativa de acesso a um recurso. Este erro foi clarificado para:

Você não precisa de permissões para executar esta operação!

Segurança, Web

BZ#952518 - run-as does not work for Servlet init() and destroy() methods

As versões anteriores do JBoss EAP 6 possuíam um problema quando a identidade run-as não estava sendo usada para o Servlet.init(), que era contrária à especificação do Java Servlet 2.4.

Isto ocorria por causa do RunAsListener não existente no JBoss EAP 6, uma vez que isto fazia parte do JBoss EAP 5 anteriormente.

Este problema foi endereçado neste lançamento e o produto agora adere à especificação referente.

Scripts and Commands,Security

BZ#901193 - add-user check is not i18n, while prompt is

A utilidade add-user no JBoss EAP 6 informa os usuários a confirmarem a ação que eles estão prestes a realizar baseando-se no local atual. Quando uma entrada de usuário estava sendo comparada com as traduções diferentes, a entrada do usuário era convertida à letra minúscula enquanto que o valor traduzido não era.

Isto significava que a utilidade add-user não estava apta a identificar qual opção o usuário selecionou, devido à diferença no caso de comparação, e relatava um erro ao usuário para informá-lo que ele não havia selecionado um valor válido.

Neste lançamento, ambas entrada do usuário e os valores traduzidos comparados são convertidos à letra maiúscula antes da comparação. As respostas internacionalizadas sã agora corretamente aceitas para os diálogos de confirmação com a utilidade add-user.

Suporte IPv6

BZ#900564 - Wrong format of IPv6 addresses in log entries

Os endereços IPv6 conectados nas versões anteriores do JBoss EAP 6, não possuíam colchetes conforme solicitado. O manuseamento dos endereços IPv6 foi corrigido e eles estão entre colchetes em logs, conforme o esperado.

Apache Server (httpd) e Conectores

BZ#1188769 - snmpd.conf isn't loaded on Windows except it is in conf

Foi constatado que as determinações da configuração SNMPConf eram ignoradas nas versões anteriores do JBoss EAP 6 instalado nos sistemas do Windows, levando ao agente iniciar na porta 161.

Neste lançamento, a configuração snmpd.conf.sample foi adicionada ao etc/httpd/conf e é reconhecida conforme o esperado.

PicketLink

BZ#1170792 - SAML11TokenProvider and SAML20TokenProvider do not take CLOCK_SKEW into account
Nas versões anteriores do JBoss EAP 6, o `SAML11TokenProvider` e `SAML20TokenProvider` não levavam em conta o atributo `CLOCK_SKEW` quando validando os tokens.
Como resultado, caso o relógio do host de validação e o STS não estiverem sincronizados, a autenticação poderia falhar.
Neste lançamento, o`SAML11TokenProvider` e `SAML20TokenProvider` foram modificados para seguir o `CLOCK_SKEW` durante a validação do token. Os relógios do host de validação e o STS podem ser desalinhados com o limite `CLOCK_SKEW`, sendo que a autenticação irá suceder.

CLI

BZ#1139515 - cli deploy command with unpaired quotation mark causes StringIndexOutOfBoundsException
Quando executando as versões anteriores do JBoss EAP 6 no Windows, o uso do jboss-cli.bat para implantar um aplicativo lançaria uma exceção quando tentando o preenchimento de tab começando com aspas (").
A tentativa desta ação poderia resultar no seguinte erro:
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
Neste lançamento, a exceção não irá ocorrer.

Hibernate

BZ#1132207 - HHH-9389 Foreign key column name for table mapping @ElementCollection uses entity class name instead of specified entity name
Nas versões do JBoss EAP 6, o atributo do nome para o @Entity(name="...") é ignorado na computação do prefixo para as colunas da tecla exterior usadas para unirem a tabela da entidade às propriedades @ElementCollection do mapeamento de tabela.
Como resultado, o prefixo da tecla exterior computada é o nome da classe da entidade, ao invés do nome fornecido na anotação @Entity
Neste lançamento, a propriedade do nome da anotação @Entity é usado para computar o prefixo do nome da chave exterior. Por exemplo, o Produto da classe Pública ``@Entity(name="prod")` iria resultar numa tecla exterior computada (para a tabela @ElementCollection table) com o prefixo 'prod' ao invés de 'Produto'.

RPM

BZ#1124516 - File snmpd.conf.sample is missing in rpm

O arquivo 'httpd/conf.d/snmpd/snmpd.conf.sample' estava ausente nas seguintes versões do 'mod_snmp' RPMs:
  • mod_snmp-2.4.1-7.GA.ep6.el5.i386.rpm
  • mod_snmp-2.4.1-7.GA.ep6.el5.x86_64.rpm
  • mod_snmp-2.4.1-8.GA.ep6.el6.i386.rpm
  • mod_snmp-2.4.1-8.GA.ep6.el6.x86_64.rpm
  • mod_snmp-2.4.1-9.GA.ep6.el7.x86_64.rpm

Este problema foi resolvido neste lançamento do produto.

Tabela 1. Outros problemas solucionados

BZ#1187027: Desaprovação das operações :enable / :disable às fontes de dados
BZ#1168836: Porta de retorno do JBTM-2279 no JBoss EAP 6.4
BZ#1152477: A anotação @RolesAllowed não funciona para tipos genéricos nos EJBs
BZ#1151526: O SAAJ SOAPConnection não retorna o SoapFault para HTTP 400
BZ#1148728: A substituição para o nome do usuário no remote-outbound-connection não funciona
BZ#1147715: Use o JCA XidWrapper apenas se necessário
BZ#1139102: O valor node-identifier default usa o dash char '-' inválido
BZ#1138595: Não foi possível obter a implementação do nome de classe para o JSR77 MBean
BZ#1132207: O nome da coluna da tecla exterior para o mapeamento de tabela @ElementCollection usa o nome da classe de entidade, ao invés do nome de entidade especificado
BZ#1127999: Problema de carregamento de classe do JBOSS JSP devido às letras maiúsculas e minúsculas
BZ#1127329: Os valores boolianos são determinados para 'falso' ao invés de nulo
BZ#1127318: O JAXB Unmarshaller determina o elemento incorreto como nulo
BZ#1104691: A página com host não está sendo servida de forma apropriada (os cabeçalhos jsp não são levados em conta, servidor como texto)
BZ#1103735: Vazamento no carregador de classe do JBossCachedAuthenticationManager
BZ#1098074: O parâmetro AccountIDPMapProvider do AccountChooserValve é ignorado
BZ#1085500: O JBoss Negotiation deve aplicar o fallback para formar a autenticação ao invés de retornar 401
BZ#1064217: Pesquisa da Declaração SAML - o AttributeValue vazio levanta uma exceção
BZ#1062104: O método logout() do módulo de log do JAAS não está invocado com o cache-type="infinispan"
BZ#1062101: O método logout() do módulo de log do JAAS não está invocado à remoção do cache-type
BZ#1057835: O JBoss EAP6 não está apto a pesquisar o ejb-jar.xml da versão 2.0
BZ#1054556: O AuditProvider menciona "[Êxito]" mesmo se o nome do usuário/senha forem inválidos
BZ#1024239: Comportamento estranho do connection-properties=hoge:remove, :disable e :remove de uma fonte de dados
BZ#1018026: Falha ao remover o arquivo do conteúdo da pasta domain/servers/serverName/data/content quando desimplantando o aplicativo do servidor interrompido
BZ#900984: A determinação do intervalo da transação no UserTransaction vaza no thread e não é esvaziada
BZ#1149020: Falta a Compactação EJB no Manuseador ao Lado do Servidor
BZ#1090406: Os servidores falham ao iniciar quando o process-id-uuid do atributo do subsistema de transações é determinado para falso
BZ#1080140: O tipo de gravação da transação do JTS PREPARADO não é alterado para HEURÍSTICO após a conexão db ser restaurada
BZ#1080035: Inconsistência à recuperação quando a conexão db falha ao banco de dados do Oracle quando executando no JTS
BZ#1001909: Os últimos recursos confirmados antecedentes a outros recursos
BZ#1188643: PicketLink throws java.lang.RuntimeException: PLFED000092: Null Value: A destinação é nula
BZ#1188642: O SAML11TokenProvider e SAML20TokenProvider não levam CLOCK_SKEW em consideração
BZ#1187026: Desaprovação das implantações -ds.xml
BZ#1172419: O EAP6 não está apto a usar as portas > 32767
BZ#1171863: Backport WFLY-4140: Em alguns casos :activate no resource-adapter falha caso com a id != archive_name
BZ#1170359: NamingExceptions específicas de reempacotamento InitialContext com um NamingException mais genérico
BZ#1163646: A configuração do "org.jboss.as.jaxrs.enableSpringIntegration" para "verdadeiro" leva o JaxrsSpringProcessor a lançar o NullPointerException
BZ#1158498: Não foi possível habilitar as implementações NamingStrategyDelegator usando o gerenciador de entidade
BZ#1155815: O array de tamanho 0 leva ao java.lang.ClassCastException
BZ#1154936: Adicionar a dependência fastinfoset opcional no org.apache.cxf
BZ#1148603: O processQueuedOps do método Hibernate AbstractCollectionPersister chama um método preterido do qual possui um impacto negativo no desempenho
BZ#1147412: A fonte de dados recriada sob exclusão ou desabilitação caso InUse da conexões máximas
BZ#1140278: As restrições do aplicativo de log não permitem os Implantadores modificar o log no console da web
BZ#1132188: O perfil não funciona para o último url no connection-url quando failover do HA Datasource estiver desabilitado
BZ#1131691: A versão do JBoss Remoting (desconhecida) no AS log
BZ#1131612: O PickletLink IdP Filter consumindo cookies adicionou uma resposta por outros filtros
BZ#1131225: O fallback para FORMAR a autenticação quando um token de kerberos inválido é usado
BZ#1130863: A configuração de alguns locales leva à falta de botões no console e lançamento de erros
BZ#1128278: O HQL FromElement não é reusado e em alguns casos resulta numa união adicional
BZ#1125004: vault.sh / O VaultSession quando especificando a combinação de contagem keystore password / salt / iteration
BZ#1124086: O Vault deve lançar uma exceção caso um nome de alias diferente for especificado ao vault
BZ#1117364: A determinação do "Intervalo de Socket" ou "Interrupção do Intervalo do Contexto" para 0 na configuração mod_cluster lança um "Erro desconhecido"
BZ#1115650: O jboss-remote-naming thread não encerra mesmo se chamando o "javax.naming.InitialContext#close()"
BZ#1192088: - Reserva gid/uid estática para o usuário do jboss

3.2. Problemas Conhecidos

JSF

BZ#1096905 - InstantiationException on WeldApplicationFactory when switching to JSF 1.2 in EAP 6.2.

O JBoss EAP 6 permite que usuários escolham uma versão JSF para uma implantação usando os descritores empacotados com a implantação.

No entanto, isto não opera corretamente quando a implantação também usa o CDI. No momento, não é possível possuir duas implantações diferentes usando versões do JSF, caso ambas implantações também usem o CDI.

Quando ocorre esta tentativa, uma exceção é lançada e a implantação falha com o seguinte erro:
java.lang.InstantiationException: org.jboss.as.weld.webtier.jsf.WeldApplicationFactory

Embora o uso do JSF 1.2 com o CDI não é oficialmente suportado, uma vez que o JSF 1.2 é uma tecnologia EE5 e o CDI é uma tecnologia EE6, é possível fazer com que o JSF 1.2 opere com o CDI para todas as implantações usando a seguinte alternativa:
  1. Determine 1.2 como a versão JSF default no EAP pela execução do seguinte comando no jboss-cli: /subsystem=jsf/:write-attribute(name=default-jsf-impl-slot,value=1.2)
  2. Configure a dependência JSF 1.2 para o módulo do Weld em ambos /modules/system/layers/base/org/jboss/weld/core/main/module.xml and `/modules/system/layers/base/org/jboss/as/weld/main/module.xml pela alteração da linha <module name="javax.faces.api"/> para <module name="javax.faces.api" slot="1.2" />
  3. Reinicie o servidor.

EJB

BZ#1188420 - EJB Asynchronous pass POJO by reference leading to ClassCastException errors in remote invocations
Neste lançamento do JBoss EAP 6, uma chamada do EJB Assíncrono através da Interface Remota do EJB, a partir de um cliente a um EJB executando no mesmo JVM, falha com o ClassCastException.
Isto é devido à solicitação/resposta não possuir o marshall como deveriam e o cliente EJB não estar usando o mesmo carregador de classe.
Espera-se que isto seja resolvido num lançamento futuro e a solicitação/resposta terão o marshall conforme deveriam, uma vez que isto é uma chamada da interface Remota, permitindo o cliente e o EJB usarem carregadores de classe diferentes e não falharem com o ClassCastException.
BZ#1020074 - EJB clients do not attempt to reconnect to any receivers until all receivers have failed

Este lançamento do JBoss EAP 6 possui um problema no componente EJB.

Os clientes EJB devem tentar a reconexão de recipientes quando detectam a falha de conexão. Ao invés disto, a tentativa de conexão não é realizada até que não hajam receptores disponíveis.

Como resultado, isto faz ineficiente o uso deste método numa configuração do carregamento de carga. A causa deste problema continua sob investigação.
BZ#952746 - Fix transaction recovery failures involving remote EJB resource

Neste lançamento do JBoss EAP 6, as operações da recuperação da transação podem falhar caso elas envolverem os recursos EJB que podem ter falhado.

Este problema ocorre uma vez que a conexão falha entre o servidor e o cliente (especificamente quando o cliente falha e é reiniciado). O servidor e o cliente não irão se comunicar automaticamente.

Neste cenários, o servidor não terá conhecimento que o cliente iniciou novamente, significando efetivamente que o processo de recuperação do EJB tx não saberá quais nós EJB se comunicar.

Este problema está sob investigação e uma solução está sendo desenvolvida.
BZ#1036040 - Calling EJB with "REQUIRES_NEW" transaction attribute creates two transactions.

Neste lançamento do JBoss EAP 6, um problema no componente EJB leva às estatísticas de transição a apresentarem um número incorreto de transações processadas.

Isto é devido aos interceptores CMTTxInterceptor e LifecycleCMTTxInterceptor criarem duas novas transações quando manuseando as solicitações EJB. Sendo que uma é uma transação fictícia e a outra é usada para o gerenciamento de recursos. Isto resulta em uma solicitação EJB sendo contada duas vezes nas estatísticas.

Não existe alternativa disponível neste momento.
BZ#990102 - Concurrent access timeout -- could not obtain lock within 5000 MILLISECONDS

Este lançamento do JBoss EAP 6 possui uma bug que pode produzir um concurrent access timeout quando um cliente EJB invoca um método num bean stateful de um cluster "enviando". Neste caso, este bean envia a chamada aos beans stateful num cluster "target" e então retorna. As invocações são seriais, o cliente não irá invocar um método num bean até que isto responda a uma invocação anterior. Quando um dos servidores no cluster encerra, o erro ocorre.

Web

BZ#1076439 - NIO2 Connector is not properly reloaded during reload operation on IBM JDK (IBM JDK 1.7 and 1.8)

Caso este lançamento do JBoss EAP 6 for iniciado no IBM JDK 1.7 ou IBM JDK 1.8, e uma tentativa é realizada para recarregamento do servidor, o seguinte erro de mensagem aparece nos logs.
ERROR [org.apache.coyote.http11.Http11NioProtocol] (MSC service thread 1-6) JBWEB003043: Error initializing endpoint: java.net.BindException: Address already in use

Este erro é causado por um problema com o IBM JDK que resulta no conectador NIO2 não recarregar de forma apropriada, porém continuar executando como o original. Uma alternativa para este problema é tanto usar o conector diferente (perceba que cada conector possui suas próprias capacidades) ou usar um JDK diferente.

Espera-se que este problema seja resolvido num lançamento futuro do produto.
BZ#918130 - JBossWeb connectors start before application deployments are completed in EAP 6

Um problema de tempo com os conectores do JBossWeb na iniciação foi averiguado, no qual os conectores iniciam e aceitam as solicitações antes dos aplicativos estarem inteiramente implantados.

Nessas circunstâncias, as conexões do cliente, através tanto de um balanceador de carga ou direto ao JBoss EAP, retornam uma mensagem 404. Este problema afeta as versões 6.0.1 e mais avançadas do JBoss EAP.

Nenhuma alternativa está disponível, porém o problema está sob investigação.
BZ-1086399 - WebSockets should support CDI as per JSR-356
A implementação do JBoss EAP 6.4 WebSocket fornece suporte completo de injeção de dependência para os pontos de extremidade, no entanto, isto não fornece os serviços SDI para pontos de extremidade do cliente.
O suporte do CDI é limitado ao suporte requerido pela plataforma EE6, e como resultado, os recursos EE7 tais como os interceptores nos pontos de extremidade não são suportados.

RPMs

Os pacotes Openjdk não estão fornecendo 'java' no metadado
Diversos pacotes do Openjdk (1.6.0, 1.7.0 and 1.8.0) não fornecem "java" no metadado RPM, que falha com compatibilidade em pacotes que requerem Java e estão disponíveis a partir do canal do JBoss EAP. Para solucionar este problema, instale outro pacote que fornece "java" no metadado RPM antes da instalação de um dos pacotes acima do Openjdk.
Consulte:

Web Console

BZ#1180206 - Unable to unset wsdl-port and wsdl-secure-port if wrong value is entered first
Não é possível alterar os valores da porta dos atributos do WSDL e assegurar a porta devolta ao undefined através do console, caso eles já possuam um valor determinado. Os campos de entrada para esses atributos permitem normalmente apenas valores e não manuseiam sequência vazia como o undefined.
Alternativa: desconfigure estes atributos, use um dos seguintes comandos no Management CLI:
/subsystem=webservices:undefine-attribute(name=wsdl-port)
/subsystem=webservices:undefine-attribute(name=wsdl-secure-port)
BZ#1014048 - RBAC: Log in right after log out wont clear UI properly in domain mode

Em alguns casos, quando saindo do Console da Web, o console é parcialmente renderizado antes do logging como outro usuário. Isto leva a um conteúdo "mesclado" onde partes da tela são renderizadas como se o usuário antigo estivesse conectado e partes da tela como se o novo usuário estava conectado.

Este problema não é um risco de segurança e nenhum dado confidencial será revelado.

Uma alternativa para este problema é encerrar a janela do navegador (não apenas a tab ativa) e efetuar o login como um novo usuário.
BZ#1027586 - RBAC: Web console is too coarse-grained with application resources

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

A alternativa atual é, se possível, configurar todos os tipos de recursos associados com um subsistema como recursos do aplicativo.

JMS

BZ#1033008 - Generic JMS RA is not consistent with the EE spec - it does *not* ignore the parameters when session is created in the transaction context

Este lançamento do JBoss EAP 6 possui o seguinte problema no componente JMS.

Quando uma sessão é criada num contexto de transação e os parâmetros são passados ao adaptador de recurso JMS genérico, ocorrerá um NullPointerException (NPE).

Este problema ocorre uma vez que ocorre uma tentativa no processamento dos parâmetros, quando a especificação do Java EE declara que eles não serão processados.

O motivo deste problema está sob investigação, no entanto existe uma alternativa de determinar a sessão a ser transacionada, conforme a seguinte amostra. O NPE não ocorrerá com esta solução alternativa.
connection.createSession(true, Session.SESSION_TRANSACTED);

Segurança

BZ#1103684 - Unable to share Identity Security Domain across datasources

Este lançamento do JBoss EAP 6 possui uma bug que apresenta o erro javax.resource.ResourceException: No matching credentials in Subject! quando diversas fontes de dados forem definidas pelo mesmo security domain.

Este problema está sendo investigado e espera-se ser resolvido num lançamento futuro do produto.
BZ#1052644 - LdapExtLoginModule cannot find custom ldap socket factory

Neste lançamento do JBoss EAP 6, o LdapExtLoginModule não determina o TCCL para o carregador de classe de um módulo do JBoss (configurável). O módulo do JBoss teria uma criação do socket personalizado.

Como resultado, o LdapExtLoginModule não pode usar as criações do socket personalizado para criação das conexões ao servidor ldap. O ClassNotFoundException será lançado quando tentando usar a criação do socket personalizado com o LdapExtLoginModule.

Este problema será resolvido num lançamento futuro do produto.
BZ#1145490 - FIPS 140-2 compliant mode doesn't work in JDK-8
Este lançamento do JBoss EAP 6 leva o seguinte problema do JDK8:
Quando usando uma troca da chave do cliente RSA nos protocolos SSL/TLS, o provedor Sun JSSE não pode trabalhar no modo compatível com o FIPS 140. Este problema não impacta no modo default do SunJSSE.
Maiores informações podem ser encontradas no: http://www.oracle.com/technetwork/java/javase/8-known-issues-2157115.html

Gerenciamento do Domain

BZ#1015524 - RBAC: unable to deploy the same deployment which was already deployed by user from different server-group scope

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

Isto ocorre uma vez que a implantação com o mesmo nome já existe no domain. Este é o comportamento correto. No entanto, uma vez que o usuário de gerenciamento é adicionado escopo a um grupo de servidor, não é possível verificar caso tal implantação já existe em outro grupo de servidor. Isto dificulta impedir este erro confuso.

Para evitar esta limitação, a Red Hat recomenda que ambas funções sem escopo sejam determinadas aos usuários responsáveis pela adição de implantações ao domain ou que a lista dos nomes de implantação seja mantida de forma que os usuários estejam ciente da mesma.
BZ#1021607 - RBAC: The two kinds of non-addressability

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

Para as funções do server-group, isto significa que os recursos nas porções profile, socket binding group, deployment, deployment override, server group, server config e server do modelo de gerenciamento não serão visíveis se elas não estiverem relacionadas aos server-groups especificados à função.

Para as funções host-scoped, isto significa que os recursos na porção /host=* do modelo do gerenciamento não estará visível, caso elas não estejam relacionadas aos grupos do servidor para a função.

No entanto, em alguns casos esta visão simplificada pode ocultar a 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 da ação. Uma amostra disto é o BZ# 1015524.

Num lançamento futuro, alguns desses recursos não endereçáveis podem ser alterados para serem endereçáveis, porém sem leitura. Isto não afetará a segurança do servidor, uma vez que eles não eram não endereçáveis por motivos de segurança. A Red Hat recomenda que você não baseie-se no não endereçamento dos recursos para ocultar informação, a não ser que o não endereçamento seja definido numa restrição de confiabilidade.

Clustering

BZ#917635 - Failed to load session: NullPointerException

Um Problema Conhecido neste lançamento pode levar o NullPointerException com uma mensagem 'Falha ao carregar a sessão' a ser encontrado após a implantação do aplicativo, em alguns casos.

Espera-se que este problema seja resolvido num lançamento futuro do produto.
BZ#959951 - CacheException: java.lang.RuntimeException: Failure to marshal argument(s) at server shutdown

A seguinte mensagem pode ser registrada no encerramento do servidor:
CacheException: java.lang.RuntimeException: Failure to marshal argument(s) at server shutdown

Esta mensagem ocorre uma vez que o Infinispan não suporta ainda o encerramento da limpeza e pode ser facilmente ignorado. Este problema está sendo investigado, porém não existe nenhuma alternativa disponível.
BZ#901162 - TimeoutException: Unable to acquire lock

Um Problema Conhecido existe neste lançamento do JBoss EAP 6, o qual produz TimeoutException: Unable to acquire lock, sob algumas circunstâncias.

Espera-se que este problema seja resolvido num futuro lançamento.
BZ#900483 - Stale session data received when using DIST SYNC on jvm kill

Durante o teste, alguns casos apresentaram que os dados da sessão eram recebidos quando o nó encerrava e o modo do cache DIST SYNC ou DIST ASYNC era usado. Este problema está sob investigação.
BZ#900946 - IllegalStateException: Cache is in 'TERMINATED'/'STOPPING' state.

Este lançamento do JBoss EAP 6 possui uma bug que pode levar um IllegalStateException a aparecer após um aplicativo for implantado num nó com 5 segundos de ter sido implantado em outro nó sem o cluster.

Este problema está sob investigação e espera-se ser resolvido num lançamento futuro.
BZ#900378 - CDI beans with SET replication trigger are not replicating

Devido a uma bug no componente do Weld, o método setAttribute não é chamado corretamente. Isto leva aos beans CDI com a replicação SET falharem a serem replicados.

Uma alternativa para este problema é o uso do trigger SET_AND_NON_PRIMITIVE_GET para esses beans. Isto será corrigido num lançamento futuro.
BZ#922699 - IllegalStateException: AtomicMap stored under key X has been concurrently removed!

Um IllegalStateException foi lançado em casos raros quando a passivação e expiração do processamento de rotina acessa uma sessão que é simultaneamente removida. Isto leva a uma exceção.

A exceção pode ser ignorada. No entanto, a desabilitação da passivação da sessão irá garantir que este problema é evitado.

Gerenciador de Segurança

BZ#1039081 - Please remove "path" and "relative-to" attributes from CLI.

Devido à funcionalidade não incluída no JBoss EAP 6, os atributos path e relative-to não possuem uso no subsistema das transações do CLI. Esses atributos foram preteridos neste lançamento do produto e serão removidos completamente num lançamento futuro.

JDR

BZ#917683 - Jdr utility generates wrong archive entry name running on Windows

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

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

A causa desta bug está sendo investigada e nenhuma alternativa para prevenir isto está disponível.

XML Frameworks

BZ#1065128 - Performance issue with Xalan transformer and very large text nodes

Uma bug foi encontrada neste lançamento do JBoss EAP 6 que causa problemas de desempenho quando tentando converter os nós de texto extensos usando o Transformador Xalan. Quando usando o Transformador para converter um StreamSource ao DOMResult, o desempenho do Transformador diminui uma vez que o tamanho dos dados do caractere aumenta. Isto é um Problema Conhecido e será corrigido num lançamento futuro do produto.

CLI

BZ#1054874 - jboss-cli.sh cygwin support

Este lançamento do JBoss EAP 6 contém uma bug que pode criar problemas de uso do produto num ambiente Cygwin.

As diferenças nas implantações do caminho do POSIX e Microsoft Windows podem levar as variáveis do caminho no jboss-cli.sh shell script a não funcionarem como o esperado.

Espera-se que este problema seja resolvido num lançamento futuro do produto.

Serviços da Web

BZ#1079049 - Problem using @SchemaValidation in combination with wsrm 1.1

Caso um cliente enviar uma mensagem WS-RM 1.1 que referencia o CreateSequence a um ponto de extremidade que utiliza o WS-RM juntamente com a validação do esquema, o aplicativo lança o seguinte erro:
Unmarshalling Error: cvc-elt.1: Cannot find the declaration of element 'CreateSequence'.

O CreateSequence não é encontrado no fGrammerPool do org.apache.xerces.impl.xs.XMLSchemaLoader, uma vez que o CXF e JBossWS ainda não suportam inteiramente o WS-RM 1.1.
BZ#1074368 - Schema element generated from exception class doesn't honor @XmlElement annotation

Uma bug foi encontrada neste lançamento do JBoss EAP 6 onde o esquema gerado a partir das classes de exceção não honram a anotação do @XmlElement. Este lançamento será resolvido num lançamento futuro do produto.

mod_cluster

BZ#900047 - SystemMemoryUsageLoadMetric is not correct on Linux/Unix
O SystemMemoryUsageLoadMetric não apresenta informação útil nos sistemas operacionais do Linux ou UNIX. Para esses sistemas, o HeapMemoryUsageLoadMetric fornece informação mais útil. A solução para este problema será alterar o algoritmo do SystemMemoryUsageLoadMetric para subtrair o valor buffers/cache do número used.
O melhor método para realização disto está sob investigação.
BZ#1085427 - StickySessions don't work for ProxyPass from unenabled context

Este lançamento do JBoss EAP 6 possui uma bug que impede o StickySessions de funcionar para o ProxyPass a partir de um contexto desabilitado. Espera-se que este problema seja resolvido num lançamento futuro.
BZ#901170 - Apache with mod_cluster refuses to start (manager.node)

Os clientes relataram que nos ambientes do Windows Server 2008 com o User Account Control (UAC) habilitado, não ocorre a criação dos arquivos e diretórios solicitados para o mod_cluster.

Como resultado, o processo httpd do Apache falha ao iniciar as instalações do JBoss EAP 6 que utilizam o mod_cluster. O seguinte erro é produzido:
[Tue Nov 06 07:55:18 2012] [emerg] create_mem_node C:/tmp/jboss-ews-2.0/var/cache/mod_cluster/manager.node failed: Access is denied.
Configuration Failed

A desabilitação do UAC previne este problema de ocorrer. Foi concluído que este problema é causado por um erro do administrador do Windows.

Caso um caminho correto for determinado no MemManagerFile, o problema é apenas presente quando as permissões do usuário/serviço forem configuradas incorretamente.

Este cenário é mais propício de ocorrer em ambientes do Domain Controlled onde o Domain Administrator deve conceder permissões do Domain apropriadas, de forma que o UAC não considera o MemManagerFile como uma ameaça.

Nenhuma ação futura serão realizada sobre este problema.

RESTEasy

BZ#899664 - RESTEasy: Boolean configuration parameters don't reject non-sense content

Este lançamento do JBoss EAP 6 possui uma bug que permite que os parâmetros de configuração booliano inválidos a serem configurados. Este comportamento não é intencionado uma vez que os parâmetros inválidos devem ser rejeitados e o aplicativo não deve ser implantado.

Espera-se que este problema seja resolvido num lançamento futuro do produto.

JCA

BZ#1184610 - Race condition registering resource adapters at startup
Este lançamento do JBoss EAP contém uma condição de disputa quando registrando os adaptadores onde múltiplos threads podem tentar criar o subsistema dos adaptadores de recurso.
Onde os adaptadores foram definidos, um ou mais threads podem tentar criar o subsistema dos adaptadores de recurso em memória (ex.: durante a iniciação do servidor). Apenas um thread pode completar a tarefa com êxito. Os demais threads irão falhar, deixando um ou mais adaptadores de recurso num estado sem implantação.
Espera-se que este problema seja resolvido num lançamento futuro do produto.

Tabela 2. Outros Problemas Conhecidos

BZ#1018705: MODCLUSTER000022: Falha ao esvaziar em solicitações pendentes restantes
BZ#1097211: O JBossWS testsuite falha no Solaris11 e JDK7 com BC e criptografia ilimitada
BZ#1110515: A contagem do mod_cluster conectado apresenta uma inflação imprópria
BZ#1125934: O access-log não efetua o log 404 para um contexto não existente quando o enable-welcome-root é determinado para falso no EAP
BZ#1142804: O PicketLink SAML, baseado no SSO usando o REDIRECT binding: redirect para o SP, é enviado com cabeçalho content-length diferente de zero e sem um conteúdo
BZ#1146238: Não foi possível realizar o log ao console administrativo com as interfaces de gerenciamento asseguradas do JAAS com --admin-only
BZ#1147352: A sobreposição não funciona para as subunidades nas implantações destacadas
BZ#1157766: Os VirtualHosts compartilham o direcionador à configuração mod_proxy, isto resulta em: os CreateBalancers comportando-se da mesma forma com a opção 0 ou 2
BZ#1166881: O SPFilter precisa atualizar para coincidir com a funcionalidade da válvula SP
BZ#1168441: CovalentSNMP/2.3.0, mod_snmp Apache HTTP Server não inicia com o arquivo da amostra no Windows
BZ#1184956: O esvaziamento da sessão difere-se entre o EAP 6.3 e EAP 6.4
BZ#1185060: A implementação do cache do Infinispan JAAS não chama o encerramento na evidicação/remoção
BZ#1193459: Mensagens error-info\n com CovalentSNMP/2.3.0, mod_snmp Apache HTTP Server
BZ#901164: Servlet @Inject-ing SFSB timeouts/receives stale data/sessions foram perdidos após a falha
BZ#1181036: A alteração no AdvertiseSecurityKey ao lado do httpd não deve ser ignorado pelos trabalhadores sendo executados
BZ#1168921: A autenticação Kerberos para o Management CLI não funciona com o IBM JDK
BZ#1187092: A autenticação Kerberos para o EJB não funciona com o IBM JDK

4. Recursos Preteridos e não Suportados

4.1. Recursos não suportados

Os seguintes recursos não são suportados no JBoss EAP 6.4.
O mod_jk and mod_cluster com Apache no RHEL 7
A versão 2.4.6 do Apache HTTP Server, que é lançada no Red Hat Enterprise Linux 7, não é suportada para uso com o mod_cluster e mod_jk entregue como parte da instalação do JBoss EAP 6 (tanto zip ou RPM).
Com o objetivo de usar o mod_cluster e/ou mod_jk, instale o Apache HTTP Server (versão 2.2.26) incluído como parte do JBoss EAP zip ou distribuição RPM.
mod_rt and mod_snmp
Os módulos mod_rt (mod_rt.so) e mod_snmp (snmpmonagt.so) que são lançados com a distribuição do Servidor Apache HTTP do JBoss EAP 6 não são suportados.
Maiores informações sobre o suporte desses módulos podem ser encontradas na documentação do Enterprise Web Server 2.1.
O parâmetro fail_on_status não utilizável com o HP-UX v11.3 hpws httpd B.2.2.15.15.
O parâmetro fail_on_status ProxyPass não é fornecido no HP-UX v11.3 hpws httpd B.2.2.15.15 Apache HTTP Server publicado pelo HP. Portanto, este parâmetro não pode ser usado com as implementações mod_cluster usando este servidor HTTP.
A Red Hat oferece uma versão com patch do httpd 2.2.15 no Red Hat Enterprise Linux 6 que suporta este parâmetro. Leia mais a respeito do patch no: http://pkgs.devel.redhat.com/cgit/rpms/httpd/tree/httpd-2.2.15-proxy-failonstatus.patch?h=rhel-6.7&id=295e30e7413300d714cce1d983ecf25ec08ae17c
Protocolo STOMP com o HornetQ
O suporte a nível de comunidade HornetQ para o protocolo STOMP. Este protocolo não foi testado pela Red Hat e não é suportado pelo JBoss EAP.
Protocolo REST com o HornetQ
O HornetQ possui suporte à nível da comunidade para o protocolo REST. Este protocolo não foi testado pela Red Hat e não é suportado pelo JBoss EAP.
Limitações IPv6 do JDK 6
As seguintes limitações IPv6 são causadas pelo JDK 6 e não são problemas do JBoss EAP 6.
  • No Microsoft Windows Server, o JDK 6 possui apenas uma implementação IPv6. Esta implementação não é suficiente para executar o JBoss EAP 6. O suporte IPv6 completo no Microsoft Windows Server requer oJDK 7.
  • No Red Hat Enterprise Linux, uma bug no Oracle JDK 6 significa que qualquer endereço especificado no cliente zone-id irá falhar. Para usar um zone-id, tanto atualize para o JDK 7, ou use o IcedTea/OpenJDK 6, que encontra-se disponível para o Red Hat Enterprise Linux e não possui esta bug. Por favor refira-se ao http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6800096 e https://issues.jboss.org/browse/JBPAPP-8833 para maiores informações sobre esta bug.
A Propagação do Contexto JPA 2.0 fora de uma transação JTA
A propagação dos Contextos de Persistência Estendida (Extended Persistence Contexts - XPC) não estava levando em conta a existência da transação, sendo que o XPC sempre estava sendo propagado. Este comportamento não está de acordo com a especificação JPA 2.0. O manuseamento do XPC foi modificado de forma que quando não houver transação ativa, a propagação do XPC é ignorada e o bean sendo invocado possuirá o seu próprio Contexto de Persistência ao invés do XPC.
Caso o seu aplicativo esperar pelos contextos de persistência estendida a serem propagados fora das transações JTA, você precisará considerar se o seu aplicativo precisa ser modificado. Refira-se ao JBoss EAP 6 Migration Guide para instruções sobre a atualização de seu aplicativo.
O JBoss Enterprise Application Platform 5 fornecia uma propriedade de sistema (JBPAPP-923.alwaysPropagate) para habilitar 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.
Subsistemas de Gerenciamento PicketLink
Os subsistemas do PicketLink Management para Identity Management e Federation não são suportado no JBoss EAP 6.
Pool do Cliente STS
O PicketLink Federation Subsystem fornece um pool de clientes STS no servidor. Isto remove a criação do STS Client como um afunilamento.
O pool do cliente pode ser utilizado em módulos de login que precisam de um cliente STS para obter tíquetes SAML.
Módulos de Login que podem utilizar o pool do cliente STS:
  • org.picketlink.identity.federation.core.wstrust.auth.STSIssuingLoginModule
  • org.picketlink.identity.federation.core.wstrust.auth.STSValidatingLoginModule
  • org.picketlink.trust.jbossws.jaas.JBWSTokenIssuingLoginModule
O número default dos clientes no pool para cada módulo de login é configurado através da opção de módulo de login initialNumberOfClients.
A classe STSClientPoolFactory org.picketlink.identity.federation.bindings.stspool.STSClientPoolFactory fornece a funcionalidade do pool do cliente aos aplicativos.

Uso do STSClientPoolFactory

Os clientes STS são inseridos nos sub pools usando seus configuration como uma chave. Obtenha uma instância STSClientPool e então inicialize um sub pool baseado na configuração. Opcionalmente, com número inicial dos clientes STS ou baseie-se no número default.
final STSClientPool pool = STSClientPoolFactory.getPoolInstance();
pool.createPool(20, stsClientConfig);
final STSClient client = pool.getClient(stsClientConfig);
Quando você tiver finalizado com um cliente, você poderá retornar isto ao pool:
pool.returnClient();
Verificando se um subpool já existe para um configuração gerada:
if (! pool.configExists(stsClientConfig) {  
    pool.createPool(stsClientConfig);  
}
Quando o subsistema da Federação PicketLink for habilitado, todos os pools do cliente criados para a implantação são destruídos automaticamente durante o processo de desimplantação. Para destruir um pool manualmente:
pool.destroyPool(stsClientConfig);
Tanuki Service Wrapper
O Tanuki Service Wrapper não é suportado com o JBoss EAP 6. Maiores informações podem ser encontradas no https://issues.jboss.org/browse/JBPAPP-8651.
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. Para maiores informações, refira-se aos seguintes URLs:
Recuperação XA no MySQL
O MySQL JDBC driver não implementa de forma apropriada a recuperação XA e retorna códigos de erros incorretos para exceções quando a conexão à fonte de dados é interrompida.
JBoss OSGi
O JBoss OSGi, uma especificação do OSGi, foi rebaixado na Prévia de Tecnologia para não suportado. Por favor refira-se ao https://access.redhat.com/site/solutions/362814.
Iniciações Rápidas
Disversas iniciações rápidas (helloworld-osgi, wicket-war e wicket-ear) que estavam disponíveis no JBoss EAP 6.2, foram removidas do produto no lançamento 6.3 e continuam indisponíveis no 6.4.
PicketLink
O PicketLink IDM (Identity Management) não é suportado no JBoss EAP 6.
Infinispan API
O uso direto do Infinispan API não é suportado no JBoss EAP 6. O Infinispan é usado como um detalhe da implementação para diversas tecnologias de clustering internas para JBoss EAP 6. O uso direto do Infinispan API requerer uma subscrição do Red Hat JBoss Data Grid e instalação dos pacotes do JBoss Data Grid. O download Red Hat JBoss Data Grid está disponível no https://access.redhat.com/downloads.

4.2. Recursos Preteridos

Alguns recursos foram preteridos com o lançamento do JBoss EAP 6.4. Isto significava que nenhum aprimoramento será realizado nesses recursos, sendo que eles serão removidos futuramente, provavelmente num lançamento maior.
A Red Hat irá continuar a fornecer suporte completo e correção de bugs sob nossos termos e condições de suporte padrão. Para maiores informações sobre a política de suporte da Red Hat, consulte o artigo Red Hat JBoss Middleware and Red Hat JBoss Operations Network Product Update and Support Policy no https://access.redhat.com/support/policy/updates/jboss_notes/.
Consulte o artigo JBoss Enterprise Application Platform Component Details no https://access.redhat.com/articles/112673 para maiores detalhes dos recursos que foram preteridos.

5. Perguntas Frequentes

P: O que alterou neste lançamento?
P: Onde está a suíte completa da documentação?
P: Onde estão as instruções de atualização?
P: Quais componentes compõem o JBoss EAP? E quais versões desses componentes estão neste lançamento?
P: Quais sistemas operacionais, Máquinas Virtuais Java e servidores da fonte de dados este produto é suportado?
P: A fonte de dados H2 incluída é suportada na produção?
P: Quais padrões da indústria o JBoss EAP 6.4.0 suporta?
P: Quais os problemas que eu posso encontrar quando migrando para este lançamento?
P: Quais os componentes incluídos neste lançamento e quais são suas versões?
P: Quais as Prévias de Tecnologia incluídas neste lançamento?
P: Onde eu posso encontrar mais detalhes sobre o meu contrato de suporte?
P: Eu encontrei um erro neste documento. Como eu relato este erro?
P:
O que alterou neste lançamento?
R:
O JBoss EAP 6.4.0 inclui diversos aperfeiçoamentos e correções. Consulte Changes in this Release para maiores informações.
P:
Onde está a suíte completa da documentação?
R:
A suíte de documentação completa do JBoss EAP 6.4.0 pode ser encontrada no https://access.redhat.com/documentation/en-US/JBoss_Enterprise_Application_Platform/.
P:
Onde estão as instruções de atualização?
R:
As instruções de atualização podem ser encontradas no Guia de Instalação.
P:
Quais componentes compõem o JBoss EAP? E quais versões desses componentes estão neste lançamento?
R:
A matriz do componente JBoss EAP 6 está disponível na seguinte localização: https://access.redhat.com/knowledge/articles/112673.
P:
Quais sistemas operacionais, Máquinas Virtuais Java e servidores da fonte de dados este produto é suportado?
R:
Consulte https://access.redhat.com/site/articles/111663 para uma lista completa de sistema operacional, Java Virtual Machine, combinações do JDBC driver e servidor do banco de dados que foram testadas e verificadas com o JBoss EAP 6.4.0.
P:
A fonte de dados H2 incluída é suportada na produção?
R:
O número de banco de dados H2 está incluído apenas para propósitos de avaliação, testes e demonstração. Isto não é uma configuração suportada para o ambiente de produção. Consulte https://access.redhat.com/site/solutions/148633 para informações adicionais.
P:
Quais padrões da indústria o JBoss EAP 6.4.0 suporta?
R:
Consulte o https://access.redhat.com/site/articles/113373 para uma lista completa de padrões e especificações suportadas.
P:
Quais os problemas que eu posso encontrar quando migrando para este lançamento?
R:
Consulte Alterações neste Lançamento para entender sobre as diferenças entre este lançamento do JBoss EAP e os lançamentos anteriores que causam dificuldades quando migrando os seus aplicativos a esta versão.
P:
Quais os componentes incluídos neste lançamento e quais são suas versões?
R:
Consulte https://access.redhat.com/site/articles/112673 para a lista completa de componentes incluídos.
P:
Quais as Prévias de Tecnologia incluídas neste lançamento?
R:
O JBoss EAP 6.4.0 inclui um número de recursos de prévia da tecnologia. Esses recursos não são suportados, podem não estar completos funcionalmente e não são destinados ao uso de produção. Eles são incluídos para fornecerem aos clientes acesso antecipado às inovações dos produtos futuros, habilitando-os à funcionalidade de teste e fornecendo opinião ao processo de desenvolvimento.
Consulte Recursos fornecidos apenas para a Prévia de Tecnologia para uma lista completa dos recursos da Prévia da Tecnologia neste lançamento.
P:
Onde eu posso encontrar mais detalhes sobre o meu contrato de suporte?
R:
Detalhes sobre as políticas de suporte estão localizadas nos seguintes URLs:
Processos de Suporte
Escopo do Suporte de Produção da Cobertura
Contrato do Nível do Serviço de Suporte de Produção
Cobertura do Escopo do Suporte de Produção da Cobertura
Contrato do Nível de Serviço de Suporte do Desenvolvedor
Política de Suporte e Atualização do Produto pelo Produto
Contrato da Licença do Usuário Final do JBoss
P:
Eu encontrei um erro neste documento. Como eu relato este erro?
R:
Caso deseje fornecer sua opinião sobre este documento, por favor preencha uma bug no https://bugzilla.redhat.com e especifique o produto JBoss Enterprise Application Platform 6, a versão 6.4.0 e o componente Documentation.

A. Histórico de Revisão

Histórico de Revisões
Revisão 6.4.0-19Thu Apr 16 2015Scott Mumford
AUpdated build for QE.

Nota Legal

Copyright © 2015 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.