JBoss EAP 6.x ClassLoading Isolation

Sem dúvida que Servidores JEE que se prezem são mais robustos, mesmo para simples aplicações WAR. Assim, se o Classloading Isolation é trabalhoso, vale a pena o esforço.

JBossAS7ClassloadingAssim como acontece muito nos Servidores de Aplicação JEE como o  IBM WebSphere ou no Oracle WebLogic, o Classloading Isolation no JBoss EAP não é tão simples em alguns casos. Claro que o nosso desejo é sempre gerarmos um EAR/WAR “limpo” de arquivos de configurações, que rode em qualquer servidor de aplicação. Geralmente temos desistido e voltado para o bom e velho Apache Tomcat, o que não é ruim quando precisamos rodar apenas arquivos WAR. Creio que não temos muitos problemas com o Tomcat porque ele não possui (em seu ambiente) muitas APIs ou Frameworks que poderiam provocar conflitos com as utilizadas pelas aplicações. Mas é fato que nem sempre iremos produzir somente pacotes WAR. E quando precisarmos de Segurança, Escalabilidade, Transação e outros tantos serviços presentes na especificação JEE? Sem dúvida que Servidores de Aplicação JEE que se prezem são mais robustos, mesmo para simples aplicações WAR. Assim, se o Classloading Isolation é trabalhoso, vale a pena o esforço (até certo ponto, obviamente).

À medida que eu encontrar problemas e soluções de Classloading Isolation no JBoss, vou atualizando este post. Descrevo abaixo alguns problemas e soluções:

1) Isolando bibliotecas do EAP 6.x para utilizar as que estão definidas na aplicação

Basicamente, basta configurar o arquivo /WEB-INF/jboss-deployment-structure.xml. No exemplo abaixo, a versão do SL4J utilizada pelo EAP é excluída do classloading, para que seja utilizada a versão definida na aplicação:

post 1-1

Esta é a configuração básica de isolamento e deve funcionar na maioria dos casos. Entretanto, para determinadas APIs, o isolamento não é tão simples, como é o caso do JSF (Java Server Faces) e JPA (Java Persistence API).

Continue lendo “JBoss EAP 6.x ClassLoading Isolation”

Versões antigas do Firefox

Por uma necessidade específica de desenvolvimento, precisei recuperar antigas versões do Firefox. Listo neste post duas boas opções.

Versões antigas do FirefoxPor uma necessidade específica de desenvolvimento, precisei recuperar antigas versões do Firefox. Listo abaixo duas boas opções:

1) FTP da Mozila: todos os releases do Firefox disponíveis publicamente;

2) Utilu Mozila Firefox Collection: software que contém múltiplas versões standalone do Firefox.

Espero que seja útil a alguém.

Sustentabilidade

Não há mais espaço para tanta incredulidade e arrogância do ser-humano. Não há dúvidas que todos devemos ser zelosos com a criação de Deus, procurando usá-la com sabedoria, com ações de graças, mas daí a julgar que o homem é o detentor da preservação ou destruição do planeta não é isso senão um ato de loucura, um desvario, uma insanidade.

“Ele mesmo é quem dá a todos a vida, e a respiração, e todas as coisas” (Atos 17:25)

Não há mais espaço para tanta incredulidade e arrogância do ser-humano. Não há dúvidas que todos devemos ser zelosos com a criação de Deus, procurando usá-la com sabedoria, com ações de graças, mas daí a julgar que o homem é o detentor da preservação ou destruição do planeta não é isso senão um ato de loucura, um desvario, uma insanidade.

Eu devo ensinar meu filho a não jogar lixo na rua. Reconheço ainda a importância da coleta seletiva, assim como o processo de reciclagem. Todos gostaríamos de não sofrer com a poluição do ar, nem com a contaminação das águas. Todavia, ao mesmo tempo, também sei que o mais conceituado e respeitado ambientalista do mundo moderno é tão carente da salvação de Deus quanto todos os demais. O problema não é preservar a natureza; é ignorar o seu Criador! Continue lendo “Sustentabilidade”

Durabilidade da “Adidas Adi Questra”

Pergunto a Adidas se a durabilidade da chuteira “Adi Questra” é assim tão baixa? Sendo tão baixa, o preço praticado não está errado? Ou a propaganda está equivocada?

Há exatos 1 ano atrás, adquiri uma chuteira para Futebol Society (Adidas Adi Questra), para uso semanal, por um preço no meu entender justo. Antes de completar 1 ano de uso (média de 3 utilizações por mês), a parte esquerda da sola da chuteira se soltou, como se tivesse descolada. Paciência… levei para um sapateiro, o qual colou. Duas semanas depois, a parte direita da mesma chuteira descolou também, porém desta vez de forma irrecuperável.

Em me senti prejudicado. Primeiro porque não paguei barato por esta chuteira. Segundo que a média de utilizações em um único mês era de 3 vezes, ou seja, 36 usos no espaço de um ano. Continue lendo “Durabilidade da “Adidas Adi Questra””

Problema JS usando rich:comboBox

O problema relatado neste post foi descoberto utilizando o componente do RichFaces na versão 3.3.3.Final. Tendo em vista não ter sido encontrado, na Internet, a razão para o erro de JavaScript informado abaixo, descrevemos o problema (javascript) e a “solução” adotada

O problema relatado neste post foi descoberto utilizando o componente <rich:comboBox> do RichFaces na versão 3.3.3.Final. Tendo em vista não ter sido encontrado, na Internet, a razão para o erro de JavaScript informado abaixo, descrevemos o problema (javascript) e a “solução” adotada:

PROBLEMA:

  • No Chrome

Uncaught Error: NOT_FOUND_ERR: DOM Exception 8
Richfaces.ComboBoxList.resetStatecombolist.js:24
Richfaces.ComboBoxList.hidecombolist.js:10
Richfaces.ComboBoxList.hideWithDelaycombolist.js:10
Richfaces.ComboBox.fieldBlurHandlercombobox.js:25
(anonymous function)3_3_3.Finalorg.ajax4jsf.javascript.PrototypeScript:17
wrapper

  • No Firefox

Erro: uncaught exception: [Exception… “Node was not found” code: “8” nsresult: “0x80530008 (NS_ERROR_DOM_NOT_FOUND_ERR)” location: “/ContextRoot/faces/a4j/g/3_3_3.Finalscripts/combolist.js Line: 24”]

SOLUÇÃO:

Continue lendo “Problema JS usando rich:comboBox”

Leonardo Pereira