tomcat中JNDI条目的“lookup-name”

时间:2013-04-18 11:21:57

标签: tomcat tomcat7 jndi

我有很少的应用程序使用在其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不支持此属性,是不是?

1 个答案:

答案 0 :(得分: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();