I'm using Quarkus 1.13.3.FINAL
and I'm facing issues on my reactive datasource health check when deploying my application.
I have both JDBC and reactive datasources being used. Here's how they're set up:
%devops.quarkus.datasource.jdbc.url= jdbc:postgresql://<host>:5432/<database>?sslmode=require
%devops.quarkus.datasource.reactive.url= postgresql://<host>:5432/<database>
%devops.quarkus.datasource.reactive.postgresql.ssl-mode=require
What confuses me is that the exception indicates an SSL handshake error for the reactive datasource, but the JDBC one works fine. Also, they both work fine locally.
2021-05-03 16:41:04,777 INFO [io.sma.health] (vert.x-worker-thread-10) SRHCK01001: Reporting health down status: {"status":"DOWN","checks":[{"name":"Reactive PostgreSQL connections health check","status":"DOWN","data":{"<default>":"up"}},{"name":"Database connections health check","status":"UP"}]}
2021-05-03 16:41:14,572 SEVERE [io.ver.cor.net.imp.ConnectionBase] (vert.x-eventloop-thread-1) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
2021-05-03 16:41:14,573 WARN [io.qua.rea.dat.run.ReactiveDatasourceHealthCheck] (vert.x-eventloop-thread-1) Error obtaining database connection for healthcheck of datasource '<default>': io.vertx.core.VertxException: SSL handshake failed
I've read that reactive and JDBC datasources couldn't be used simultaneously, but it doesn't seem to the case anymore.
My need for a reactive datasource exists because I use the Vert.x RabbitMQ client. This gave me a reactive consumer, so I couldn't use my JPA repositories any longer and had to resort to reactive datasource.
Is there some configuration I'm missing?