2017-10-04 9 views
1

J'utilise un consommateur Spring Kafka pour lire des messages sur le sujet de Kafka. Je persiste ceux-ci dans Oracle DB. Chaque fois qu'il y a une erreur de connexion DB, je souhaite effectuer une nouvelle tentative. J'utilise Spring JDBC pour me connecter à Oracle DB.Quelles sont les listes d'exceptions que je dois ajouter au cas où j'aurais besoin d'effectuer de nouvelles tentatives de connexion JDBC.Spring JDBC - Exceptions rémanentes pour Kafka Consumer

private static Map<Class<? extends Throwable>, Boolean> retryableExceptions; 

static{ 
    retryableExceptions = new HashMap<>(); 
    retryableExceptions.put(Exception.class, true); 
} 
protected RetryPolicy retryPolicy() { 
     SimpleRetryPolicy policy = new SimpleRetryPolicy(maxRetryAttempts, retryableExceptions); 
     return policy; 
} 

Répondre

1

Je pense que vous avez juste besoin que celui-ci:

/** 
* Data access exception thrown when a resource fails completely: 
* for example, if we can't connect to a database using JDBC. 
* 
* @author Rod Johnson 
* @author Thomas Risberg 
*/ 
@SuppressWarnings("serial") 
public class DataAccessResourceFailureException extends NonTransientDataAccessResourceException { 

Tant que vous utilisez JdbcTemplate pour effectuer une opération JDBC, toute erreur de bas niveau avec la connexion sont enveloppées à ce DataAccessResourceFailureException ou ses sous-classes.

+0

merci encore Artem! –