一尘不染

Tomcat:用于与Tomcat 5.5 JNDI树建立外部客户端连接的初始化上下文参数是什么?

tomcat

当前,我正在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");

用谷歌搜索我找到了这个,但是我无法弄清楚Tomcat的端口配置为接受JNDI连接…

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

请你能帮我吗?


阅读 235

收藏
2020-06-16

共1个答案

一尘不染

据我所知,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();

您还可以在此链接中了解更多关于tomcat的JNDI

2020-06-16