У меня есть серверный ejb (ofc развернут на сервере), и я хочу использовать его в другом клиентском приложении ejb, добавив его в качестве зависимости и затем вызвав его в основной функции.
Вот код:
package mavensayhelloclient;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import sayhellopackage.SayhelloRemote;
public abstract class Testclient {
public static void main(String[] args) throws NamingException {
// TODO Auto-generated method stub
InitialContext cx = new InitialContext();
Object obj =
cx.lookup("mavensayhelloproject/Sayhello!sayhello
package.SayhelloRemote");
SayhelloRemote proxy = (SayhelloRemote) obj;
System.out.println(proxy.sayHello("4infoB2"));
}
}
Я использую файл jndi proprety, который находится в пакете src / main / resources (проект maven):
java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
java.naming.provider.url=http-remoting://localhost:18080
jboss.naming.client.ejb.context=true
Но я получаю следующее исключение:
Исключение в потоке "main" javax.naming.NoInitialContextException: необходимо указать имя класса в среде или свойстве системы, либо в качестве параметра апплета, либо в файле ресурсов приложения: java.naming.factory.initial