Délais de connexion à une base de données Postgres sur Amazon RDS à partir d'Azure

- Je obtenir de l'exception suivante dans mon application après avoir quitté une base de données de la connexion inactive pendant un certain laps de temps:

... An I/O error occured while sending to the backend.; nested exception is org.postgresql.util.PSQLException: An I/O error occured while sending to the backend.] with root cause

    java.net.SocketException: Operation timed out
        at java.net.SocketInputStream.socketRead0(Native Method)

Le même problème se produit dans psql ET je n'ai pas de problèmes de connexion à une base de données locale, donc je suis sûr que le problème est sur RDS.

psql=> select 'ok';
SSL SYSCALL error: Operation timed out
psql=> select 'ok';
SSL SYSCALL error: EOF detected
The connection to the server was lost. Attempting reset: Succeeded.

J'ai trouvé ce autre question qui suggère un travail autour de l'amélioration de la situation (délais d'attente maintenant prendre beaucoup plus de temps), mais n'ont pas le fixer.

Je suis en utilisant le Printemps de Démarrage avec JDBC (tomcat regroupement de connexion) et JDBCTemplate.

Est-il de contourner ou un correctif?
Peut-être forcer le pool de connexion pour le tester et de le reconnecter?
Comment dois-je faire dans ce contexte?

EDIT:
C'est ma chaîne de connexion

jdbc:postgresql://myhost.c2estvxozjm3.eu-west-1.rds.amazonaws.com/dashboard?tcpKeepAlive=true

SOLUTION:

Édité le serveur RDS côté TCP_KeepAlive paramètres comme suggéré dans la réponse choisie. Les paramètres que j'utilise sont:

tcp_keepalives_count      5
tcp_keepalives_idle     200
tcp_keepalives_interval 200

source d'informationauteur Cleber Goncalves