supose Je l'exemple suivant:Comment utiliser les conseillers en transactions avec des annotations?
@Transactional(propagation=Propagation.SUPPORTS, readOnly=true)
public class MyServiceImpl implements MyService {
...
@Transactional(propagation=Propagation.REQUIRED, readOnly=false)
public TransactionResponse addMyEntity(MyEntity e) throws SQLException{
...
}
...
}
Et dans mon applicationContext:
<tx:annotation-driven transaction-manager="txManager" />
Ok, maintenant je veux ajouter un intercepteur après l'annulation de la transaction si un SQLException est levée. Comment puis-je faire ceci?
Merci à l'avance
EDIT
Je vais essayer de clarifier ce que je suis en train de faire:
J'ai WS, qui persiste quelques informations sur une base de données et retourne une réponse (un booléen IsOk et un errorMessage si quelque chose a mal tourné)
Chaque fois qu'une exception est levée, je dois:
- Annule la transaction
- Générez la réponse avec le message d'erreur et renvoyez-la au client.
Il est comme un try/catch autour du proxy de transaction ressort
J'ai déjà résolu mon problème en ajoutant un try/catch au point de terminaison WS. J'ai oublié qu'il y avait une couche de plus au dessus de mon service. Le point de terminaison est hors de la transaction, donc je peux (et je sais maintenant que je dois) gérer la réponse dans le point de terminaison. Néanmoins, j'aimerais savoir s'il existe un moyen de faire ce que j'essayais de faire auparavant. – Neuquino
pouvez-vous montrer comment vous définissez votre aspect supplémentaire? (code xml et java) – Bozho