开发者

Extra Information in JNDI Definition

I'm developing a web application and it is to be deployed on Apache Tomcat 6.0. Application will be connecting a lot of databases (almost 25) so in order to manage the Connections, I'm using a context.xml file located under META-INF. So far so good, and here is what a Resource Definition looks like:

<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"/>

Given this definition, a Connection object is created correctly.

What I'd like to know is if I am able to add extra information in this definition, such as projectName, and reach it from the context(or somewhere else). Something like 开发者_高级运维the following:

<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"/>

Any help is appreciated..


No, but you could define a naming convention and add an Environment element for each of your resource :

<Environment name="XX_projectName" 
             value="Cool Project"
             type="java.lang.String" 
             override="false"/>

In your code, you would access it via

Context ctx = new InitialContext();
String projectName = (String) ctx.lookup("java:comp/env/XX_projectName");

See http://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Environment%20Entries for details.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜