大佬教程收集整理的这篇文章主要介绍了如何使用默认的Tomcat连接池在Spring Boot 1.3.x中的DataSource上设置自定义连接属性,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
设置池的connectionPropertIEs应该起作用。这些将被传递给JDBC驱动程序。将此添加到application.propertIEs:
spring.datasource.connectionPropertIEs: defaultRowPrefetch=1000;defaultBatchValue=1000
编辑(一些背景信息):
还要注意,您可以通过spring.datasource。*配置任何特定于Datasource实现的属性:有关更多详细信息,请参阅所用连接池实现的文档。
我需要设置一些特定的Oracle JDBC
连接属性,以加快批处理INSERT(defaultBatchValue)
和批量处理SELECT(defaultRowPrefetch
)。我收到了有关如何使用DBCP
实现此建议(感谢m. Deinum),但我想:
我正在考虑spring.datasource.custom_connection_properties
将来要支持或类似功能的功能请求,因此试图装扮成这样,这已经成为可能。我通过在创建数据源时传递相关信息来做到这一点,并像这样操纵数据源的创建:
@Bean
public Datasource datasource() {
Datasource ds = null;
try {
Field props = DatasourceBuilder.class.getDeclaredField("properties");
props.setAccessible(true);
DatasourceBuilder builder = DatasourceBuilder.create();
Map<String,String> properties = (Map<String,String>) props.get(builder);
properties.put("defaultRowPrefetch","1000");
properties.put("defaultBatchValue","1000");
ds = builder.url( "jdbc:Oracle:thin:@xyz:1521:abc" ).username( "ihave" ).password( "wonttell" ).build();
properties = (Map<String,String>) props.get(builder);
log.debug("properties after: {}",properties);
} ... leaving out the catches ...
}
log.debug("We are using this datasource: {}",ds);
return ds;
}
在日志中,我可以看到我正在创建正确的数据源:
2016-01-18 14:40:32.924 DEBUG 31204 --- [ main] d.a.e.a.c.config.DatabaseConfiguration : We are using this datasource: org.apache.tomcat.jdbc.pool.Datasource@19f040ba{ConnectionPool[defaultAutoCommit=null; ...
2016-01-18 14:40:32.919 DEBUG 31204 --- [ main] d.a.e.a.c.config.DatabaseConfiguration : properties after: {password=wonttell,driverClassName=Oracle.jdbc.OracleDriver,defaultRowPrefetch=1000,defaultBatchValue=1000,url=jdbc:Oracle:thin:@xyz:1521:abc,username=ihavE}
执行器显示我的代码替换了数据源:
但是设置未激活,我在分析应用程序时可以看到这些设置。在defaultRowPrefetch仍处于10这将导致我SELECT使他能远远低于他们是,如果1000被激活。
@H_696_50@@H_696_50@以上是大佬教程为你收集整理的如何使用默认的Tomcat连接池在Spring Boot 1.3.x中的DataSource上设置自定义连接属性全部内容,希望文章能够帮你解决如何使用默认的Tomcat连接池在Spring Boot 1.3.x中的DataSource上设置自定义连接属性所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。