JDBC connection pool with the best performance: HikariCP, jdbchikaricp

Source: Internet
Author: User

JDBC connection pool with the best performance: HikariCP, jdbchikaricp

HikariCP claims to be the best-performing JDBC connection pool component. I have not carefully tested the specific performance, but from the perspective of its development, it may indeed have higher performance than all current connection pool components as it promotes. Previously, the memory for the connection pool has always been C3P0, DBCP, and BoneCP. Among the three, BoneCP has the best performance. The performance of C3P0 is indeed very poor, it seems that C3P0 has not been updated for a long time, so we should stop using C3P0 In the project. As for whether to use HikariCP, I think we can try it. HikariCP is only available soon after all, and its performance also needs to be tested in practice. If you are worried about the pitfalls of new things, I recommend BoneCP. Spring is now integrated with HikariCP, so I think it is necessary to try it. Not long ago I used HikariCP in the project, and there was no problem, and the operation was stable.

Address of HikariCP on github: https://github.com/brettwooldridge/HikariCP

The following is a comparison of the performance of two HikariCP and other connection pool components:


You can see detailed usage documents on its website. The following is a general usage method:

Import java. SQL. connection; import java. SQL. SQLException; import com. zaxxer. hikari. hikariConfig; import com. zaxxer. hikari. hikariDataSource;/*** HikariCP use * @ author CoolKing **/public class DataSource {private HikariDataSource ds; /*** initialize the connection pool * @ param minimum * @ param Maximum */public void init (int minimum, int Maximum) {// configure HikariConfig config = new HikariConfig () in the connection pool (); config. setDriverClassName ("com. my SQL. jdbc. Driver "); config. setJdbcUrl (" jdbc: mysql: // 127.0.0.1: 3306/testdb? User = root & password = 123456 & useUnicode = true & characterEncoding = utf8 "); config. addDataSourceProperty ("cacheprepsponts", true); config. addDataSourceProperty ("prepStmtCacheSize", 500); config. addeffecceproperty ("prepStmtCacheSqlLimit", 2048); config. setConnectionTestQuery ("SELECT 1"); config. setAutoCommit (true); // the minimum number of idle connections in the pool config. setMinimumIdle (minimum); // The maximum number of connections in the pool config. setMaximumPoolSize (Maximum); ds = new HikariDataSource (config);}/*** destroy connection pool */public void shutdown () {ds. shutdown ();}/*** get the link from the Connection pool * @ return */public Connection getConnection () {try {return ds. getConnection ();} catch (SQLException e) {e. printStackTrace (); ds. resumePool (); return null ;}} public static void main (String [] args) throws SQLException {DataSource ds = new DataSource (); ds. init (10, 50); Connection conn = ds. getConnection ();//...... // close the link conn. close ();}}
In addition, HikariCP depends on the following jar files:

Slf4j-api-1.7.12.jar

Metrics-core-3.0.2.jar

Metrics-healthchecks-3.1.2.jar

Javassist-3.19.0-GA.jar

HikariCP-2.3.5.jar

Mysql-connector-java-5.0.8-bin.jar is also required if MySQL is used

You can download the jar from http://download.csdn.net/detail/abc_key/8790543.


Related Article

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.