La solution 1 que je propose n'est pas acceptable parce qu'elle vieillit brutalement tout le code appelant, et demande de vastes changements.
Je viens de trouver une
solution théorique en EJB 3... Mais elle n'est pas drôle.
Côté serveur:
Déclarer une Home, avec le prototype de la méthode create que l'on souhaite avoir, à l'ancienne.
Annoter son bean avec
@RemoteHome.
Implémenter sa méthode create, en l'annotant avec
@Init.
Côté client:
Réaliser une invocation, à la sauce EJB 2.
1) lookup dans le contexte avec la home,
2) PortableRemoteObject.narrow(...);
3) Invocation de create avec ses paramètres.
Note que pour l'instant, l'ayant juste découverte, je n'ai pas encore essayée cette construction. Mais elle semble pouvoir marcher.
Partager