JFinal

登录 注册

不能释放连接,大量占用连接数

jfinal版本是2.2

连接配置方式如下:

DruidPlugin druidPlugin = new DruidPlugin(jdbcUrl, username, password, driverClass);
druidPlugin.set(1, 1, 1);
ActiveRecordPlugin arp = new ActiveRecordPlugin("arp", gcaDruidPlugin);
arp.setShowSql(isShowSql);
arp.setDialect(new OracleDialect());
arp.setContainerFactory(new CaseInsensitiveContainerFactory());
druidPlugin.start();
arp.start();

使用Db操作数据库,部分代码如下:

Db.use("Arp").find(...)

现在有一个oracle数据库,分配到的用户限制连接数为5,现在的程序是每天定时从这个数据库读取数据。现在出现个问题,隔天会报“exceeded simultaneous SESSIONS_PER_USER limit”。也就是连接数超过限制,而实际上程序限制了最大连接数为1。我想问这是jfinal没有关闭连接导致创建多个连接的原因吗?

评论

  • 02-12 10:44
    我是问题发布者,我再补充一下,用超级用户查了一下连接,发现有大量jdbc的inactive连接。这应该就是jfinal没关闭连接吧?
  • 02-13 19:07
    DruidPlugin 有一个初始连接数配置:initialSize

    初始值为 10,注意看一下是这不是这个值对你的项目有影响,这个值可以通过
    activeRecordPlugin.setInitialSize(int) 方法进行配置
  • 发送