Usando um EntityBean

Exemplos do JOnAS

Existem diversos exemplos na distribuição do JOnAS debaixo de %JONAS_ROOT%\example\src. Destes, iremos usar o exemplo que está no sub-diretório eb para ilustrar o uso de Entity beans.

Neste exemplo, os dois EntityBeans compartilham a mesma interface (Account): um usa persistência gerenciada pelo bean - BMP (persistência explicita), o outro usa persistência gerenciada contêiner - CMP (persistência implícita).
Este é um bom exemplo para entender o que deve ser feito, ou não, em relação a persistência, baseado na escolha do modo de persistência. Ele fornece tanto a implementação CMP 1.1 como a CMP 2.0.

Construindo o exemplo sb

Para compilar o exemplo eb execute os seguintes passos:

  1. Na janela do MS-DOS, vá para o diretório do exemplo (cd %JONAS_ROOT%\examples\src\eb).
  2. Dispare a ferramenta ANT para preparar o exemplo (ant -find build.xml install).
    Se ao final da execução do comando aparecer a mensagem BUILD SUCCESSFUL o exemplo foi compilado com sucesso e está pronto para ser diponibilizada para o uso no Servidor JOnAS.

Configurando o pool conexões do DB

Este exemplo usa uma conexão com banco de dados...

Executando o exemplo eb

Aqui, novamente, dois processos são envolvidos:

Para executar este exemplo:

  1. Abrir o prompt do MS-DOS; Iniciar o servidor de aplicação: jonas start
    (Ou se preferir, no windows, use o atalho Iniciar » Programas » JOnAs - <nomeDoWebContaner>» Start JOnAS (Foreground).)
  2. Abrir o browser para acessar a página de administração do JOnAS em: http://localhost:8080/jonasAdmin (fornecer login=jonas /senha=jonas)
  3. Selecionar no frame esquerdo do JOnAS a opção Server Jonas >> Deployments >> Conteiners EJB (JAR).
  4. Selecionar a aplicação eb.jar e clicar no botão deploy e em seguida Apply.
  5. Logo depois que surgir uma pasta de Confim clicar no botão Confirm para disponibilizar a aplicação.

  6. Nota:Estes passos (o deploy) podem ser executado através de comandos no MS-DOS:
      jonas admin -a eb.jar   
    as seguintes mensagens serão exibidas na saída padrão:
      The JOnAS Server 'jonas' version-number is ready and running on rmi

      message-header : AccountExpl available
      message-header : AccountImpl available

  7. Então, execute os clientes java java em outra console Windows(DOS):
      jclient eb.ClientAccount AccountImplHome
      jclient eb.ClientAccount AccountExplHome

  8. Se as seguintes saídas forem exibidas:
      Getting a UserTransaction object from JNDI
      Connecting to the AccountHome
      Getting the list of existing accounts in database
      101 Antoine de St Exupery 200.0
      102 alexandre dumas fils 400.0
      103 conan doyle 500.0
      104 alfred de musset 100.0
      105 phileas lebegue 350.0
      106 alphonse de lamartine 650.0
      Creating a new Account in database
      Finding an Account by its number in database
      Starting a first transaction, that will be committed
      Starting a second transaction, that will be rolled back
      Getting the new list of accounts in database
      101 Antoine de St Exupery 200.0
      102 alexandre dumas fils 300.0
      103 conan doyle 500.0
      104 alfred de musset 100.0
      105 phileas lebegue 350.0
      106 alphonse de lamartine 650.0
      109 John Smith 100.0
      Removing Account previously created in database
      ClientAccount terminated
     
    O exemplo eb foi executado com sucesso.

  9. Ao terminar, assegure-se de parar o servidor JOnAS :
      jonas stop