Glassfish 2.1 EJB 3.0 Expondo o EJB local a outros aplicativos em execução no mesmo domínio / jvm

Eu tenho um projeto existente que estou precisando configurar diferente. Isso precisa acontecer sem grandes alterações no código. Eu estou realmente esperando que eu poderia de alguma forma fazer isso apenas com configuração. Passei os últimos 2 a 3 dias lendo tudo o que posso encontrar sobre esse assunto. Eu entendo os classloaders de glassfish e o que está disponível para mim.

Eu tenho um projeto de exemplo atual que tem um EJB que define uma interface @Local. O ejb é implementado dentro de um módulo ejb como um módulo ejb no domínio glassfish. Agora estou tentando encontrar uma maneira para outro aplicativo que foi implantado como um ouvido no mesmo domínio, para poder acessar esse EJB através de sua interface local.

Eu li a documentação que diz que isso não é possível. Então eu vi posts aqui no StackOverflow e outros na web dizendo que é possível. Mas não consigo encontrar a solução real.

Com a investigação, percebi que o @Local EJB não se registra no jndi (pelo menos de acordo com os logs), se eu usar o navegador JNDI glassfish, eu também não o vejo visível. Então, faz sentido para mim, que ou não é possível, ou a implantação do projeto EJB é a culpa, e de alguma forma eu preciso expô-lo.

@Remote é uma possibilidade, se puder ser por referência, e sem sobrecarga de desempenho. Mas o método preferido que permite o acesso @Local EJB é realmente a necessidade final.

Alguém sabe o que eu preciso fazer para expor o EJB @Local a outro aplicativo? Ou isso é claramente impossível?

Estou usando o Glassfish 2.1 com EJB 3.0

Se o Glassfish 2.1 puder lidar com o EJB 3.1, eu estaria disposto a migrar para ele se ele fornecesse essa capacidade, mas duvido que seja fácil.

Por favor, ajude. Obrigado.

Eu estou adicionando uma recompensa. Para completar a recompensa, seria necessário executar dois aplicativos de ouvido no mesmo domínio, onde A.ear contém um @Local EJB que é usado também pelo aplicativo em um B.ear.