方法/步骤
打开tomcat目录,进入conf配置目录,有个context.xml文件,一般建议把数据源配置放在这个文件里进行配置,放在server.xml也是可以的,但不建议这么做,server.xml文件一般是tomcat服务相关的配置
添加Resource节点,name就是JNDI资源访问的名称,注意和应用程序中保持一致,然后配置用户名和密码信息,如果是mysql,配置driverClass的就是mysql的驱动程序的类路径,如果是oracle,就配置对应的oracle驱动类路径。
maxPoolSize,minPoolSize,initialPoolSize这些是连接池相关的配置,可以根据应用的需要配置,一次配置不合适,可以多次调整
<Resource
name="jdbc/chargeService"
auth="Container"
type="com.mchange.v2.c3p0.ComboPooledDataSource"
factory="org.apache.naming.factory.BeanFactory"
user="root"
password="xxx"
driverClass="com.mysql.jdbc.Driver"
jdbcUrl="jdbc:mysql://xxx:3306/bus"
maxPoolSize="5"
minPoolSize="2"
initialPoolSize="3"
acquireIncrement="1"
maxIdleTime="300"
acquireRetryAttempts="30"
acquireRetryDelay="1000"
unreturnedConnectionTimeout="3000"
debugUnreturnedConnectionStackTraces="true"
checkoutTimeout="5000"
idleConnectionTestPeriod="60"
preferredTestQuery="SELECT CURRENT_USER"
/>
这里我们使用的数据源连接池是c3p0,所以得引入c3p0的c3p0-0.9.1.2.jar包,连接池的jar可以按照自己的需要选择,相关的实现方式有(dbcp,c3p0,proxool,druid)
这里我们使用的mysql数据库,所以引入的是mysql-connector-java-5.1.30.jar驱动包,如果是oracle或其它数据库,引入对于数据库的驱动包即可,然后在driverClass配置对于的驱动程序的类路径
tomcat数据源配置上之后,就可以在我们的应用程序中来获取数据源了。通过spring的
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName">
<value>java:comp/env/jdbc/chargeService</value>
</property>
</bean>
方法来获取
高版本的spring为我们提供了
<jee:jndi-lookup id="dataSource" jndi-name="jdbc/chargeService"/>
方式配置,这种方式更为简洁方便,使用方式是一样的
配置MYSQL数据源Custom-WMS在\tomcat6\tomcat6\conf下context.xml添加
<Context>
<Resource name="CustomDS"
auth="Container"
type="javax.sql.DataSource"
username="test"
password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://192.168.1.100:3306/test"
maxActive="100"
maxIdle="30"
maxWait="5000"/>
</Context>
数据库服务器的地址是:192.168.1.100
数据库名是:test
用户名:test
密码:password
端口:3306
登陆字符集:gbk
放置MYSQL驱动
位置如:\tomcat6\tomcat6\lib下
不需要,连接池有几个参数比较重要,一、连接池的最大连接数,二、最小连接数,三、空闲等待时间,四、排队等待时间您的连接连接池会自行管理,当连接超过空闲设置的时间就会自动释放掉,这个时候会检查池内的连接数是否是最小连接数,如果大于最小连接数,则直接释放,如果小最小连接数,再重新建立连接保持池内的连接数不小于最小连接数。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)