I have build application using micronaut r2dbc and postgresql r2dbc. I'm using AWS RDS for Database and I'm deploying docker image to AWS EKS and when I use AWS RDS credentials, I'm not able to connect with database.
"@timestamp":"2023-08-01T05:12:30.74Z","@version":"1","message":"Health indicator [r2dbc-connection-factory] reported exception: io.r2dbc.postgresql.PostgresqlConnectionFactory$PostgresConnectionException: Cannot connect to dburl/<unresolved>:2709","logger_name":"io.micronaut.management.health.indicator.HealthResult","thread_name":"reactor-tcp-epoll-1","level":"ERROR","level_value":40000,"stack_trace":"io.r2dbc.postgresql.PostgresqlConnectionFactory$PostgresConnectionException: Cannot connect to dburl/<unresolved>:2709\n\tat io.r2dbc.postgresql.PostgresqlConnectionFactory.cannotConnect(PostgresqlConnectionFactory.java:188)\n\tat io.r2dbc.postgresql.PostgresqlConnectionFactory.lambda$doCreateConnection$7(PostgresqlConnectionFactory.java:153)\n\tat reactor.core.publisher.Mono.lambda$onErrorMap$28(Mono.java:3763)\n\tat reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94)\n\tat reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180)\n\tat reactor.core.publisher.MonoDelayUntil$DelayUntilCoordinator.onError(MonoDelayUntil.java:200)\n\tat reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onError(FluxMapFuseable.java:142)\n\tat reactor.core.publisher.MonoFlatMap$FlatMapMain.onError(MonoFlatMap.java:180)\n\tat reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:201)\n\tat reactor.netty.resources.NewConnectionProvider$DisposableConnect.onError(NewConnectionProvider.java:154)\n\tat io.micronaut.reactive.reactor.instrument.ReactorSubscriber.onError(ReactorSubscriber.java:64)\n\tat reactor.core.publisher.MonoFlatMap$FlatMapMain.secondError(MonoFlatMap.java:241)\n\tat reactor.core.publisher.MonoFlatMap$FlatMapInner.onError(MonoFlatMap.java:315)\n\tat io.micronaut.reactive.reactor.instrument.ReactorSubscriber.onError(ReactorSubscriber.java:64)\n\tat reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:106)\n\tat io.micronaut.reactive.reactor.instrument.ReactorSubscriber.onError(ReactorSubscriber.java:64)\n\tat reactor.core.publisher.Operators.error(Operators.java:198)\n\tat reactor.core.publisher.MonoError.subscribe(MonoError.java:53)\n\tat reactor.core.publisher.Mono.subscribe(Mono.java:4444)\n\tat reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)\n\tat reactor.netty.transport.TransportConnector$MonoChannelPromise.tryFailure(TransportConnector.java:587)\n\tat reactor.netty.transport.TransportConnector$MonoChannelPromise.setFailure(TransportConnector.java:541)\n\tat reactor.netty.transport.TransportConnector.lambda$doConnect$7(TransportConnector.java:265)\n\tat io.opentelemetry.javaagent.instrumentation.netty.v4.common.FutureListenerWrappers$WrappedFutureListener.operationComplete(FutureListenerWrappers.java:106)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:590)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:583)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:559)\n\tat io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:492)\n\tat io.netty.util.concurrent.DefaultPromise.setValue0(DefaultPromise.java:636)\n\tat io.netty.util.concurrent.DefaultPromise.setFailure0(DefaultPromise.java:629)\n\tat io.netty.util.concurrent.DefaultPromise.tryFailure(DefaultPromise.java:118)\n\tat io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.fulfillConnectPromise(AbstractEpollChannel.java:674)\n\tat io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.finishConnect(AbstractEpollChannel.java:693)\n\tat io.netty.channel.epoll.AbstractEpollChannel$AbstractEpollUnsafe.epollOutReady(AbstractEpollChannel.java:567)\n\tat io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:489)\n\tat io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:397)\n\tat io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)\n\tat io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)\n\tat io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)\n\tat java.base/java.lang.Thread.run(Thread.java:833)\nCaused by:
This is my application.yml
r2dbc:
datasources:
default:
options:
driver: pool
protocol: postgresql
acquireRetry: 60
maxSize: 10
minIdle: 1
maxIdleTime: PT60M
url: ${DATABASE_URL:`r2dbc:postgresql://localhost:2709/back2`}
username: ${POSTGRES_USERNAME:`postgres`}
password: ${POSTGRES_PASSWORD:`chetan`}
dialect: POSTGRES
db-type: postgres
I tried adding Typehint annotation but it's still not working.