请教一下Banq,关于多帐套的问题

13-03-10 mzljs
问题描述:

SSH结构,怎么处理多帐套的问题,一个帐套是一个数据库。

1):布署J2ee结构应用软件的时候,我们一般都是做一个或二到三个数据源,直接先连接好。

如果是多帐套的情况下,是用户登录系统时,选择帐套,登录进去,如果有10个帐套,

则表示至少有10个数据源.这样就无法做到先连接.

2):dao一般都是单例的,也就是与一个数据库连接.

这种问题一般如何处理?

banq
2013-03-10 20:20
如果部署在一个tomcat,用多个tomcat的JNDI名称对应一个数据源,使用tomcat的DBCP,只要在tomcat/conf/context.xml部署JNDI配置如下:

<Resource name="jdbc/JiveJdonDS"

auth="Container"

type="javax.sql.DataSource"

factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

username="banq"

password="XXXX"

driverClassName="com.mysql.jdbc.Driver"

validationQuery="SELECT 1"

testOnBorrow="true"

maxActive="40"

maxIdle="20"

minIdle="5"

removeAbandoned="true"

url="jdbc:mysql://127.0.0.1/jivejdon?useUnicode=true&characterEncoding=UTF-8" />

<Resource name="jdbc/SecurityDS"

auth="Container"

type="javax.sql.DataSource"

factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"

username="banq"

password="XXXX"

removeAbandoned="true"

driverClassName="com.mysql.jdbc.Driver"

validationQuery="SELECT 1"

testOnBorrow="true"

maxActive="10"

maxIdle="5"

minIdle="1"

url="jdbc:mysql://127.0.0.1/security?useUnicode=true&characterEncoding=UTF-8" />

JNDI名称有两个:

jdbc/JiveJdonDS

jdbc/SecurityDS

两套.war部署包,每个包中配置数据源各自对应上面两个/

十个应该也没有问题。

猜你喜欢