Zha*_* Yi 18 java spring hibernate spring-jdbc spring-data-jpa
我在我的Web应用程序中使用spring-boot并使用spring-jpa从/向我的数据库读/写.它工作得很好,但我想了解如何管理数据库连接.以下是我的数据库属性配置:
spring.datasource.url=jdbc:mysql://localhost:3306/test?characterEncoding=utf8
spring.datasource.username=user
spring.datasource.password=pwd
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.max-active=500
Run Code Online (Sandbox Code Playgroud)
我已将最大连接数设置为500.当用户在我的spring应用程序上发出请求时,将为他打开数据库连接.完成请求后,春天jpa会关闭这个连接吗?如果没有,它何时关闭未使用的连接?
我已经阅读了http://docs.spring.io/spring-data/jpa/docs/current/reference/html/上的spring jpa参考文档.但它没有提到关于连接的任何事情.
Evg*_*rov 13
您已经发现可以从中进行配置application.properties
您可以在此处找到所有可能的属性.
请注意,从Spring Boot 1.4开始,每个数据源供应商都有数据源属性,这些供应商可以开箱即用地集成.有spring.datasource.dbcp.*,spring.datasource.tomcat.*等等.请参阅1.4文档
如果没有,并且您需要非常具体的东西,您可以自己声明数据源bean.以下是Tomcat数据源的示例:
@Bean
public DataSource dataSource(){
PoolProperties p = new PoolProperties();
p.setUrl("jdbc:mysql://localhost:3306/mysql");
p.setDriverClassName("com.mysql.jdbc.Driver");
p.setUsername("root");
p.setPassword("password");
p.setJmxEnabled(true);
p.setTestWhileIdle(false);
p.setTestOnBorrow(true);
p.setValidationQuery("SELECT 1");
p.setTestOnReturn(false);
p.setValidationInterval(30000);
p.setTimeBetweenEvictionRunsMillis(30000);
p.setMaxActive(100);
p.setInitialSize(10);
p.setMaxWait(10000);
p.setRemoveAbandonedTimeout(60);
p.setMinEvictableIdleTimeMillis(30000);
p.setMinIdle(10);
p.setLogAbandoned(true);
p.setRemoveAbandoned(true);
p.setJdbcInterceptors(
"org.apache.tomcat.jdbc.pool.interceptor.ConnectionState;"+
"org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer");
DataSource datasource = new DataSource();
datasource.setPoolProperties(p);
return datasource ;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
56609 次 |
| 最近记录: |