Software, Java & afins

Fabricio Braga, Sun Certified

Parte 3

Jan-29-2006 By Fabricio Braga

Agora que já temos nossa interface remota e nosso UsuarioServiceBean prontos, e compilando, podemos passar para a parte da implementação deles.

Crie um diretório chamado “jar” imediatamente abaixo do diretório do seu projeto.? Nesse diretório vamos colocar o pacote com os nossos EJBs.

Por definição, o pacote com os SessionBean tem a extensão “*.ejb3″, é por nele que o JBoss vai procurar seus Sessions, então para facilitar nossa vida vamos criar mais um propriedade no nosso build.xml do Ant, e também mais uma importante target, que vai empacotar nossos Sessions nosso arquivo agora ficará assim:





Iniciando build do EJB tutorial

















Perceba que agora nós temos uma nova propriedade, onde setamos o nome do nosso arquivo que vai conter os Sessions e as interfaces, e o diretório onde ele vai ficar.? Não é muito difícil de entender.

O atributo:
name=”com/**”
Diz para o Ant que ele deve incluir todos os subdiretórios e arquivos abaixo do pacote “com” no nosso pacote.

Execute novamente o build do Ant, mas desta vez marque apenas a target “package-ejb-session”, e desmarque todas as outras.? Ao final, se tudo correr bem ele terá gerado um arquivo chamado “business.ejb3″ dentro do diretório “jar”.

Para fazer o deploy, basta copiar esse arquivo para o diretório “deploy” da sua aplicação no JBoss, ele? é provavelmente esse:
jboss/server/default/deploy

Você pode copia-lo para lá mesmo com JBoss já rodando, não precisa reiniciar o JBoss só para fazer isso.? Em geral para fazer simples deploys de seus pacotes de EJB ou WARs no JBoss você não precisa reinicia-lo, isso é necessário apenas quando alterar arquivos de configuração, como datasources por exemplo.

Mas eu como sou extremamente preguiçoso, prefiro deixar o Ant fazer até mesmo esse deploy para mim, então acrescento duas coisas muito simples ao meu “build.xml”.? Primeiro uma propriedade, com o diret?oio de deploy da minha aplicação:

Atenção:
O caminho do diretório é o da minha máquina, você deve substitui-lo pelo seu diretório no seu JBoss.? O diretório “ejbtutorial” que vem entre “server” e “deploy” é o diretório da configuração para esta minha aplicação.? Talvez na sua máquina seja “default” ou outro que você possa ter escolhido durante o wizard de instalação do Jboss.

Agora adicionamos a target que vai copiar o arquivo para lá:




Pronto, agora ao executarmos o Ant, marcamos apenas a target “deploy-ejb”, e o Ant fará tudo.? Bem facil, não?

Apenas para recaptular, no final nosso arquivo do Ant ficou assim:




Iniciando build do EJB tutorial





















Execute o build.xml, apenas com a target “deploy-ejb” marcada, e observe o console do JBoss, você deverá ver algo assim:

17:55:43,118 INFO? [JaccHelper] Initialising JACC Context for deployment: business.ejb3
17:55:43,165 INFO? [Ejb3AnnotationHandler] found EJB3: ejbName=com.model.ejb.session.UsuarioServiceBean, class=com.model.ejb.session.UsuarioServiceBean, type=STATELESS
17:55:43,225 INFO? [JaccHelper] com.model.ejb.session.UsuarioServiceBean has no @SecurityDomain – skipping JACC configuration
17:55:43,226 INFO? [JaccHelper] JACC Policy Configuration for deployment has been put in service
17:55:43,226 INFO? [Ejb3Deployment] EJB3 deployment time took: 108
17:55:43,235 INFO? [ProxyDeployer] no declared remote bindings for : com.model.ejb.session.UsuarioServiceBean
17:55:43,236 INFO? [ProxyDeployer] there is remote interfaces for com.model.ejb.session.UsuarioServiceBean
17:55:43,236 INFO? [ProxyDeployer] default remote binding has jndiName of com.service.UsuarioService
17:55:43,344 INFO? [EJB3Deployer] Deployed: file:/home/fabricio/jboss-4.0.3SP1/server/ejbtutorial/deploy/business.ejb3

Isso significa que o deploy ocorreu sem problemas.

Comments are closed.