flink使用hikariCP数据库连接池,导致连接泄露

1、flink使用hikariCP数据库连接池

java 复制代码
    private static volatile HikariDataSource dataSource; 
    private static final Object SOURCE_LOCK = new Object(); 
    private DataSource() { 
    }

    private static HikariDataSource getDataSource(StartupParams startupParams) {
        if (dataSource== null || dataSource.isClosed()) {
            synchronized (SOURCE_LOCK) {
                if (dataSource== null || dataSource.isClosed()) {
                    HikariConfig config = new HikariConfig();
                    try {
                        config.setJdbcUrl("XXX");
                        config.setUsername("XXX");
                        config.setPassword("XXX");
                        config.setMaximumPoolSize(20);
                        config.setMinimumIdle(10);
                        config.setConnectionTimeout(30000); 
                    } catch (Exception e) {
                        log.error("初始化HikariCP连接池配置时发生异常,{}", ExceptionUtils.getStackTrace(e));
                    }
                    dataSource= new HikariDataSource(config);
                }
            }
        }
        return dataSource;
    }

在flink中使用hikariCP当做连接池

2、hikariCP的连接泄露

①在flink的启动模式中,如果是job和task分开部署时,最好不在job中使用连接池,否则会在jobmanager中的持有连接

②所有用到连接的地方都要关闭,try-catch-flinally关闭连接

相关推荐
一颗青果19 小时前
单例模式 | 死锁
linux·服务器·单例模式·1024程序员节
yBmZlQzJ3 天前
财运到内网穿透域名解析技术机制与中立评估
运维·经验分享·docker·容器·1024程序员节
yBmZlQzJ3 天前
内网穿透工具通过端口转发实现内外网通信
运维·经验分享·docker·容器·1024程序员节
数据皮皮侠AI4 天前
数字经济政策工具变量数据(2008-2023)
大数据·数据库·人工智能·笔记·1024程序员节
网安_秋刀鱼5 天前
【java安全】shiro反序列化1(shiro550)
java·开发语言·安全·web安全·网络安全·1024程序员节
unable code7 天前
攻防世界-Misc-Wire1
网络安全·ctf·misc·1024程序员节
开开心心就好7 天前
版本转换工具,支持Win双系统零售批量版
linux·运维·服务器·pdf·散列表·零售·1024程序员节
开开心心就好8 天前
免费卸载工具,可清理残留批量管理启动项
linux·运维·服务器·windows·随机森林·pdf·1024程序员节
unable code8 天前
攻防世界-Misc-4-1
网络安全·ctf·misc·1024程序员节