0

我已经使用

<Resource name="jdbc/common" auth="Container" type="javax.sql.DataSource" maxActive="50" maxIdle="30" maxWait="10000" username="user"使用数据源连接数据库password="pass" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/db"/>


但我们有超过 50 个数据库。所以我想动态连接数据库。请帮我。

4

2 回答 2

0

50 个数据库?您的意思是“单个应用程序使用 50 个数据库”吗?

如果是的话 - 那太疯狂了。

Java EE 应用程序中的数据库配置通常添加到应用程序服务器(Tomcat 或 JBOSS)。应用程序执行 JNDI 查找以从池中获取对数据源的引用。

如果一个应用程序有 50 个 JNDI 数据源,我会说你应该重新考虑你的设计。

于 2013-09-16T14:49:10.520 回答
0

您可以使用 apache commons dbcp 以编程方式创建数据源:

BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(DATABASE_DRIVER_CLASS);
ds.setUsername(DATABASE_USERNAME);
ds.setPassword(DATABASE_PASSWORD);
ds.setUrl(DATABASE_URL);
ds.setInitialSize(1);
ds.setMaxActive(50);
ds.setDefaultAutoCommit(false);

http://commons.apache.org/proper/commons-dbcp/

于 2013-09-16T14:43:34.590 回答