0

我有几个应用程序使用在其 web.xml 中配置的 JNDI 属性:

<env-entry>
    <env-entry-name>application1/username</env-entry-name>
    <env-entry-type>java.lang.String</env-entry-type>
    <env-entry-value>admin3</env-entry-value>
    <lookup-name>username</lookup-name>
</env-entry>

我无法通过查找名称获取条目,以下代码返回 null:

String jndiValue = jndiValue = ((Context) new InitialContext().lookup("java:comp/env")).lookup("username").toString();

好像Tomcat不支持这个属性,对吗?

4

1 回答 1

1

应用程序1/用户名

所以部分名称是application1/username.

String jndiValue = jndiValue = ((Context) new InitialContext().lookup("java:comp/env")).lookup("username").toString();

因此,您正在查找部分名称username

你也可以简化它。您不需要嵌套的Context,或两个Context泄漏,或toString()部分:

Context initialContext = new InitialContext();
String jndiValue = jndiValue = initialContext.lookup("java:comp/env/application1/username");
initialContext.close();
于 2013-04-18T11:49:47.620 回答