1
resposta

Diferentes versões de um mesmo EJB no Container

Gostaria de saber se há a possbilidade de existir diferentes versões de um mesmo EJB disponibilizado no container, de forma que, seria resposabilidade do cliente especificar qual versão deste EJB ele deveria usar.

Pergunto isso pensando no cenário de que o EJB pode ser usado por vários serviços clientes e, em determinado ponto por exemplo, surge a necessidade de fazer uma pequena alteração em seu comportamento ou interface. Para não afetar todos os outros serviços que já o utilizam, gostaria de saber se seria possível gerar uma nova versão deste EJB, de forma que a versão antiga ainda seja compatível com o legado.

Isso é possível?

Obrigado pela resposta.

1 resposta

Oi David,

Um EJB é exclusivo no escopo do módulo. O que você pode ter são múltiplas implementações de um EJB. Dessa forma você especifica qual é a implementação do EJB que deve ser injetado.

Você pode usar:

@Stateless(name="online")
public class DataAccess_Online implements DataAccess { ... }

@EJB(beanName="online")
DataAccess da;

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software