Aos que trabalham com sistemas realmente distribuídos em diferentes instâncias (Seja física ou logicamente).
Como vocês trabalham com o ServiceLocator, ou mesmo com um sistema de configuração dos contextos remotos?
Explico. Imagine um grande sistema com duas ou mais instâncias de um container rodando. Cada uma dessas instâncias contém serviços EJBs que se conversam entre si, remotamente.
Uma das abordagens é configurar no JAR um jndi.properties, que o InitContext dá conta de ler e usar as configurações.
Mas imagine o caso de diferentes EJBs em diferentes instâncias. Como vocês resolvem isso?
Tenho pensado em um ServiceLocator que lê as configurações de cada serviço de um repositório de configurações, e ele se incube de achar os serviços EJB distribuídos.
Para acessar um EJB eu faria:
MeuEJB ejb = (MeuEJ) ServiceLocator.getInstance("CADASTRO").getEjb("nomeJNDI");
UmRelatorioEJB relEjb = (UmRelatorioEJB) ServiceLocator.getInstance("RELATORIO").getEjb("outroNomeJNDI");
E em um diretório teria:
CADASTRO-jndi.properties
RELATORIO-jndi.properties
O que acham? Sugestões? Experiências passadas?
ps: Usando EBJ 3.0… pena que injection, neste caso, não se aplica.

