我想将连接URL存储在Tomcat应用程序的JNDI绑定中。由于Tomcat context.xml用于JNDI资源定义,因此我需要弄清楚在中存储String(或用于多个连接的多个字符串)的适当方法context.xml。
context.xml
我这样做的原因是,我可以为不同的环境定义不同的字符串,然后通过JNDI加载它们。
通常,我看到这样的条目:
<Context ...> <Resource name="someName" auth="Container" type="someFullyQualifiedClassName" description="Some description."/> </Context>
真的就这么简单吗:
<Context ...> <Resource name="myConnectionURL" auth="Container" type="java.lang.String" description="A connection URL string."/> </Context>
如果是这样, 我实际在哪里存储字符串值?!?! 如果不正确,那么对我来说合适的存储方式是什么,例如“ amqp:5272//blah.example.com¶m1=4”,context.xml这样我就可以像这样查找它:
amqp:5272//blah.example.com¶m1=4
Context ctx = new InitialContext(); String connectionURL = (String)ctx.lookup("myConnectionURL");
提前致谢!
您可以通过将元素嵌套在元素中来配置命名值,这些值将作为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>
您的Java代码如下所示
ServletContext sc = getServletContext(); String companyName = sc.getInitParameter("companyName");
请参阅参考http://tomcat.apache.org/tomcat-7.0-doc/config/context.html