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étodogetValueRef
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, ogetValueRef
foi alterado para nova tentativa caso nenhum dos resultados forem retornados. OSingletonService
é executado agora conforme o esperado. - 920367 - ClusteredSingleSignOn ClassCastException com aplicativos não distribuídos
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=920367
- 901028 - CLONE AS7-5688 ISPN000136: Execution error: java.lang.NullPointerException -> JBAS018079: Falha ao passivar a sessão
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=901028
- 947420 - Não foi possível adquirir o bloqueio após [0 milésimos de segundos] com a passivação de sessão acionada
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=947420
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étodojava.io.DataOutput.writeUTF()
na biblioteca JBoss DMR. Este método lança umUTFDataFormatException
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
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=957171
- 955506 - Conexões não registradas corretamente para o TX de entrada quando o TX de saída estiver suspendido
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=955506
- 928922 - [AS7-6526] É difícil identificar o EJB Timer com a id do timer conectada, especialmente se isto não for persistente
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=928922
- 901203 - Invocações EJB remotas estão gravadas/escritas um byte de cada vez
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=901203
HornetQ
- 900359 - CLONE - Cria um subsistema para a ponte JMS
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=900359
- 901137 - O servidor não pode ser encerrado quando a tentativa da conexão for configurada para -1
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=901137
- 901177 - O HornetQ não exclui a mensagem da fila quando a mensagem for revertida e o DLQ não estiver presente
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=901177
- 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.
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=919446
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étodosdefaultWriteObject()
ouwriteFields()
doObjectOutputStream
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 objetosFacesMessage
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
- Refira-se ao https://bugzilla.redhat.com/show_bug.cgi?id=900518
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 paratrue
. Todas as demais funções possuem padrãofalse
.
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 sistemaorg.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.