Tag: hikaricp

Tomcat:使用数据库连接部署两个应用程序时出现HikariCP问题

我试图在同一个tomcat7实例上部署两个WAR文件(app1.war和app2.war)。 我收到此错误: Unable to register MBean [HikariDataSource (HikariPool-0)] with key ‘dataSource’; nested exception is javax.management.InstanceAlreadyExistsException: com.zaxxer.hikari:name=dataSource,type=HikariDataSource 如果我在tomcat上只部署了一个应用程序,则没有此错误。 有没有办法解决这个问题?

HikariPool-1 – 连接不可用,请求超时后

我正在使用HikariCP 2.4.7连接池。 在启动应用程序之后一切都很好但是在一段时间之后没有调用getConnection()我在尝试getConnection()时遇到了这个错误: java.sql.SQLTransientConnectionException: HikariPool-1 – Connection is not available, request timed out after 42734ms. at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.java:555) at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:188) at com.zaxxer.hikari.pool.HikariPool.getConnection(HikariPool.java:147) at com.zaxxer.hikari.HikariDataSource.getConnection(HikariDataSource.java:99) at pl.airly.database.ComplexOperations.getSensorDataFromArea(ComplexOperations.java:310) at pl.airly.database.ComplexOperations.getMeasurementsInAreaWithinTimeFrame(ComplexOperations.java:201) at pl.airly.ResponseGenerator.getResponseAdequateToRequest(ResponseGenerator.java:139) at sun.reflect.GeneratedMethodAccessor24.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136) at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:114) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) at […]

Hibernate 5 + HikariCP + MySQL

我使用Hibernate 5和MySQL数据库开始了一个项目。 在这个项目之前,我一直在使用Hibernate 4,PostgreSQL和C3P0连接池。 现在,我想用Hibernate 5来使用HikariCP,因为它看起来很有前途。 这是我的hibernate的IVY配置部分: <!DOCTYPE ivy-module [ ]> … 我的DAO看起来像这样: public class PtDao { private Logger logger = LoggerFactory.getLogger(PtDao.class); private static PtDao instance; private Configuration cfg; private static ServiceRegistry serviceRegistry; private SessionFactory factory; private Transaction tx; private static Session session; private PtDao(){ prepararConexionConHikariCP(); } private void prepararConexionConHikariCP(){ try{ cfg = new Configuration(); […]

HikariCP Wrapper(线程安全)

我正在学习使用HikariCP(我是java的新手),我发现了一个包装器,但我认为它不是线程安全,单例的实例是线程安全,但不是方法getConnection()。 这个课是这样的: public class HikariCPWrapper{ private static final HikariCPWrapper INSTANCE; private HikariDataSource ds; static { INSTANCE = new HikariCPWrapper(); } private HikariCPWrapper(){ HikariConfig config = new HikariConfig(); //config.set… //… ds = new HikariDataSource(config); } public static HikariCPWrapper getInstance () { return INSTANCE; } public Connection getConnection() throws SQLException { return ds.getConnection(); } } 好吧,我需要向HikariConfig或HikariDataSource发送参数,所以我用这种方式重写它: public […]

如何在Spring(4)上下文中为HSQL配置Hikari CP?

我想在我的Spring 4.0.3环境中使用Hikari CP ,但似乎我错过了一些东西。 我的bean配置如下: ${database.driver} ${database.database.jdbc.url} ${database.port} ${database.name} ${database.user} ${database.password} 但我得到一个例外: Caused by: java.lang.IllegalArgumentException: one of either dataSource or dataSourceClassName must be specified at com.zaxxer.hikari.HikariConfig.validate(HikariConfig.java:655) at com.zaxxer.hikari.HikariDataSource.(HikariDataSource.java:66) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:408) at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:148) … 15 more 我试图使用HSQL org.hsqldb.jdbc.JDBCDataSource配置dataSourceClassName 那样: org.hsqldb.jdbc.JDBCDataSource 也是这样: org.hsqldb.jdbc.JDBCDataSource 两次我都得到以下exception: Caused by: java.lang.RuntimeException: java.beans.IntrospectionException: Method not […]

数据库连接池初始化错误

我正在尝试为我的Web应用程序配置HikariCP。 我没有使用任何框架,它是一个简单的Java Web应用程序。 当我尝试通过普通JDBC建立连接时,它成功了,我能够执行所有数据库操作。 但是,当我试图获得连接池的连接时,我在初始化后得到一个exception,我不知道。 下面是我正在使用的配置,我正在上下文监听器中初始化它。 我在Java 1.7上运行,使用HikariCP Java 6依赖2.3.2的Tomcat容器 import java.sql.Connection; import java.sql.SQLException; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import com.mkgcorp.travelweb.util.TLog; import com.sun.jersey.core.util.Base64; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; public class CPInit implements ServletContextListener{ private final static String TAG = CPInit.class.getSimpleName(); private static HikariConfig mConfig; private static HikariDataSource mDataSource; public static String POOL_NAME = “TripPool”; public static int […]

我可以在Google App Engine上使用HikariCP吗?

在App Engine上寻找连接池解决方案,使用Cloud SQL,多个条目显示HikariCP应该工作的建议,因为它允许外部ThreadFactory配置。 例如; JDBC连接池与App Engine兼容 使用Cloud SQL的应用引擎上的连接池 配置将是这样的: import com.google.appengine.api.ThreadManager; … HikariConfig lConfig = new HikariConfig(); config.setThreadFactory(ThreadManager.backgroundThreadFactory()); … 但是有问题; Google App Engine上的HikariCP 实际上,由于App Engine受限制的“沙盒”环境,快速尝试暴露了多个问题。 所以问题仍然存在; 有人在Google App Engine上成功实施了HikariCP吗?

“Tomcat 7 JDBC连接池”是否足以用于生产? 它与BoneCP相比如何?

我们的网站每天大约获得1M PV,我们肯定会使用Tomcat。 我找不到有关jdbc-pool的更多信息,不确定它是否足够稳定以供生产。 有人有经验吗? 以及任何配置/调整内容供参考? 正如有人提到的, BoneCP可能是另一种选择。 但似乎它已经停止了(太可悲了……)。 这会是一个更好的选择吗? 顺便说一句, HikariCP太年轻了,我会留意它,因为它是迄今为止我发现的最新/最快的CP。 谢谢你的建议。