SSM 多项目多数据源配置
...大约 1 分钟
SSM 多项目多数据源配置
一、背景
公司的多个项目使用同一个 tomcat,使用 idea 部署开发的时候,除了要在 idea 中配置不同的端口,还要考虑不同项目不同数据源的问题。这几个项目都使用的 Oracle 数据库,但是地址不同,这里提供的修改成本最低的一种方法.
二、修改项目配置
2.1 修改 applicationContext.xml 文件
默认的路径是 /WEB-INF/applicationContext.xml,可以在 web.xml 文件中自定义,如
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/classes/applicationContext-*.xml
</param-value>
</context-param>
在 applicationContext.xml 文件中配置 jndi,我用的是这种方式
<!-- 默认数据库连接 -->
<jee:jndi-lookup id="dataSource" jndi-name="name1" resource-ref="true"/>
2.2 修改 web.xml 文件
加入以下配置,注意 <res-ref-name>
与 jndi 中的 jndi-name 对应
<resource-ref>
<description>DB Connection</description>
<res-ref-name>name1</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
三、修改 tomcat 配置
这里只修改 context.xml 就可以了,注意 name 与上面对应
<!-- name1开发库 -->
<Resource
name="name1"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@xx.xx.xx.xx:1521:orcl"
username="xxxx"
password="xxxx"
maxIdle="20"
maxWait="0"
maxActive="15"/>
<!-- name1开发库 -->
<Resource
name="name2"
type="javax.sql.DataSource"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@xx.xx.xx.xx:1521:orcl"
username="xxxx"
password="xxxx"
maxIdle="20"
maxWait="0"
maxActive="15"/>
Powered by Waline v3.3.0