Tomcat6.0连接池配置
1.配置tomcat下的conf下的context.xml文件,在之间添加连接池配置:
1. <Resource name="jdbc/oracle"
2. auth="Container"
3. type="javax.sql.DataSource"
4. driverClassName="oracle.jdbc.driver.OracleDriver "
5. url=" jdbc:oracle:thin:@host:port:databse"
6. username=" user "
7. password="password"
8. maxActive="100"
9. maxIdle="30"
10. maxWait="10000" />
2.配置你的应用下的web.xml中的之间加入:
1. <resource-ref>
2. <description>DB Connection</description>
3. <res-ref-name>jdbc/oracle</res-ref-name>
4. <res-type>javax.sql.DataSource</res-type>
5. <res-auth>Container</res-auth>
6. </resource-ref>
3.把连接数据库的第三方驱动放到common/lib下面就ok了
4.测试程序我就不写了
Tomcat5.5x连接池配置
方式一、全局数据库连接池
1、通过管理界面配置连接池,或者直接在tomcat\conf\server.xml的GlobalNamingResources中增加
<Resource name="jdbc/mydb" type="javax.sql.DataSource" password="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" username="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
2、在tomcat\webapps\myapp\META-INF\context.xml的Context中增加:
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
这样就可以了。
方式二、全局数据库连接池
1、同上
2、在tomcat\conf\context.xml的Context中增加:
<ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
方式三、局部数据库连接池
只需在tomcat\webapps\myapps\META-INF\context.xml的Context中增加:
<Resource name="jdbc/mydb" type="javax.sql.DataSource" password="mypwd" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" maxIdle="2" maxWait="5000" validationQuery="select 1" username="sa" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=mydb" maxActive="4"/>
参数说明:
driveClassName:JDBC驱动类的完整的名称;
maxActive:同时能够从连接池中被分配的可用实例的最大数;
maxIdle:可以同时闲置在连接池中的连接的最大数;
maxWait:最大超时时间,以毫秒计;
password:用户密码;
url:到JDBC的URL连接;
user:用户名称;
validationQuery:用来查询池中空闲的连接。
以上三种方式在tomcat 5.5.4下都可以。另外,sql server的jdbc driver是从微软网站上下载的sql server jdbc (sp3)。
tomcat5.0连接池配置
在tomcat 的下面路径(Tomcat \conf\Catalina\localhost)下建一个xml文件,内容如下
<Resource name="jdbc/test" auth="Container" type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/test">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<!-- Maximum number of dB connections in pool. Make sure you
configure your mysqld max_connections large enough to handle
all of your db connections. Set to 0 for no limit.
-->
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>
<!-- Maximum number of idle dB connections to retain in pool.
Set to 0 for no limit.
-->
<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>
<!-- Maximum time to wait for a dB connection to become available
in ms, in this example 10 seconds. An Exception is thrown if
this timeout is exceeded. Set to -1 to wait indefinitely.
-->
<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>
<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>sa</value>
</parameter>
<parameter>
<name>password</name>
<value>test</value>
</parameter>
<!-- Class name for JDBC driver -->
<parameter>
<name>driverClassName</name>
<value>net.sourceforge.jtds.jdbc.Driver</value>
</parameter>
<!-- Autocommit setting. This setting is required to make
Hibernate work. Or you can remove calls to commit(). -->
<parameter>
<name>defaultAutoCommit</name>
<value>true</value>
</parameter>
<!-- The JDBC connection url for connecting to your MySQL dB.
The autoReconnect=true argument to the url makes sure that the
mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
connection. mysqld by default closes idle connections after 8 hours.
-->
<parameter>
<name>url</name>
<value>jdbc:jtds:sqlserver://url/filedb;charset=gb2312;autoReconnect=true</value>
</parameter>
<!-- Recover abandoned connections -->
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<!-- Set the number of seconds a dB connection has been idle
before it is considered abandoned.
-->
<parameter>
<name>removeAbandonedTimeout</name>
<value>60</value>
</parameter>
<!-- Log a stack trace of the code which abandoned the dB
connection resources.
-->
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
</ResourceParams>
posted @ 2011-06-01 16:34 ﹎"該變ゾ 阅读(57) 评论(0) 编辑
spring配置所作项目的spring常用配置文件,结合hibernate
1.config.properties文件//配置连接数据库的参数,和Hibernate的一些参数
Java代码 复制代码
#for mysql
#jdbc.driver=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://localhost:3306/***?useUnicode=true&characterEncoding=GBK
#jdbc.username=root
#jdbc.password=123
#hibernate.dialect=org.hibernate.dialect.MySQLDialect
#for hsqldb
9. #jdbc.driver=org.hsqldb.jdbcDriver
10. #jdbc.url=jdbc:hsqldb:file:/${***.root}/WEB-INF/data/***
11. #jdbc.username=sa
12. #jdbc.password=
13. #hibernate.dialect=org.hibernate.dialect.HSQLDialect
14.
15. #for oracle
16. jdbc.driver=oracle.jdbc.driver.OracleDriver
17. jdbc.url=jdbc:oracle:thin:@192.168.8.***:1521:orcl
18. jdbc.username=bmsys2
19. jdbc.password=oracle9i
20. hibernate.dialect=org.hibernate.dialect.Oracle9Dialect
21.
22.
23. #for sql server
24. #jdbc.driver=net.sourceforge.jtds.jdbc.Driver
25. #jdbc.url=jdbc:jtds:sqlserver://localhost:1433/***;SelectMethod=cursor;
26. #jdbc.username=sa
27. #jdbc.password=zhang
28. #hibernate.dialect=org.hibernate.dialect.SQLServerDialect
29.
30. jdbc.maxActive=30
31. jdbc.maxIdle=20
32. jdbc.maxWait=1000
33.
34.
35. hibernate.show_sql=true
36. hibernate.hbm2ddl.auto=
37. hibernate.format_sql=true
38. hibernate.cache.use_query_cache=false
39. hibernate.default_batch_fetch_size=16
#for mysql
#jdbc.driver=com.mysql.jdbc.Driver
#jdbc.url=jdbc:mysql://localhost:3306/***?useUnicode=true&characterEncoding=GBK
#jdbc.username=root
#jdbc.password=123
#hibernate.dialect=org.hibernate.dialect.MySQLDialect
#for hsqldb
#jdbc.driver=org.hsqldb.jdbcDriver
#jdbc.url=jdbc:hsqldb:file:/${***.root}/WEB-INF/data/***
#jdbc.username=sa
#jdbc.password=
#hibernate.dialect=org.hibernate.dialect.HSQLDialect
#for oracle
jdbc.driver=oracle.jdbc.driver.OracleDriver
jdbc.url=jdbc:oracle:thin:@192.168.8.***:1521:orcl
jdbc.username=bmsys2
jdbc.password=oracle9i
hibernate.dialect=org.hibernate.dialect.Oracle9Dialect
#for sql server
#jdbc.driver=net.sourceforge.jtds.jdbc.Driver
#jdbc.url=jdbc:jtds:sqlserver://localhost:1433/***;SelectMethod=cursor;
#jdbc.username=sa
#jdbc.password=zhang
#hibernate.dialect=org.hibernate.dialect.SQLServerDialect
jdbc.maxActive=30
jdbc.maxIdle=20
jdbc.maxWait=1000
hibernate.show_sql=true
hibernate.hbm2ddl.auto=
hibernate.format_sql=true
hibernate.cache.use_query_cache=false
hibernate.default_batch_fetch_size=16
2.spring-config.xml; //读取config.properties,配置DataSource
Java代码 复制代码
1. <?xml version="1.0" encoding="GBK" ?>
2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3. <beans>
4. <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
5. <property name="location">
6. <value>/WEB-INF/config.properties</value>
7. </property>
8. </bean>
9. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
10. <property name="driverClassName">
11. <value>${jdbc.driver}</value>
12. </property>
13. <property name="url">
14. <value>${jdbc.url}</value>
15. </property>
16. <property name="username">
17. <value>${jdbc.username}</value>
18. </property>
19. <property name="password">
20. <value>${jdbc.password}</value>
21. </property>
22. <property name="maxActive">
23. <value>${jdbc.maxActive}</value>
24. </property>
25. <property name="maxIdle">
26. <value>${jdbc.maxIdle}</value>
27. </property>
28. <property name="maxWait">
29. <value>${jdbc.maxWait}</value>
30. </property>
31. </bean>
32. </beans>
<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>/WEB-INF/config.properties</value>
</property>
</bean>
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName">
<value>${jdbc.driver}</value>
</property>
<property name="url">
<value>${jdbc.url}</value>
</property>
<property name="username">
<value>${jdbc.username}</value>
</property>
<property name="password">
<value>${jdbc.password}</value>
</property>
<property name="maxActive">
<value>${jdbc.maxActive}</value>
</property>
<property name="maxIdle">
<value>${jdbc.maxIdle}</value>
</property>
<property name="maxWait">
<value>${jdbc.maxWait}</value>
</property>
</bean>
</beans>
3.spring-hibernate.xml;//配置sessionFactory,transactionManager
Java代码 复制代码
1. <?xml version="1.0" encoding="GBK" ?>
2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3. <beans>
4. <bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
5. <property name="dataSource">
6. <ref bean="dataSource" />
7. </property>
8. <property name="mappingResources">
9. <list>
10. <value>com/../*.hbm.xml</value>
11. </list>
12. </property>
13. <property name="hibernateProperties">
14. <props>
15. <prop key="hibernate.dialect">${hibernate.dialect}</prop>
16. <prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
17. <prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
18. <prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
19. <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
20. <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
21. <prop key="hibernate.connection.useUnicode">true</prop>
22. <prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
23. <prop key="hibernate.default_batch_fetch_size">${hibernate.default_batch_fetch_size}</prop>
24. </props>
25. </property>
26. </bean>
27. <bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
28. <property name="sessionFactory">
29. <ref bean="sessionFactory" />
30. </property>
31. </bean>
32. </beans>
<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="mappingResources">
<list>
<value>com/../*.hbm.xml</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">${hibernate.dialect}</prop>
<prop key="hibernate.cglib.use_reflection_optimizer">true</prop>
<prop key="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</prop>
<prop key="hibernate.show_sql">${hibernate.show_sql}</prop>
<prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
<prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
<prop key="hibernate.connection.useUnicode">true</prop>
<prop key="hibernate.cache.use_query_cache">${hibernate.cache.use_query_cache}</prop>
<prop key="hibernate.default_batch_fetch_size">${hibernate.default_batch_fetch_size}</prop>
</props>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
</beans>
4.spring-dao.xml;//配置所有Dao
Java代码 复制代码
1. <?xml version="1.0" encoding="GBK" ?>
2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3. <beans>
4. <!-- Finance-->
5. <bean id="xxxDao" class="com.xxx.XXXDAOHbm">
6. <property name="sessionFactory">
7. <ref bean="sessionFactory" />
8. </property>
9. </bean>
10. </beans>
<?xml version="1.0" encoding="GBK" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<!-- Finance-->
<bean id="xxxDao" class="com.xxx.XXXDAOHbm">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
</beans>
5.spring-service.xml;//配置service,声明事务,继承baseTransactionProxy
Java代码 复制代码
1. <?xml version="1.0" encoding="GBK" ?>
2. <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
3. <beans>
4. <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
5. <property name="transactionManager" ref="transactionManager" />
6. <property name="transactionAttributes">
7. <props>
8. <prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
9. <prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
10. <prop key="load*">PROPAGATION_REQUIRED,readOnly</prop>
11. <prop key="create*">PROPAGATION_REQUIRED</prop>
12. <prop key="update*">PROPAGATION_REQUIRED</prop>
13. <prop key="delete*">PROPAGATION_REQUIRED</prop>
14. <prop key="set*">PROPAGATION_REQUIRED</prop>
15. <prop key="add*">PROPAGATION_REQUIRED</prop>
16. <prop key="remove*">PROPAGATION_REQUIRED</prop>
17. <prop key="increase*">PROPAGATION_REQUIRED</prop>
18. <prop key="init*">PROPAGATION_REQUIRED</prop>
19. <prop key="back*">PROPAGATION_REQUIRED</prop>
20. <prop key="*">PROPAGATION_REQUIRED,readOnly</prop>
21. </props>
22. </property>
23. </bean>
24.
25. <!-- service implements -->
26. <bean id="XXXService" parent="baseTransactionProxy">
27. <property name="target">
28. <bean class="com.XXX.XXXServiceImpl">
29. <property name="sessionFactory">
30. <ref bean="sessionFactory" />
31. </property>
32. <property name="xxxDao">
33. <ref bean="xxxDao" />//所包含Dao
34. </property>
35. <property name="commonService">
36. <ref bean="otherService" />//所包含service
37. </property>
38. </bean>
39. </property>
<property name="proxyTargetClass">
<value>true</value>
</property>
40. </bean>
41. </beans>
注意上面要加上
<property name="proxyTargetClass">
<value>true</value>
</property>
这段,都则会出错。