6. Alterações deste lançamento

6.1. Correções de bugs

Servidor Apache (httpd) e Conectores

900363 - O Gerenciador de Status JK não está funcionando

O Apache mod_jk inclui um API de gerenciador: Quando as operações eram executadas com ele, as alterações não eram aplicadas, se é que iniciadas através do API ou da interface da web do Gerenciador de Status JK. Isto era devido a um erro com a sincronização de memória compartilhada. A causa principal foi corrigida de forma que as operações usando o gerenciador de status agora executam conforme o esperado.

Clustering

900392 - Serviço Singleton poderia falhar com o "IllegalStateException: JBAS010350: Resultado esperado do provedor singleton apenas, mas ao invés disso recebeu 0 resultados"

O SingletonService às vezes falhava com o seguinte resultado no log:
    IllegalStateException: JBAS010350: Expected result from singleton provider only, but instead received 0 results

O erro que ocorreu no método getValueRef e era triggered quando a alteração da visualização ocorria, pois o nó mestre antigo estava interrompido e o novo nó estava sendo inicializado. Para resolver isto, o getValueRef foi alterado para nova tentativa caso nenhum dos resultados forem retornados. O SingletonService é executado agora conforme o esperado.
920367 - ClusteredSingleSignOn ClassCastException com aplicativos não distribuídos
901028 - CLONE AS7-5688 ISPN000136: Execution error: java.lang.NullPointerException -> JBAS018079: Falha ao passivar a sessão
947420 - Não foi possível adquirir o bloqueio após [0 milésimos de segundos] com a passivação de sessão acionada

Consoles

900849 - erro EAP6 CLI quando os dados estiverem acima de 64k

Qualquer comando CLI que retornou uma Sequência que estava acima de 65535 caracteres falharia com o seguinte erro:
Communication error: java.util.concurrent.ExecutionException: Operation failed

Isto foi causado pelo uso do método java.io.DataOutput.writeUTF() na biblioteca JBoss DMR. Este método lança um UTFDataFormatException caso a sequência sendo processada for acima de 65535 caracteres. A biblioteca DMR do JBoss foi atualizada para uso de uma técnica alternativa para processar corretamente este número. Qualquer comando CLI que retornar uma sequência acima de 65535 caracteres agora funciona como o esperado.

EJB

957171 - O cliente não tenta novamente a invocação caso um nó estiver sendo encerrado ou desimplementando e uma invocação EJB alcançar o nó naquele estado
955506 - Conexões não registradas corretamente para o TX de entrada quando o TX de saída estiver suspendido
928922 - [AS7-6526] É difícil identificar o EJB Timer com a id do timer conectada, especialmente se isto não for persistente
901203 - Invocações EJB remotas estão gravadas/escritas um byte de cada vez

HornetQ

900359 - CLONE - Cria um subsistema para a ponte JMS
901137 - O servidor não pode ser encerrado quando a tentativa da conexão for configurada para -1
901177 - O HornetQ não exclui a mensagem da fila quando a mensagem for revertida e o DLQ não estiver presente
913507 - OutOfMemory no SpecJMS2007 satellite driver

Quando o NIO era habilitado num conector e um número grande de threads estava ativo, um erro OutOfMemory poderia ocorrer. Isto ocorre uma vez que o NioWorker não era encerrado corretamente e os threads e memória que eles usavam não eram lançados. O problema subjacente com o manuseio do thread foi corrigido, reduzindo o risco de um erro OutOfMemory.

É recomendável que o parâmetro "use-nio-global-worker-pool" seja habilitado para minimizar o risco de um erro de memória. Segue abaixo uma configuração de conector de amostra:
<netty-connector name="netty" socket-binding="messaging">
   <param key="use-nio" value="true"/>
   <param key="use-nio-global-worker-pool" value="true"/>
</netty-connector>
919446 - Diário replicado - Acabando o espaço do disco após alteração contínua de backup/ativa.

JSF

957838 - Uma exceção "java.io.NotActiveException: Os campos nunca foram gravados" acontece quando o objeto FacesMessage é serializado no JBoss EAP 6.

A deserialização dos objetos FacesMessage lançariam uma exceção (java.io.NotActiveException) em determinadas circunstâncias. Isto ocorreu uma vez que os métodos defaultWriteObject() ou writeFields() do ObjectOutputStream não eram invocados durante a serialização, conforme requerido pela especificação JSF. Esses métodos são chamados corretamente durante a serialização e deserilização dos objetos FacesMessage e funcionam agora conforme o esperado.
901266 - @PreDestroy não é chamado na visualização do bean gerenciado com escopo

A memória usada pelo JSF ViewScoped beans não foi recuperada em certas circunstâncias, resultando no aumento da memória usada pelo servidor do aplicativo ao longo do tempo (um "vazamento de memória"). A causa disto é que o método @PreDetroy desses beans não foi chamado quando suas sessões expiraram. A implementação do JavaServer Faces na Plataforma do Aplicativo JBoss Enterprise 6 foi atualizada para o Mojarra 2.1.16 que soluciona este problema. Quando a expiração da sessão ocorre, cada método do bean gerenciado @PreDestroy é invocado corretamente e os recursos alocados à cada bean são recuperados.

Scripts e Comandos

900518 - A utilidade Jdr script não está apta a conectar ao localhost:9990

Segurança

910322 - Não foi possível adicionar a função de segurança ao security-setting usando o CLI

Quando adicionando um security-role usando o CLI ou API, era necessário a especificação duas funções que o usuário deveria possuir, e todas as funções que ele não deveria ter. Isto é devido à operação :add para este recurso não possuir valores padrões para esses parâmetros. O padrão desses parâmetros agora é false. A adição de uma nova função apenas requer que você especifique as funções que o security-role deve possuir configurando-as para true. Todas as demais funções possuem padrão false.

Web

901061 - É necessário uma configuração "DeleteWorkDirOnContextDestroy" no EAP 6 Web Subsystem

A Plataforma do Aplicativo JBoss Enterprise 6 não recompilava os JSPs de fonte na reimplementação a não ser que eles fossem mais novos do que o java associado ou arquivos de classe. As versões mais recentes da Plataforma do Aplicativo JBoss Enterprise 6 não contém o código para remover o java e os arquivos de classe na desimplementação. Isto significa que se um usuário tentasse restaurar as fontes de uma versão mais antiga de um webapp, os arquivos .java e .class não eram removidos, o que prevenia os JSPs de ser recompilados. O código correspondente foi agora adicionado à Plataforma do Aplicativo JBoss Enterprise 6 e pode ser ativado através da propriedade de sistema org.jboss.as.web.deployment.DELETE_WORK_DIR_ONCONTEXTDESTROY. O padrão para esta propriedade é false. Os usuários da Plataforma do Aplicativo JBoss Enterprise 6 podem usar agora esta propriedade para remover os arquivos .java e .class para garantir que as fontes JSP são recompiladas.
905165 - Os parâmetros de expressão do método levam à NPE/MethodNotFoundException

Um método de Language Expression (EL- Linguagem de Expressão) numa página JSF com qualquer conjunto de argumentos determinados para null levam a uma exceção (NullPointerException) a ser lançada quando invoca. Isto ocorria uma vez que o pesquisador JBoss Web EL não manuseava o caso de um argumento sendo um valor nulo. O JBoss Web foi atualizado para manusear de forma correta os valores nulos em expressões de métodos. A invocação dos métodos EL com um parâmetro nulo agora desempenham conforme o esperado.