我正在开发一个Web应用程序,它将部署在Apache Tomcat 6.0上。应用程序将连接大量数据库(差不多25个),因此为了管理Connection
,我正在使用位于 META-INF 下的context.xml文件。到目前为止一切都很好,这就是资源定义的样子:
<Resource
name="jdbc/XX"
auth="Container"
type="javax.sql.DataSource"
username="XXX"
password="XXX"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:XXXX"
maxActive="8"
maxIdle="4"/>
根据此定义,可以正确创建Connection对象。
我想知道的是如果我能够在此定义中添加额外信息,例如projectName
,并从上下文中获取(或其他地方)。如下所示:
<Resource
name="jdbc/XX"
auth="Container"
type="javax.sql.DataSource"
username="XXX"
password="XXX"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:XXXX"
maxActive="8"
maxIdle="4"
projectName="Cool Project"/>
感谢任何帮助..
答案 0 :(得分:1)
不,但您可以定义命名约定并为每个资源添加一个Environment元素:
<Environment name="XX_projectName"
value="Cool Project"
type="java.lang.String"
override="false"/>
在您的代码中,您可以通过
访问它Context ctx = new InitialContext();
String projectName = (String) ctx.lookup("java:comp/env/XX_projectName");
有关详细信息,请参阅http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Environment%20Entries。