Instalando o JBOSS No Linux.
As versões usadas aqui foram escolhidas propositadamente mesmo havendo versão mais recente, que não funcionaram comigo. Em especial o jdk60 e o ejb3 no jboss tem uma serie de problemas com acesso remotos. Usemos a versão JDk50.
O processo consiste em, instalar o Jboss através do JEMS, instalar o patch para EJB3 e é isso ai!
Vou instala-lo na pasta /opt/jboss, o servidor deve ser iniciado como root. Com a pasta /opt/jboss devidamente criada, baixa-se o JEMS installer, versão 1.2.0.GA, eis o link:
http://labs.jboss.com/jemsinstaller/downloads/
Terminado, execute, como root :
# java -jar jems*.jar
Siga os passos na interface que vai surgir, escolha a pasta a ser instalada (no meu caso /opt/jboss) e escolha a opção ejb3 quando for perguntado, informe e se lembre de seu password e vai clicando next até chegar no done.
Abra um terminal e vai até a pasta que instalou seu jboss:
# cd /opt/jboss
# cd bin
# ./run.sh
Virá um monte de coisas, mas se você chegar até uma mensagem semelhante a seguinte, tudo esta ok!
16:55:31,091 INFO [Server] JBoss (MX MicroKernel) [4.0.5.GA (build: CVSTag=Branch_4_0 date=200610162339)] Started in 1m:8s:606ms
Pressione ctrl+c para encerrar o Jboss e espere ele terminar. Vamos agora integrar o EJB3, baixe o JBoss EJB 3.0 Preview RC9 de:
http://labs.jboss.com/jbossejb3/downloads/
O desconpacte, e vamos a sequencia de copias, deletes e etcs, defina o $JBOSS_HOME para a pasta do jboss, com:
# JBOSS_HOME=/opt/jboss
# export $JBOSS_HOME
e depois:
rm $JBOSS_HOME/server/default/deploy/jbossws14.sar
rm $JBOSS_HOME/server/default/deploy/jboss-aop.deployer -Rf
rm $JBOSS_HOME/server/default/deploy/jboss-aop-jdk50.deployer -Rf
rm $JBOSS_HOME/server/default/deploy/ejb3.deployer -Rf
rm $JBOSS_HOME/client/jbossws14-client.jar
cp lib/jbossws-client.jar $JBOSS_HOME/client
cp lib/hibernate-client.jar $JBOSS_HOME/client
cp lib/jboss-ejb3-client.jar $JBOSS_HOME/client
cp lib/ejb3-persistence.jar $JBOSS_HOME/client
cp lib/ejb3-persistence.jar $JBOSS_HOME/server/default/lib
cp lib/hibernate-entitymanager.jar $JBOSS_HOME/server/default/lib
cp lib/hibernate-annotations.jar $JBOSS_HOME/server/default/lib
cp lib/hibernate3.jar $JBOSS_HOME/server/default/lib
cp lib/javassist.jar $JBOSS_HOME/server/default/lib
cp lib/quartz-all-1.5.2.jar $JBOSS_HOME/server/default/lib
cp lib/ejb3.deployer $JBOSS_HOME/server/default/deploy -Rf
cp lib/*.xml $JBOSS_HOME/server/default/deploy -Rf
cp lib/jbossws.sar $JBOSS_HOME/server/default/deploy -Rf
cp lib/jboss-aop-jdk50.deployer $JBOSS_HOME/server/default/deploy -Rf
cp lib/jms-ra.rar $JBOSS_HOME/server/default/deploy/jms
cp lib/quartz-ra.rar $JBOSS_HOME/server/default/deploy
Agora é um pouco mais complicado, precisa abrir alguns jars e modificar alguns arquivos dentro desses jars, eu fiz isso graficamente usando o file-roller, mas pode ser o ark ou outro, basta abrir cada pacote, ir a pasta de destino e arrastar o arquivo novo para substituir o antigo e depois fechar o pacote, muito cuidado ao reenpacotar “na mão”. Eis as alterações, as classes estão na pasta “classes”:
jar: $JBOSS_HOME/server/default/lib/jboss-j2ee.jar
alteração: javax/ejb/SessionContext.class
jar: $JBOSS_HOME/client/jboss-j2ee.jar
alteração: javax/ejb/SessionContext.class
jar: $JBOSS_HOME/client/jbossall-client.jar
alteração: javax/ejb/SessionContext.class
jar: $JBOSS_HOME/server/default/lib/jboss-j2ee.jar
alteração: javax/ejb/SessionContext.class
jar: $JBOSS_HOME/server/default/lib/jboss.jar
alteração: org/jboss/ejb/*.class
E também é necessário um arquivo extra, apenas para as aplicações clientes, deve obter os arquivos, jboss-aop-jdk50-client.jar e jboss-aspect-jdk50-client.jar , pelo download de um dos pacotes disponíveis no site do jboss.org :
http://labs.jboss.com/jbossaop/downloads/
E copie os arquivos citados para a pasta client no diretório do Jboss.
Pronto! Rode o jboss de novo para ver se tudo funciona, e se não funcionar, ai complica e começa tudo de novo. Foi “apenas” isso tudo que tive de fazer para funcionar.
O diretório para publicar as aplicações é em $JBOSS_HOME/server/default.
As aplicações clientes que forem acessar os serviços do jboss necessitam ter o seguintes arquivos em seu classpath, todos disponíveis na pasta $JBOSS_HOME/client :
jbossall-client.jar
jboss-ejb3-client.jar
jboss-aop-jdk50-client.jar
jboss-aspect-jdk50-client.jar
Dúvidas os comentários estão abertos.





