Usando o HermesJMS com JDK 1.6 no Weblogic
O HermesJMS é uma ferramenta muito útil para dar suporte ao desenvolvimento de aplicações que trabalham com JMS (menssageria), ou seja, para quem trabalha com integrações, processos e SOA é de grande utilidade.
Com o HermesJMS é possível publicar mensagens, remover, ver o conteúdo das mensagens publicadas, a quantidade, dentre outras funcionalidades. Eu diria que o HermesJMS está para JMS como o soapUI está pra Web Services.
Só que existe um pequeno probleminha de incompatibilidade entre o HermesJMS e o Weblogic 10.2. O HermesJMS foi construído com a JVM 1.6 e o Weblogic 10.2 roda com a JVM 1.5, portanto quando tentamos acessar resources JMS configurados em um servidor Weblogic temos um probleminha com o ClassLoader, segundo bug relatado nesse link.
Geralmente para resolução desse problema, quando eu ia usar o Hermes, eu mudava a minha váriavel ambiente JAVA_HOME para apontar para o JDK 1.5, para agilizar esse processo pode ser feito um Shell Script que seta essa varíavel de ambiente apontando para o JDK 1.5 e abrindo o HermesJMS logo em seguida, mas existe uma solução melhor e mais limpa para isso, que é setando uma propriedade na inicialização do HermesJMS, seguem os passos necessários:
1) Entrar no diretório de instalação do HermesJMS, no meu caso é /opt/HermesJMS
2) Editar o arquivo hermes.sh que fica dentro do diretório bin
3) Ir para a última linha desse arquivo e adicionar a propriedade: -Dsun.lang.ClassLoader.allowArraySyntax=true
Dessa forma, a última linha do arquivo /bin/hermes.sh ficaria assim:
| Text | | copiar código | | ? |
| 1 | "$JAVACMD" -XX:NewSize=256m -Xmx1024m -Dsun.lang.ClassLoader.allowArraySyntax=true $HERMES_OPTS -Dhermes.home=$HERMES_HOME -Dhermes=$HERMES_CFG -Dhermes.libs=$HERMES_LIB_PROPERTY -classpath $LOCALCLASSPATH hermes.browser.HermesBrowser |
Esse pequeno workaround corrige esse probleminha de incompatibilidade entre o HermesJMS e o Weblogic 10.2 e nos permite usar o HermesJMS com o JDK 1.6.
Se você gostou desse tópico, por favor considere deixar um comentário ou se inscreva no feed e tenha no futuro todos os tópicos entregues diretamente no seu agregador.





