O EJB2 e o EJB3 coexistem em um aplicativo?

lguém sabe se é possível substituir iterativamente EJB2.1 beans por EJB3 beans no aplicativo Java E

Isto é: ao mesmo tempo, remova um bean 2.1 do código e adicione o bean EJB3 correspondente que implementa o mesmo comportamento sem tocar no restante do código (+ poderá injetar os EJBs herdados por meio de anotações no novo EJB3

Não sou especialista em especificações do EJB (e tenho experiência apenas com o EJB3), mas para mim o EJB é um componente simples com uma interface de negócios específica gerenciada pelo appserver. O AFAIK EJB3 trouxe uma grande simplificação de como escrever o componente (sem interfaces artificiais) e, na maioria das vezes, o descritor xml pode ser omitido graças às anotações, mas o básico é o mesmo. Portanto, parece plausível que possa funciona

Existe alguma incompatibilidade entre EJB2.1 e EJB3?

O principal da questão é se a migração EJB2.1 -> EJB3 precisa ser uma operação de parar o mundo / reescrita completa ou é possível fazê-lo enquanto adicionamos novos recursos e corrigimos bugs no aplicativo herdado (então haverá mistura de EJB2.1 e EJB3 por algum tempo no aplicativo em execução).

EDITAR

Estou interessado apenas em beans de sessão. Estou curioso para saber se (e como) a pesquisa funcionará. O AFAIK EJB2.1 requer algo chamado interface inicial para obter uma referência a um EJB diferente, mas o EJB3 não possui interface inicial ...

questionAnswers(3)

yourAnswerToTheQuestion