问题标签 [hikaricp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1405 浏览

mysql - scalikejdbc 中的批量插入在远程计算机上很慢

我正在尝试批量插入 100 个表(我听说这是与 mySQL 一起使用的最佳大小),我使用 scala 2.10.4 和 sbt 0.13.6,我使用的 jdbc 框架是 scalikejdbc 和 Hikaricp,我的连接设置如下所示:

插入代码:

每次我插入一个批次需要 15 秒,我的日志:

当我在托管 mySQL 数据库的服务器上运行它时,它运行得很快,我该​​怎么做才能让它在远程计算机上运行得更快?

0 投票
1 回答
719 浏览

mysql - 使用 HikariCP 和 Slick 管理 MySQL 连接

我在这个软件堆栈上运行一个 Scala 应用程序:

我不明白为什么即使在关闭 Scala 应用程序后,与 MySQL 的打开连接仍然保持打开状态。唯一正确的方面是 Threads_connected 从 16 下降到 1(这是我正在执行“显示状态”命令的控制台。

奇怪的是,每次我运行应用程序时,我总是看到与数据库的打开连接数随着连接池中设置的最大打开连接数(HikariCP maximumPoolSize)而增长,因此我可以声明连接永远不会返回给连接池以供重复使用。

根据 Slick 文档使用

进入其范围时将从池中获取连接,并将其释放到范围之外

我做错了什么还是我在这个软件堆栈上的连接池使用上有什么问题?

0 投票
1 回答
1748 浏览

hibernate - Hibernate 使用 HikariCP 池创建 sessionfactory 失败

我尝试使用 HikariCP 池连接,但我无法启动应用程序,因为我一直得到一个来自创建会话的空对象。

这是我的配置:

系统

  • 休眠 4.3.6.Final
  • MariaDB v10.0 (x64)

HibernateUtil 类

休眠.cfg.xml

日志

准备使用过滤器构建会话工厂:{} HHH000130:实例化显式连接提供程序:应用程序启动方法中的 org.mariadb.jdbc.MySQLDataSource 异常

0 投票
2 回答
2314 浏览

hibernate - Hibernate + HikariCP + EHCache 会话创建失败

以前,我配置好了 Hibernate + c3p0 + ehcache ,如下所示现在,我尝试使用更强大的池,如 HikariCP。首先,我尝试配置 Hibernate + HikariCP,如一篇文章中所示。

到目前为止,我可以很好地使用 Hibernate 和 HikariCP,但是,当我添加 EHCache(如第一个链接所示)时,应用程序无法启动。我没有收到错误,只有应用程序停止尝试创建 sessionfactory。

LOG(我删除了一些类似的行,因为 stackoverflow 不让我放完整的日志,因为它很长)。

hibernate.cfg.xml 的一部分

我不知道这是怎么回事。

HibernateUtil.java

聚甲醛

更新:我添加文件配置以获取更多信息。

0 投票
1 回答
6719 浏览

hikaricp - Hikari setConnectionTimeout 的行为

只是寻找这段代码的基本原理解释(PoolUtiltites:2.2.4 版中的 293):

这段代码和 setConnectionTimeout 方法意味着我得到了这种行为:

  • connectionTimeout == 0,然后 loginTimeout = Integer.MAX_VALUE
  • connectionTimeout > 0 && < 100,然后 HikariConfig 抛出 IllegalArgumentException
  • connectionTimeout >= 100 && <= 1000,则 loginTimeout = connectionTimeout
  • connectionTeimout > 1000,然后 loginTimeout = 1000

这对我来说真的很奇怪!

这几乎就像 Math.min 应该是 Math.max ???

在我当前的项目中,我想在 30 秒后连接失败,这在当前设置中是不可能的。

我正在使用 4.1 postgres jdbc 驱动程序,但我认为这与上述问题无关。

非常感谢 - 很酷的池库!!!

0 投票
1 回答
2031 浏览

mysql - HikariCP + mariadb-java-client 配置失败

我尝试从 移动mysql-java-clientmariadb-java-client。我使用HikariCP池,并使用 HikariCP 网站提供的默认 MySQL 配置。

如果我使用默认的 mysql 客户端,工作正常,但使用 mariadb 我需要删除此参数:

我不知道我是否需要指定这些参数或者是可选的。

0 投票
1 回答
2162 浏览

hibernate - 为什么 hikaricp 给我 Method not found: setUrl at startup?

我正在开发一个没有 Maven 或 Spring 的 GWT 应用程序,但我想使用 HikariCP 作为我的连接池,所以我从 Maven 的中央存储库下载了 HikariCP-2.2.4.jar 以及用于我的 postgresql 驱动程序的 pgjdbc-ng-0.3-complete.jar ; 最后,我将我的休眠库从 4.1 更新到了 4.3。

我在 hibernate.cfg.xml 上使用以下 HikariCP 属性

现在,当我启动应用程序时,它给了我下一个异常:

org.hibernate.HibernateException:java.lang.RuntimeException:java.beans.IntrospectionException:找不到方法:org.hibernate.boot.registry com.zaxxer.hikari.hibernate.HikariConnectionProvider.configure(HikariConnectionProvider.java:84) 的 setUrl .internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) 在 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) ) 在 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94) 在 org.hibernate.boot 的 org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)。注册表.内部。StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111) at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) at org .hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) 在 org.persistencias.HibernateSessionFactory.(HibernateSessionFactory.java:43) 在 org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1845) 在 org.persistencias .BaseHibernateDAO.getSession(BaseHibernateDAO.java:14)java:234) 在 org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) 在 org.hibernate.cfg.Configuration.buildSessionFactory 的 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) (Configuration.java:1845) 在 org.persistencias.HibernateSessionFactory.(HibernateSessionFactory.java:43) 在 org.persistencias.BaseHibernateDAO.getSession(BaseHibernateDAO.java:14)java:234) 在 org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1887) 在 org.hibernate.cfg.Configuration.buildSessionFactory 的 org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206) (Configuration.java:1845) 在 org.persistencias.HibernateSessionFactory.(HibernateSessionFactory.java:43) 在 org.persistencias.BaseHibernateDAO.getSession(BaseHibernateDAO.java:14)43) 在 org.persistencias.BaseHibernateDAO.getSession(BaseHibernateDAO.java:14)43) 在 org.persistencias.BaseHibernateDAO.getSession(BaseHibernateDAO.java:14)

. . . 原因:java.lang.RuntimeException:java.beans.IntrospectionException:找不到方法:com.zaxxer.hikari.util.PropertyBeanSetter.setProperty 的 setUrl(PropertyBeanSetter.java:129)在 com.zaxxer.hikari.util.PropertyBeanSetter。 setTargetFromProperties(PropertyBeanSetter.java:58) 在 com.zaxxer.hikari.util.PoolUtilities.initializeDataSource(PoolUtilities.java:134) 在 com.zaxxer.hikari.pool.HikariPool.(HikariPool.java:142) 在 com.zaxxer。 hikari.pool.HikariPool.(HikariPool.java:109) 在 com.zaxxer.hikari.HikariDataSource.(HikariDataSource.java:78) 在 com.zaxxer.hikari.hibernate.HikariConnectionProvider.configure(HikariConnectionProvider.java:80) .. . 49 更多原因:java.beans.IntrospectionException: Method not found: setUrl at java.beans.PropertyDescriptor.(PropertyDescriptor.java:

我已经在stackoverflow上搜索并用谷歌搜索,但到目前为止还没有找到任何东西,有人可以给我一个提示吗?

谢谢!

0 投票
2 回答
2154 浏览

java - HikariCP - 在连接签入和从连接池签出时动态设置连接的数据库

当连接从池中签入和签出时,我需要切换数据库。例如,会话 X 需要接收到数据库 A 的连接,而会话 Y 需要接收到数据库 B 的连接。

我可以C3P0使用连接定制器来做到这一点。它调用方法onCheckInonCheckOutof AbstractConnectionCustomizer,所以我可以做类似的事情:

我正在尝试切换到HikariCP,但它仅在创建连接时调用一次customize方法。IConnectionCustomizer那么,我怎样才能实现这样的功能呢?

0 投票
1 回答
10598 浏览

java - 使用 HikariCP 到多个数据库的连接池

我正在开发一个查询多个数据库的监控插件。我想使用 HikariCP 来保持连接打开,但我不知道如何实例化连接池。

HikariCP 是否只为多个数据库使用一个池?或者一个数据库只有一个池,我有责任实例化与我将使用的数据库一样多的池。

0 投票
0 回答
560 浏览

grails - Grails 连接池性能问题

在对我的项目进行性能分析时,我发现了几个指向连接池的问题。每个查询都运行以下代码以使用会话工厂的连接池:

每个线程中的第一个会话工厂请求通常需要 200 到 300 毫秒,而后续查询(即使是相同的查询)需要 50-80 毫秒。

我切换到 HikariCP 只是为了进行比较,性能时间减少了一半,主要是因为每个线程内的初始连接没有延迟。什么会导致每个线程中的第一个连接在默认的 Grails 连接池管理器(根据这个站点的 commons-dbcp 连接池)中花费这么长时间?

数据源:

Grails 版本: