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关闭连接

相关推荐
学传打活5 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
学传打活11 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng16819 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心21 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u0103055271 个月前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u0103055271 个月前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝1 个月前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055271 个月前
Java图像处理实战指南
人工智能·1024程序员节
u0103055271 个月前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055271 个月前
Java实用类应用精讲
人工智能·1024程序员节