21 java string tomcat jndi context.xml
我想将连接URL存储在我的Tomcat应用程序的JNDI绑定中.由于Tomcat context.xml用于JNDI资源定义,我需要找出存储String(或多个连接的多个字符串)的属性方法context.xml.
我这样做的原因是我可以为不同的环境定义不同的字符串,并通过JNDI加载它们.
通常,我看到这样的条目:
<Context ...>
<Resource name="someName" auth="Container"
type="someFullyQualifiedClassName"
description="Some description."/>
</Context>
Run Code Online (Sandbox Code Playgroud)
这真的很简单:
<Context ...>
<Resource name="myConnectionURL" auth="Container"
type="java.lang.String"
description="A connection URL string."/>
</Context>
Run Code Online (Sandbox Code Playgroud)
如果是这样,我在哪里实际存储String值?!?!如果它不正确,那么我存储的正确方法是什么,例如" amqp:5272//blah.example.com¶m1=4",context.xml所以我可以这样查找:
Context ctx = new InitialContext();
String connectionURL = (String)ctx.lookup("myConnectionURL");
Run Code Online (Sandbox Code Playgroud)
提前致谢!
Sto*_*ffe 28
您可以使用Environment标签:
<Context>
<Environment name="myConnectionURL" value="amqp:5272//blah.example.com¶m1=4" type="java.lang.String"/>
</Context>
Run Code Online (Sandbox Code Playgroud)
您几乎可以像在问题中指定的那样阅读它:
InitialContext initialContext = new InitialContext();
Context environmentContext = (Context) initialContext.lookup("java:/comp/env");
String connectionURL = (String) environmentContext.lookup("myConnectionURL");
Run Code Online (Sandbox Code Playgroud)
这与使用Parameter标签非常相似,但不需要ServletContext.
您可以通过在此元素中嵌套元素来配置将作为servlet上下文初始化参数对Web应用程序可见的命名值.例如,您可以创建如下的初始化参数:
<Context>
...
<Parameter name="companyName" value="My Company, Incorporated"
override="false"/>
...
</Context>
This is equivalent to the inclusion of the following element in the web application deployment descriptor (/WEB-INF/web.xml):
<context-param>
<param-name>companyName</param-name>
<param-value>My Company, Incorporated</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)
你的java代码看起来像这样
ServletContext sc = getServletContext();
String companyName = sc.getInitParameter("companyName");
Run Code Online (Sandbox Code Playgroud)
请参阅参考http://tomcat.apache.org/tomcat-7.0-doc/config/context.html
| 归档时间: |
|
| 查看次数: |
16150 次 |
| 最近记录: |