Bonjour
j'ai une application utilisant Blazeds, Spring et Hibernate côté serveur
je voudrais catcher les exceptions de Hibernate et envoyer mes propres exceptions et les récupérer côté client pour pouvoir gérer les exceptions mais le problème c'est que Spring catche mes exceptions et envoie les siens du coup je ne peux plus récupérer mes exceptions.
Par exemple quand un utilisateur s'inscrit à l'application, à la création du nouveau compte utilisateur Hibernate va envoyer une NonUniqueObjectException que je récupère et j'envoie mon exception
Code java : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 @Transactional public void createUser(UtilisateurVO user, int droit) throws Exception { try { utilisateurDAO.createUser(user); moduleDAO.setPrivileges(user, droit); } catch(NonUniqueObjectException e) { e.printStackTrace(); throw new RuntimeException("login non unique"); } }le message que je voie à la console n'est pas le message de mon exception mais c'est celui de l'exception de Spring
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 private function createUserFault(e:FaultEvent):void { button.enabled = true; ro.getOperation("createUser").removeEventListener(ResultEvent.RESULT, createUserResult); ro.getOperation("createUser").removeEventListener(FaultEvent.FAULT, createUserFault); var errorMessage:ErrorMessage = e.message as ErrorMessage; switch(errorMessage.rootCause.message) { case 'login non unique': Alert.show("le login que vous avez choisis est reservé, veuillez choisir un autre login"); break; } trace(errorMessage.rootCause.message); trace(errorMessage.rootCause.rootCause.message);
pour l'intégration de Spring et Blazeds j'utilise la technique su SpringFactory décrite dans ce tutorial : http://fponchel.developpez.com/tutor...lazeds-spring/JPA transaction unexpectedly rolled back (maybe marked rollback-only after a failed operation); nested exception is javax.persistence.RollbackException: Error while commiting the transaction
Error while commiting the transaction
Voilà je crois que le problème est clair, quelqu'un aurait une solution ?
Partager