我尝试将Spring Boot与HikariDataSource配合使用,但出现了错误。断管怎么配置比较好还是用c3p0比较好?我正在使用这个配置
spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
spring.datasource.type=com.zaxxer.hikari.HikariDataSource
spring.datasource.maxLifetime=200000
spring.datasource.idleTimeout=200000
spring.jpa.database=POSTGRESQL
spring.datasource.maximumPoolSize=5
spring.datasource.maxActive=5
spring.datasource.platform=postgres
spring.jpa.show-sql=false
spring.jpa.database-platform=org.hibernate.dialect.PostgreSQLDialect
spring.datasource.driver-class-name=org.postgresql.Driver
#spring.datasource.url=jdbc:postgresql://localhost:5432/db_dnaso
spring.datasource.url=jdbc:postgresql://172.16.1.10:5432/db_dnaso
#spring.datasource.url=jdbc:postgresql://ci.lumera.com.br:5432/db_dnaso
spring.datasource.username=postgres
spring.datasource.password=dna44100
我使用:
<dependency>
<groupId>com.zaxxer</groupId>
<artifactId>HikariCP</artifactId>
<version>2.5.1</version>
</dependency>
和 springboot 版本 1.4.2.RELEASE
尝试使用此配置来定义数据源
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef = "eaEntityManagerFactory",
transactionManagerRef = "eaTransactionManager",
basePackages = {"com.core.persistance.xx"
})
public class EaDbConfig {
@Bean(name = "eaDataSourceProperties")
@ConfigurationProperties("spring.datasource-ea")
public DataSourceProperties eaDataSourceProperties() {
return new DataSourceProperties();
}
@Bean(name = "eaDataSource")
@ConfigurationProperties("spring.datasource-ea.configuration")
public DataSource eaDataSource(@Qualifier("eaDataSourceProperties") DataSourceProperties eaDataSourceProperties) {
return eaDataSourceProperties.initializeDataSourceBuilder().type(HikariDataSource.class).build();
}
@Bean(name = "eaEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean eaEntityManagerFactory(
EntityManagerFactoryBuilder eaEntityManagerFactoryBuilder, @Qualifier("eaDataSource") DataSource eaDataSource) {
Map<String, String> eaJpaProperties = new HashMap<>();
/* eaJpaProperties.put("hibernate.dialect", "org.hibernate.dialect.H2Dialect");
eaJpaProperties.put("hibernate.hbm2ddl.auto", "create-drop");*/
return eaEntityManagerFactoryBuilder
.dataSource(eaDataSource)
.packages("com.core.persistance.xx.domain"
)
.persistenceUnit("eaDataSource")
.properties(eaJpaProperties)
.build();
}
@Bean(name = "eaTransactionManager")
public PlatformTransactionManager eaTransactionManager(
@Qualifier("eaEntityManagerFactory") EntityManagerFactory eaEntityManagerFactory) {
return new JpaTransactionManager(eaEntityManagerFactory);
}
}
---------------
config properties :
# source configuration
- spring.datasource-ea.url=url
- spring.datasource-ea.username=username
- spring.datasource-ea.password=password
- spring.datasource-ea.driverClassName=oracle.jdbc.OracleDriver
尝试将@bean添加到配置类中。
@Bean(name = "hikariDataSource")
@Qualifier("hikariDataSource")
@ConfigurationProperties(prefix = "spring.datasource.hikari")
public DataSource hikariDataSource() {
log.info("Building hikariDataSource......");
return DataSourceBuilder.create().type(com.zaxxer.hikari.HikariDataSource.class).build();
}
以及配置属性文件。
spring.datasource.hikari.jdbc-url=jdbc:mysql://127.0.0.1:3306/test
spring.datasource.hikari.username=root
spring.datasource.hikari.password=root
spring.datasource.hikari.driver-class-name=com.mysql.jdbc.Driver
我将在我的WEB应用程序中使用HikariCP而不是c3p0。看起来,太棒了。但对我来说,HikariCP界面中仍然存在一个值得怀疑的地方。它包含两个类—HikariPool和HikariDataSource,它们包含几乎相似的功能。通过查看源代码,我发现HikariDataSource就像HikariPool的包装器。例如,请在下面找到代码中有趣的部分: 这两个类工作完美。那么,问题是这样的:最
我已经实现了HikariCP,它工作得很好,我现在计划优雅地关闭我的应用程序,我想让HikariCP正确地关闭数据库连接,而不仅仅是关闭java应用程序。我在谷歌上阅读,我可以看到HikariDataSource应该有一个封闭的方法。。。。但事实上,我看不到它的可用性: 在Eclipse中,如果我尝试ds。close()。。。Eclipse没有显示“close”作为HikariDataSource
这是释放回池的连接的正确方法吗 只是想确保这是正确的,因为如果我不调用连接,我的连接不会被重新循环
以下是(Java8 Oauth2 MySql Hazelcast无集群http会话)组合的prod模式中的错误。开发模式运行良好。 在日志中,数据源(hazelcast)创建的第一部分显示[dev]模式。我不确定这是故意的。 请帮助我解决这个问题。 新鲜的观察。早些时候,我有两个jhipster网络应用程序在同一个tomcat上运行。删除另一个已经消除了错误。我能知道原因吗?在生产中,两个jhip
我在我的应用程序中创建了第二个DataSource。 我用HikariDataSource创建了它,因为它断开了连接,所以出现了问题。 现在它没有断开,但是很慢 我的配置如下: 爪哇: 有人能告诉我如何提高绩效吗。 它们是表的小查询,分页约为25条记录,需要4秒钟。 我观察到,查询一个select的200条记录需要46秒,而查询只需要2秒。 以前,它们是千分之一秒。 非常感谢。
我正在试图弄清楚目前有多少连接被打开,但我似乎找不到一个明显的方法来使用Hikari实现这一点。 公开了这些信息(),但我没有看到从访问这些信息的简单方法。