Migrando Código do EJB 1.1 para o EJB 2.x

Para projetos convertidos do EJB 1.1 para EJB 2.x, devem ser executadas etapas para migrar os projetos EJB 1.1 existentes para o EJB 2.x.

Nota: Os beans do EJB 2.x são suportados somente em um projeto EJB 2.x (apesar do projeto 2.x também suportar os beans 1.1).
  1. Para qualquer bean CMP 1.1, substitua cada campo CMP por métodos abstratos getXXX e setXXX. (Então, é necessário que a classe de beans seja abstrata).
  2. Para qualquer CMP, crie um método getXXX e setXXX abstrato para a chave primária.
  3. Para qualquer método localizador CMP 1.1, crie um método EJBQL (EJB Query Language) para cada método localizador.
    Nota: EJB Query Language tem as seguintes limitações no Rational Application Developer V6.0:
    • As consultas do EJB Query Language envolvendo EJBs com chaves compostas de relações com outros EJBs aparecerão como inválidas e provocarão erros no tempo de implementação.
    • O suporte ao IBM EJB Query Language estende a especificação do EJB 2.x de diversas maneiras, diminuindo algumas restrições, incluindo suporte para mais funções do DB2 e assim por diante. Se a portabilidade através de diversos bancos de dados de fornecedores ou ferramenta de implementação de EJB for uma preocupação, deve-se tomar cuidado para gravar todas as consultas do EJB Query Language estritamente de acordo com as instruções descritas no Capítulo 11 da especificação do EJB 2.x.
  4. Para qualquer localizador CMP 1.1, retorne java.util.Collection em vez de java.util.Enumeration.
  5. Para qualquer bean CMP 1.1, altere todas as ocorrências de this.field = value para setField(value) em ejbCreate() e no código todo.
  6. Atualize seu tratamento de exceção (comportamento de reversão) para exceções não de aplicativos:
    • Ative javax.ejb.EJBException ao invés de java.rmi.RemoteException para comunicar exceções que não sejam do aplicativo.
    • No EJB 2.x e 1.1, todas as exceções não de aplicativos lançadas pela instância resultam na reversão da transação na qual a instância foi executada e no descarte da instância.
  7. Atualize seu tratamento de Exceção (comportamento de reversão) para exceções de aplicativos:
    • No EJB 2.x e 1.1, uma exceção de aplicativo não faz com que o contêiner reverta uma transação automaticamente.
    • No EJB 1.1, o contêiner executa a reversão apenas se a instância tiver sido chamada com o método setRollbackOnly() em seu objeto EJBContext.
  8. Atualize todos os valores padrão específicos da definição de aplicativo do CMP para que estejam em ejbCreate (não utilizando variáveis globais, pois os contêineres do EJB 1.1 definiram todos os campos como valores padrão genéricos antes de chamar ejbCreate, que sobrescreverá todos os padrões específicos do aplicativo anterior).

Tópico pai: Migrando Projetos Enterprise JavaBeans (EJB 1.1 para EJB 2.1)

Tópico anterior: Convertendo Projetos do EJB 1.2 para EJB 2.x
Próximo tópico: Migrando Referências EJB para Relações do EJB 1.1

Tarefas relacionadas
Migrando Projetos Enterprise JavaBeans (EJB 1.1 para EJB 2.1)
Convertendo Projetos do EJB 1.2 para EJB 2.x
Migrando Referências EJB para Relações do EJB 1.1

Referências relacionadas
Os elementos de métodos são mesclados durante a migração da estrutura do projeto

(C) Copyright IBM Corporation 2000, 2004. Todos os Direitos Reservados.