LINUX.ORG.RU

JNDI: где указать хост app сервера


0

0

Замучался рыться в инете.
В общем есть Sun App server 8.

В клиенте ejb обычно пишется
Context initial = new InitialContext();
Object objref = initial.lookup("java:comp/env/ejb/someObject");

А где указать где сервер то находится?
На локальной машине оно еще работает, толька первый запрос тормозит секунд 30...
А когда сервак в другой подсетке - нифига не работает.

anonymous

public class EJB {

  public static EJBHome loadHome(String bean, Class cl) {
    try {
      InitialContext jndiContext = new InitialContext();
      Object ref = jndiContext.lookup(bean);
      EJBHome home = (EJBHome) PortableRemoteObject.narrow(ref, cl);
      return home;
    } catch (NamingException e) {
      e.printStackTrace();
            return null;
    } catch (ClassCastException e) {
            e.printStackTrace();
      return null;
    }
  }

  static {
    System.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
    System.setProperty("java.naming.provider.url", "jnp://localhost:1099");
    System.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
  }
}

male
()
Ответ на: комментарий от male

Тут все в static { System.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory"); System.setProperty("java.naming.provider.url", "jnp://localhost:1099"); System.setProperty("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces"); }

зарыто. Мне нада для Sun Application Server 8, а у тебя пример для JBOSS.

anonymous
()
Ответ на: комментарий от anonymous

какая разница?
ты просил указать хост - вот:

System.setProperty("java.naming.provider.url", "jnp://localhost:1099");

хост указывается так
можешь делать и не в статике, разницы нет.

male
()
Ответ на: комментарий от male

Male
Ты меня поправь, если я не прав.
То как ты сказал, наверное работает с другими серверами.
Я пробую с сановским под Win2000, порт 1099 никто не слушает.
У меня заработало вот так

Hashtable env = new Hashtable();
env.put("org.omg.CORBA.ORBInitialHost","192.168.1.160");
env.put("org.omg.CORBA.ORBInitialPort","1072");
env.put("java.naming.factory.initial", "com.sun.jndi.cosnaming.CNCtxFactory");

Context initial = new InitialContext(env);
Object objref = initial.lookup("JNDI_NAME");

Под линухом почему то другой порт, 3700.

anonymous
()
Ответ на: комментарий от anonymous

Какая корба? у меня под линухом - JBOSS работает именно так как я тебе написал. ну да ладно - разобрался и бог с ним.

male
()
Ответ на: комментарий от male

>Какая корба?

Типа стандарт, насколька я понимаю.
Кстати, JBOSS какой версии?
Если четвертый, то интересно было бы узнать, может ли он через корбу.

tukan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.