Для JBoss ваш код должен выглядеть примерно так:
Properties properties = new Properties();
properties.put("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");
properties.put("java.naming.factory.url.pkgs","=org.jboss.naming:org.jnp.interfaces");
properties.put("java.naming.provider.url","localhost:1099");
Context context = new InitialContext(properties);
(EchoBeanRemote) c.lookup("EchoBean/remote");
Если вы предпочитаете, вы можете поместить параметры среды JNDI в файл jndi.properties
(который должен быть в пути к классам):
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=jnp://localhost:1099
И использовать не-arg InitialContext
конструктор:
Context context = new InitialContext();
(EchoBeanRemote) c.lookup("EchoBean/remote");
Это, очевидно, более переносимо.
И в обоих случаях вам потребуется jbossall-client.jar
на пути к классам на стороне клиента.
P.S .: Вы можете проверить Глобальное имя JNDI , на котором зарегистрирован ваш бин, в JNDI View веб-консоли JMX (если оно еще существует).