Для GlassFish вы можете попробовать это: https://glassfish.java.net/javaee5/ejb/EJB_FAQ.html#StandaloneRemoteEJB
Ниже мой пример для WebLogic.
1) в вашем EAR вы должны иметь @Remote аннотированный интерфейс и его реализации
@Remote
public interface Calculator {
public int add(int a, int b);
}
@Stateless(mappedName = "myCalculator")
public class CalculatorImpl implements Calculator {
@Override
public int add(int a, int b) {
return a + b;
}
}
2) вы должны иметь клиент, который будет вызывать ваш удаленный калькулятор
private static Calculator getRemoteCalculator() {
Hashtable<String, String> props = new Hashtable<String, String>();
props.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
props.put(Context.PROVIDER_URL, "t3://localhost:7001");
try {
InitialContext ctx = new InitialContext(props);
return (Calculator) ctx.lookup("myCalculator#com.javaee.Calculator");
} catch (NamingException e) {
throw new RuntimeException(e);
}
}
3) для клиента вы должны добавить свой удаленный модуль EJB калькулятора, чтобы построить проход