首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Tomcat中存储简单的自定义设置

如何在Tomcat中存储简单的自定义设置
EN

Stack Overflow用户
提问于 2012-04-03 00:50:08
回答 2查看 150关注 0票数 2

我在两个位置运行Tomcat7Web应用程序;一个位置有一个MySQL数据库,另一个位置是SQL-Server。在webapp的context.xml文件中,我定义了两个<Resources>,它们包含两个数据库的数据库连接信息。因为我还在开发,所以我有时在家里使用MySQL服务器运行应用程序,有时在工作时使用SQL服务器运行应用程序。

到目前为止,我每次都要重新编译代码以连接到MySQL或SQL-Server,方法是更改以下行

代码语言:javascript
复制
//connect to MySQL
DataSource ds = (DataSource) env.lookup( "jdbc/mysql" );

转到

代码语言:javascript
复制
//connect to SQL-Server
DataSource ds = (DataSource) env.lookup( "jdbc/sqlserver" );

有没有一种简单的方法可以让web应用程序知道我在哪个位置,例如通过xml文件中的设置,这样webapp就知道它必须连接哪个数据库?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-03 00:58:44

使JNDI名称成为外部配置设置,您可以将其作为属性文件值或VM参数检索,也可以作为环境变量值检索。

例如,作为您put in the classpath的属性文件config.properties

代码语言:javascript
复制
db.jndi.name=jdbc/mysql

如下所示:

代码语言:javascript
复制
Properties properties = new Properties();
properties.load(input);
String dbJndiName = properties.getProperty("db.jndi.name");

或者作为您在服务器的启动脚本中指定的VM参数:

代码语言:javascript
复制
-Ddb.jndi.name=jdbc/mysql

如下所示:

代码语言:javascript
复制
String dbJndiName = System.getProperty("db.jndi.name");
票数 1
EN

Stack Overflow用户

发布于 2012-04-03 00:57:31

在应用程序的上下文定义中,只定义一个名称始终相同的数据源。根据您所在的位置更改数据源定义。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9980440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档