Search code examples
javaperformancedatabase-connectionhikaricpquarkus

Why 'Quarkus' chose 'Agroal' instead of 'HikariCP' as the preferred datasource and connection pooling implementation?


As per the Quarkus documentation :

In Quarkus, the preferred datasource and connection pooling implementation is Agroal.

But, I don't see any review or comparison of 'Agroal' with the well known JDBC Connection Pooling implementation 'HikariCP'.

What makes 'Agroal' better than 'HikariCP', except that BOTH Quarkus and Agroal are from RedHat?


Solution

  • With Agroal you can update configuration on runtime

    Configuration property overridable at runtime

    While Hikari doesn't support it

    You can't dynamically update the property values by resetting them on the config object

    Another reason is Quarkus integration

    features first class integration with the other components in Quarkus, such as security, transaction management components, health metrics