2
大佬们好,我们的服务是spring-cloud服务,使用druid连接池,每次都是等到第一次请求数据库,才初始化连接池,这样每次我们有上线后的第一次处理请求,都超时, 所以我们想在服务启动的时候就初始化好连接池,请问大佬们如何实现?
大佬们好,我们的服务是spring-cloud服务,使用druid连接池,每次都是等到第一次请求数据库,才初始化连接池,这样每次我们有上线后的第一次处理请求,都超时, 所以我们想在服务启动的时候就初始化好连接池,请问大佬们如何实现?
项目启动时手动调用getConnection不就ok了吗
项目启动时手动调用getConnection不就ok了吗
@zhangcunxin 大佬您好,大佬您能具体说下吗,比如描述个伪代码?
@PostConstruct
public void start() throws SQLException {
DruidDataSource druidDataSource=new DruidDataSource();
druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");
druidDataSource.setUrl("jdbc:mysql://xxxxxx");
druidDataSource.setUsername("xxxx");
druidDataSource.setPassword("xxxx");
druidDataSource.setMaxWait(300000);
druidDataSource.setMaxActive(100);
druidDataSource.setMinIdle(1);
druidDataSource.getConnection();
}
@PostConstruct
public void start() throws SQLException {
DruidDataSource druidDataSource=new DruidDataSource();
druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");
druidDataSource.setUrl("jdbc:mysql://xxxxxx");
druidDataSource.setUsername("xxxx");
druidDataSource.setPassword("xxxx");
druidDataSource.setMaxWait(300000);
druidDataSource.setMaxActive(100);
druidDataSource.setMinIdle(1);
druidDataSource.getConnection();
}
大佬,这种的硬这么做是可以实现效果,但是太硬编码了...... 我们的数据库配置都是配在nacos里的,。。这种就不太自动化了。
@PostConstruct
public void start() throws SQLException {
DruidDataSource druidDataSource=new DruidDataSource();
druidDataSource.setDriverClassName("com.mysql.jdbc.Driver");
druidDataSource.setUrl("jdbc:mysql://xxxxxx");
druidDataSource.setUsername("xxxx");
druidDataSource.setPassword("xxxx");
druidDataSource.setMaxWait(300000);
druidDataSource.setMaxActive(100);
druidDataSource.setMinIdle(1);
druidDataSource.getConnection();
}
大佬,这种的硬这么做是可以实现效果,但是太硬编码了...... 我们的数据库配置都是配在nacos里的,。。这种就不太自动化了。
我只是举个例子,我们也不是这么玩,根据你项目自己的需要,我们也是实现DataSource,然后根据具体情况去做的
配置initialSize
配置initialSize
这个正解,赞一个。