Concorrência no load de EAR (EJB) - JBoss 7.1 [Resolvido]

Bom dia Srs.

Devido a questões de projetos, temos atualmente dois EAR´s rodando no JBoss 7.1 (e Glassfish 3.1.1), com suas respectivas anotações EJB 3.1 e outras do JEE 6.
O problema: o EAR x depende do EAR y. Isso mesmo, temos dependências. O que eu quero dizer ?
Simples, precisamos que o EAR y seja carregado antes do EAR x, quando me refiro a ser carregado antes, não é somente na ordem, mas carrega-lo e finaliza-lo por completo. Esse EAR é responsável por fazer diversas persistências e colocar serviços EJB “no ar”, tais informações persistidas e serviços são usados pelo EAR x.

Já usei a anotação @DependsOn mas não funcionou, acredito que porque são EJB´s em EAR´s distintos, pois no mesmo EAR eu uso essa anotação e funciona perfeitamente. Saberiam me informar se tem anotação para eu contornar isso e de que forma? Ou simplesmente uma configuração no JBoss 7.1 para tal. Já tentei o jboss-deployment-descriptor.xml entre outros, mas não obtive sucesso.

Ps: só uma observação, se subirmos o servidor (JBoss 7.1) somente com o EAR y e depois do mesmo ter sido completamente “deployado” e lançarmos o EAR x depois disso, tudo funciona perfeitamente. Os EJB´s que usamos para a inicialização são @Singletion e possuem a anotação @Startup.

Agradeço a atenção!
Abraços.

Olá amigo, acredito que vc poderia criar um @SingletonBean com @Startup como um serviço que inicia o processo do ear 1 e na sequencia o processo do ear 2.
Esse bean seria o startup da aplicação OK.

Fica a dica, espero ter ajudado.

[quote=paulo1911]Olá amigo, acredito que vc poderia criar um @SingletonBean com @Startup como um serviço que inicia o processo do ear 1 e na sequencia o processo do ear 2.
Esse bean seria o startup da aplicação OK.

Fica a dica, espero ter ajudado.[/quote]

Paulo, é o que é feito. Peço desculpas se não fui claro.
Veja, eu tenho três EJB´s que são do tipo @Singleton e usam @Startup.
Um deles é independente de todos, o outro depende dele, mas esse dependente eu usei a anotação @DependsOn e funciona perfeitamente. Esses dois @Singleton encontram-se no mesmo EAR.

O terceiro @SingletonBean é dependente do segundo, mas está em outro EAR. Vou tentar mostrar:

EAR Principal:

  • Singleton Principal
    – Singleton X (depende do principal)

EAR Secundario

  • Singleton Y (depende do Singleton X)

Consegue visualizar isso ? O problema é que estão em EAR´s distintos, talvez por isso o @DependsOn não tenha funcionado no @Singleton Y. Nesse caso, estou tentando buscar uma forma de obrigar o EAR Secundario esperar todo o deploy do EAR Principal ou o Singleton Y esperar finalizar todo o startup do Singleton X. Qualquer uma das duas alternativas iriam solucionar o meu problema. Espero ter sido claro e agradeço de antemão sua ajuda.

Abraços.

Uma solução encontrada foi basear a arquitetura em JMS. Nesse formato, tratamos os startups através de JMS, efetuando o controle.
Grato pela ajuda !