Tomcat: какие параметры контекста init следует использовать для подключения внешнего клиента к дереву JNDI Tomcat 5.5? - PullRequest
3 голосов
/ 13 апреля 2009

В настоящее время я использую это для JBoss, но мне нужно что-то также для внешнего Tomcat:

Properties props = new Properties();
props.put(Context.PROVIDER_URL, "jnp://localhost:1099");
props.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
props.put(Context.URL_PKG_PREFIXES, "org.jboss.naming.client");
props.put("j2ee.clientName", "abtest");

Поиск с помощью Google Я нахожу это, но я не могу выяснить, какой порт Tomcat настраивается для приема соединения JNDI ...

props.put(Context.INITIAL_CONTEXT_FACTORY,
"org.apache.naming.java.javaURLContextFactory");
props.put(Context.PROVIDER_URL, "http://localhost:???");

Пожалуйста, Вы можете мне помочь?

Ответы [ 2 ]

6 голосов
/ 14 апреля 2009

Насколько я знаю, tomcat не поддерживает удаленный доступ к его дереву JNDI, поэтому вы можете получить к нему доступ только из процесса tomcat. Из-за этого, Tomcat устанавливает все параметры инициализации для InitialConext по умолчанию, и вы можете использовать его следующим образом:

// Obtain our environment naming context
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");

// Look up our data source
DataSource ds = (DataSource)
  envCtx.lookup("jdbc/EmployeeDB");

// Allocate and use a connection from the pool
Connection conn = ds.getConnection();
... use this connection to access the database ...
conn.close();

Вы также можете узнать больше о JNDI в tomcat в по этой ссылке

1 голос
/ 24 декабря 2009

Я нашел эту полезную ссылку для использования в Tomcat: EJB в Jboss вызывается из Tomcat

Кажется, это глупо, но на самом деле подход в этой теме достаточно хорош для рассмотрения. Основная идея заключается в следующем: сервер Tomcat имеет свою собственную систему JNDI, поэтому внутреннее веб-приложение должно сначала объявить JNDI, который они хотят использовать, а затем использовать это объявление для поиска объекта удаленного сервера (EJB Jboss).

Надеюсь, что вам поможет,

С уважением,

...